首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载VGG16模型权重

无法加载VGG16模型权重
EN

Stack Overflow用户
提问于 2018-04-20 05:56:13
回答 1查看 694关注 0票数 1

我使用这段代码来创建我自己的VGG16网络:

代码语言:javascript
复制
# build the VGG16 network
model = Sequential()
model.add(ZeroPadding2D((1, 1), input_shape=(3, img_width, img_height)))
model.add(Convolution2D(64, 3, 3, activation='relu', name='conv1_1'))
model.add(ZeroPadding2D((1, 1)))
model.add(Convolution2D(64, 3, 3, activation='relu', name='conv1_2'))
model.add(MaxPooling2D((2, 2), strides=(2, 2), dim_ordering="th"))
model.add(ZeroPadding2D((1, 1)))
model.add(Convolution2D(128, 3, 3, activation='relu', name='conv2_1'))
model.add(ZeroPadding2D((1, 1)))
model.add(Convolution2D(128, 3, 3, activation='relu', name='conv2_2'))
model.add(MaxPooling2D((2, 2), strides=(2, 2), dim_ordering="th"))

# load the weights of the VGG16 networks
f = h5py.File(weights_path)
for k in range(f.attrs['nb_layers']):
    if k >= len(model.layers):
    # we don't look at the last (fully-connected) layers in the savefile
        break
    g = f['layer_{}'.format(k)]
    weights = [g['param_{}'.format(p)] for p in range(g.attrs['nb_params'])]
    model.layers[k].set_weights(weights)
f.close()
print('Model loaded.')

但是当我调用我的方法时,它崩溃了:

ValueError:层重形状(3L,3L,3L,64L)与提供的重量形状(64,3,3,3)不兼容

我设置了K.set_image_dim_ordering('th'),但它仍然崩溃。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2019-04-09 21:24:51

如果您已经下载了 weights,那么您应该使用“tf”命令作为

代码语言:javascript
复制
K.set_image_dim_ordering('tf')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49934926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档