tensorflow - 尝试迁移学习时 imagenet 的密集层和卷积层之间的输入维度不匹配
问题描述
我正在尝试在 InceptionV3 的卷积层之上训练密集层。但我无法初始化全连接模型。我收到一个 ValueError。
model_inc = applications.InceptionV3(weights='imagenet',
include_top=False)
model = Sequential()
model.add(Flatten(input_shape=model_inc.output_shape[1:]))
model.add(Dense(256, activation= 'relu', kernel_initializer='he_normal'))
model.add(Dropout(0.5))
model.add(Dense(9, activation='softmax'))
我希望模型能够成功编译,但我得到“ValueError:“Flatten”的输入形状未完全定义(得到(None,None,2048)。确保传递完整的“input_shape”或“batch_input_shape”参数到模型的第一层。”
解决方案
你希望你的输入进入你的model_inc
,所以你必须在input_shape
那里定义。像下面这样的东西应该工作
model_inc = applications.InceptionV3(input_shape=(224,224,3), weights='imagenet',
include_top=False)
model = Sequential()
# you need to add your base model
model.add(model_inc)
model.add(Flatten())
model.add(Dense(256, activation= 'relu', kernel_initializer='he_normal'))
model.add(Dropout(0.5))
model.add(Dense(9, activation='softmax'))
推荐阅读
- java - 如何获取静态[]数组的源类
- groovy - 如何从列表中的字符串中删除扩展名(groovy)?
- c# - 以最简单的方式使用 Microsoft Graph 查找电子邮件
- linux - kubernetes 在创建 pod 时出现 CrashLoopBackOff 错误
- c# - 十进制数逗号样式
- javascript - 打字稿:.JS文件中的react-redux,react-i18next HOC类型干扰?
- javascript - 打开后停止 $mdPanel 控制器调用
- javascript - 使用 JSON.stringify 将 JavaScript 对象转换为树
- python - Tensorflow - 如何在使用 tfrecord 文件进行训练期间增强图像和边界框
- visual-studio-code - 更漂亮的换行符不接受规则