Python 冻结图和写入图有什么区别?

Python 冻结图和写入图有什么区别?,python,tensorflow,Python,Tensorflow,谷歌表示: 但据我所知,如果我想使用tensorflow推理,我需要protobuf文件(.pb),我可以使用freeze_图方法得到它。那么这两者之间的区别是什么呢?作为一个提醒,TensorFlow 2.x中通常不推荐使用冻结图。您应该在Tensorflow 2.x中使用相同的功能。我将从TensorFlow 1.x的角度回答这个问题 在理解两者之间的区别之前,您需要了解TensorFlow模型是如何形成的 每个TensorFlow模型都由一个图形数据结构组成,其中包含作为计算单元的操作对象

谷歌表示:

但据我所知,如果我想使用tensorflow推理,我需要protobuf文件(.pb),我可以使用freeze_图方法得到它。那么这两者之间的区别是什么呢?

作为一个提醒,TensorFlow 2.x中通常不推荐使用
冻结图。您应该在Tensorflow 2.x中使用相同的功能。我将从TensorFlow 1.x的角度回答这个问题

在理解两者之间的区别之前,您需要了解TensorFlow模型是如何形成的

每个TensorFlow模型都由一个图形数据结构组成,其中包含作为计算单元的操作对象和作为在它们之间流动的数据单元的TensorFlow对象

然而,仅仅一张图还不足以做任何类似推理的事情。训练模型时,它将学习并优化图形不同部分的一组唯一参数

然后,PB文件包括这两部分——表示模型结构的图形,以及模型通过训练学习到的参数

那么回到原来的问题:
write\u graph
freeze\u graph
之间有什么区别

  • write_graph
    将模型(结构)的图形写入PB文件。
    • 这不需要任何培训,因此它不包括模型可能已学习到的任何参数
  • freeze_graph
    从训练检查点获取模型的训练参数,并将其保存到PB文件中