我尝试保存一个带有tensorflow 代理的模型,首先我定义了以下内容:
collect_policy = tf_agent.collect_policy
saver = PolicySaver(collect_policy, batch_size=None)
然后像这样保存模型:
saver.save('my_directory/')
这在Google Colab中工作正常,但我在本地PC中遇到以下错误。
AttributeError: module 'tensorflow.python.saved_model.nested_structure_coder' has no attribute 'StructureCoder'
以下是我正在使用的库版本:
tensorflow 2.9.1
转移因子0.11.0
1条答案
按热度按时间q9yhzks01#
铊;医生
确保您拥有与2.9.x和tf-agents 0.11.0兼容的正确的tensorflow 概率版本
(
0.19.0
用于TF2.11
,0.18.0
用于TF2.10
或查看release notes)同时确保从笔记本电脑重新启动内核。
问题是什么
StructureCoder已移至tensorflow API。因此,其他相关库已进行了更改,如this in tf-agent和tensorflow-probability中的以下更改。您的计算机正在以某种方式获取依赖于先前版本
nested_structure_coder
的旧版本。对我来说,我使用的是
tensorflow 2.9.0
tf-agents 0.13.0
tensorflow-probabilities 0.17.0
尝试在笔记本中进行显式导入: