美文网首页
Keras.model.save() 引发 NotImpleme

Keras.model.save() 引发 NotImpleme

作者: EvanNightly | 来源:发表于2018-10-02 11:50 被阅读0次

「机器学习入坑指南(九):TensorFlow 实战——手写数字识别(MNIST 数据集)」一文中,我们实现了一个模型,完整的代码如下(原文有详细解析):

import tensorflow as tf  

mnist = tf.keras.datasets.mnist  
(x_train, y_train),(x_test, y_test) = mnist.load_data()  

x_train = tf.keras.utils.normalize(x_train, axis=1) 
x_test = tf.keras.utils.normalize(x_test, axis=1)  

model = tf.keras.models.Sequential()  
model.add(tf.keras.layers.Flatten())  # 把图片展平成 1x784,这里应该指定 shape 
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))  
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu)) 
model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))  

model.compile(optimizer='adam',  
              loss='sparse_categorical_crossentropy',  
              metrics=['accuracy'])  

model.fit(x_train, y_train, epochs=3)  

val_loss, val_acc = model.evaluate(x_test, y_test)  
print(val_loss)  
print(val_acc)  

如果我们想保存这个模型,可以使用如下代码

model.save('epic_num_reader.model')

然后就会不幸地引发 NotImplementedError


image

为了解决这个问题折腾了半天,后来在 Stack Overflow 上提问,大神告诉我是因为我没有给第一层设置 input_shape 参数,导致模型没有明确的定义,而 Keras 并没有实现保存未定义的模型的方法,从而引发了这个错误。

于是,把添加第一层的代码改为

model.add(tf.keras.layers.Flatten(input_shape=(28,28))) #因为输入的是 28x28 的图像(矩阵)

再次保存模型,就不会报错啦!

欢迎访问 Evan 的博客

相关文章

  • Keras.model.save() 引发 NotImpleme

    在「机器学习入坑指南(九):TensorFlow 实战——手写数字识别(MNIST 数据集)」一文中,我们实现了一...

  • 如何引发经营动机  陈树英

    一、为何引发经营动机? 二、D的重要性? 三、引发经营动机提前? 四、引发对象? 五、如何引发经营动机? 六、借力...

  • 引发

    我的燃料,是一堆脂肪, 一早,天空的回响,引发所有的物体, 太阳,让回响引发,射出光芒, 时间,被引发,转动指针,...

  • 一文就能全部搞定!Python技能提升——异常传播轨迹

    当程序出现错误时,系统会自动引发异常,除此之外,Python也允许程序自行引发异常,自行引发异常使用raise语句...

  • 2022-09-23情绪日记模版

    情绪日志模板: 1. 引发情绪的事件: 外在因素——形容引发的情景 内在因素——被什么思想或回忆引发 2. 形容你...

  • 异常引发和断言

    引发异常 您可以使用 raise 语句引发异常。 print(1) raise ValueError print(...

  • 真实案例引发的 iOS 底层实现窥探

    真实案例引发的 iOS 底层实现窥探真实案例引发的 iOS 底层实现窥探

  • 第三课 微头条写这8大内容,最容易获得10万+流量

    一、微头条素材特点 1、稀缺性,引发读者思考 2、话题性,引发读者讨论,引发共鸣,如育儿,中高考等 3、茅盾冲突性...

  • 2018-11-13阅读笔记

    从零开始学写作 怎样写出爆款标题 1,提出疑问,为什么,原因是 2,引发共鸣类 3,设置悬念,引发好奇类 4,引发...

  • 创造财富的根源

    快乐是一种状态,你不能刻意快乐,你只能是幸福和快乐的。创造的方式如下:存在状态引发思绪,思绪引发言谈,言谈引发行...

网友评论

      本文标题:Keras.model.save() 引发 NotImpleme

      本文链接:https://www.haomeiwen.com/subject/tanooftx.html