Python Keras和Tensorflow:保存非序列模型权重
(我正在使用Tensorflow 1.8.0…) 本文没有提到保存序列模型与从函数API创建的模型之间的区别。但是,以下所有代码块都失败:Python Keras和Tensorflow:保存非序列模型权重,python,tensorflow,keras,python-3.6,Python,Tensorflow,Keras,Python 3.6,(我正在使用Tensorflow 1.8.0…) 本文没有提到保存序列模型与从函数API创建的模型之间的区别。但是,以下所有代码块都失败: import tensorflow as tf net = tf.keras.models.Model() net.save('file') 或 或 或 它们会引发一个未实现错误。在Keras模块中,相关行为 if not self._is_graph_network: raise NotImplementedError 它显示在.save和get\
import tensorflow as tf
net = tf.keras.models.Model()
net.save('file')
或
或
或
它们会引发一个未实现错误。在Keras模块中,相关行为
if not self._is_graph_network:
raise NotImplementedError
它显示在.save
和get\u config
中(后者也被调用为\u json
和调用为\u yaml
)
唯一起作用的是以下几点
import tensorflow as tf
net = tf.keras.models.Model()
net.save_weights('file')
在这种情况下,重量已成功保存,并可通过net.load\u weights
成功加载
但是,将上述代码块的第二行,net=tf.keras.models.Model()
,替换为net=tf.keras.models.Sequential()
,使net成为一个顺序模型,可以让上面的一切正常工作
是否真的不可能保存使用功能API制作的Keras模型的结构(使用模型
而不是顺序
)?现在,我们只能保存权重吗?当然可以保存模型,您所有的示例都有一个空模型,保存没有意义。Keras的作者根本没有实现这种情况
如果您使用非空模型进行测试,您将看到保存工作非常完美。我们每天都使用它。您是否考虑过您的所有模型都是空的,这就是为什么保存失败的原因?实际上我没有,这很讽刺,因为我刚刚回答了一个关于该主题的问题。我将使用一些变量进行尝试并进行更新。谢谢!您不必尝试,我们知道保存一个模型是有效的,我每天都这样做,你声称这个模型没有以某种方式实现是荒谬的。Keras提出的NotImplementedError
不是荒谬的,而是可重复和可验证的。老实说,这是一个误导性错误。但那只是因为模型是空的,没有什么可保存的。你知道吗直接问是否可以保存模型。我也有同样的问题。对于普通模型。我可以拟合此模型并对其进行评估,但无法保存:(@redyed)他们提出了一个新问题,仅仅说我也有此问题并不是真的有用。细节很重要。
import tensorflow as tf
net = tf.keras.models.Model()
print(net.get_config())
if not self._is_graph_network:
raise NotImplementedError
import tensorflow as tf
net = tf.keras.models.Model()
net.save_weights('file')