在Tensorflow中删除``初始化器''层

时间:2019-06-05 17:35:01

标签: python tensorflow

我试图将训练有素的模型保存到文件中,以发送到推理服务器,然后对其进行基准测试。唯一的问题是我的模型(使用keras)仍然具有init层(例如conv1 / weights / RandomUniform),无法在我正在进行基准测试的设备上运行。

那么,如何从图形中删除所有这些图层?

我尝试使用tfgraph.finalize()convert_variables_to_constantsremove_training_nodes,但似乎没有一个删除这些节点。

它打破的确切层是: 'res_net50/conv1/kernel/Initializer/random_uniform/RandomUniform'

1 个答案:

答案 0 :(得分:0)

通过strip_unused_nodes转换,您可以提供一组输入和输出节点。图转换工具将删除图的所有不馈入输出节点的分支。

话虽如此,我的直觉是删除初始化节点不会对推理时间产生重大影响,因为不会评估操作。但是,如果不修剪它们,确实会消耗一些内存。