python - tensorflow 如何从元恢复图形并将其放置在不同的设备上

标签 python graph tensorflow meta

我怎样才能从元图文件中恢复结构,然后只更改它放置在部署用途上的设备?

我已经使用相同的 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="")

关于python - tensorflow 如何从元恢复图形并将其放置在不同的设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38258121/

相关文章:

python - 为什么 Holoviews 在 Spyder 中不显示直方图?

c# - .NET/Silverlight/JavaScript/Flash 上的有向图布局引擎

c - 如何用c程序绘制数据?

python - Numba 可以与 TensorFlow 一起使用吗?

python - 是否可以使用 float16 来训练 Tensorflow 1?

Python: Mechanize 无法找到所有表单输入

python - Pika:消费下一条消息,即使上一条消息未被确认

perl - 如何使用perl处理图论相关问题

python - Tensorflow 无法检测到我的 RTX 3050 笔记本 GPU

python - 如何在jenkins中运行Python selenium脚本?