You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Jupyter Notebook下载VGG16模型,如何加载本地预训练权重?

如何手动加载VGG16预训练权重到Keras模型

别担心,这个问题很常见,我来一步步教你怎么解决:

首先,你原来的代码vgg16 = keras.applications.vgg16.VGG16()会自动尝试下载预训练权重,现在你已经手动下载好了权重文件,只需要调整两行代码就能完成加载:

步骤1:创建不带预训练权重的模型结构

先初始化一个空的VGG16模型(只保留网络结构,不加载权重),只需要给weights参数传None就行:

from tensorflow import keras
from keras.applications.vgg16 import VGG16

# 创建空的VGG16模型结构
vgg16 = VGG16(weights=None)

步骤2:加载手动下载的权重文件

用模型的load_weights()方法,传入你下载的.h5权重文件路径。如果文件和你的Jupyter Notebook脚本在同一个文件夹里,直接写文件名就行;如果不在,要写完整的绝对路径:

# 加载本地权重文件,替换成你的文件实际路径
vgg16.load_weights('vgg16_weights_tf_dim_ordering_tf_kernels.h5')

额外注意事项

  • 一定要确保文件名和路径完全正确,大小写也要匹配(比如Linux/macOS系统区分大小写)
  • 你下载的这个权重文件是针对TensorFlow维度顺序的,和VGG16()的默认设置(input_shape的维度顺序是(height, width, channels))完全兼容,所以不需要额外调整参数
  • 如果加载后想验证是否成功,可以试试打印模型的某一层权重,比如print(vgg16.layers[1].get_weights()),能输出权重值就说明加载成功了

内容的提问来源于stack exchange,提问作者Glorya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:25:54