Tensorflow 克拉斯五世。用于顺序模型的tf.keras编译命令

Tensorflow 克拉斯五世。用于顺序模型的tf.keras编译命令,tensorflow,keras,tf.keras,Tensorflow,Keras,Tf.keras,我一直在加快keras的速度,但没有意识到tf.keras也是一件事(对于新手来说,在python中使用导入很容易实现交叉)。在尝试将脚本从keras转换为tf.keras时,命令似乎不一致?一般来说,tf.keras应该遵循keras文档,还是偏离了keras文档 我的具体问题是,这适用于keras,但不适用于tf.keras: model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy

我一直在加快keras的速度,但没有意识到tf.keras也是一件事(对于新手来说,在python中使用导入很容易实现交叉)。在尝试将脚本从keras转换为tf.keras时,命令似乎不一致?一般来说,tf.keras应该遵循keras文档,还是偏离了keras文档

我的具体问题是,这适用于keras,但不适用于tf.keras:

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
这会产生以下错误:

ValueError: optimizer must be an instance of tf.train.Optimizer, not a <class 'str'>
ValueError:优化器必须是tf.train.optimizer的实例,而不是

这似乎与tf.keras文档()不一致。知道发生了什么吗?

事实证明,该错误是由于启用了tensorflow急切执行而导致的。我不太清楚为什么字符串表示法不起作用,而不是:

optimizer=tf.train.AdamOptimizer()

但这解决了问题。

您如何定义您的模型?请添加完整代码请提供最小代码和TensorFlow的版本。在为keras和tf.keras编写最小代码示例的过程中,我遇到了不同之处,即我为tf.keras中的失败案例启用了渴望执行。禁用此选项后,它将按预期工作。我会就此作一个简短的回答。