我怎样才能从元图文件中恢复结构,然后只更改它放置在部署用途上的设备?
我已经使用相同的 python 脚本开始了几个不同的训练过程,但使用不同的可配置参数,例如:单元大小、层数、单元类型(LSTM 或 GRU)...我不想详细跟踪。我认为对我来说最方便的是简单地导入除模型的设备放置之外的所有内容,将其放置在设备上进行部署,并使用某些检查点文件中的预训练参数对其进行初始化。
由于我没有找到解决办法,有人可以解释一下吗?
freeze_graph
函数可以将模型导出到protobuf文件中。此函数具有参数 clear_devices
,可以将其设置为 True
以从图形定义中删除设备放置。
查看
freeze_graph
的源代码,您可以看到如何从图形定义中手动删除设备:
# Remove all the explicit device specifications for this node. This helps to
# make the graph more portable.
if clear_devices:
for node in input_graph_def.node:
node.device = ""
_ = tf.import_graph_def(input_graph_def, name="")