Keras:保存模型不会在deconv2D中保存输出形状

2024-09-29 17:18:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用keras的最新版本和tensorflow 0.10。在

我遇到了磁盘上模型序列化的问题。在

我定义了一个模型:

model.add(Deconvolution2D(64,3,3, output_shape=(32, 8, 8, 64),border_mode='same', activation='relu'))
model.add(Deconvolution2D(64,3,3, output_shape=(32, 8, 8, 64), border_mode='same', activation='relu'))
model.add(UpSampling2D(size=(2,2)))

(我不能在输出形状中使用可变的批量大小,比如(None,8,8,64),但这是另一个问题)

一切都很好,我可以训练、预测等。 但是当我试图用model.save(...)在磁盘上保存并用keras.models.load_model(...)加载时,我得到了以下结果: TypeError: Expected binary or unicode string, got None

检查并保存了之前描述的配置文件:

^{pr2}$

注意"output_shape": [null,...

而且,model.summary()给了我:deconvolution2d_2 (Deconvolution2(None, 8, 8, 64)

所以我有两个问题:

  • 我可以保存固定输出形状吗?在
  • 有没有办法在conv2d和tensorflow的output_shape中使用动态批号?(在图层定义中使用“无”给了我同样的错误)

谢谢斯塔克弗罗夫的伙计们


Tags: 模型noneaddoutputmodel定义modetensorflow

热门问题