gpt4 book ai didi

python - 移动网V2 : Importing graph with lower producer version into a graph with higher producer version

转载 作者:行者123 更新时间:2023-12-01 08:56:28 25 4
gpt4 key购买 nike

我正在开发一个迁移学习应用程序,我正在其中针对我的数据流重新训练 MobileNetV2。

我正在使用 retrain.py 重新训练模型来自tensorflow-hub并且没有做任何修改。

当我从终端运行脚本时,在模型下载到用户配置文件中的临时目录后,我立即收到此警告。

Importing a graph with a lower producer version 26 into an existing graph with producer 
version 27. Shape inference will have run different parts of the graph with different
producer versions.

在调试过程中,我创建了一个 test.py 脚本来找出警告的来源:

import tensorflow as tf
import tensorflow_hub as hub

def create_module_graph(module_spec):
"""Creates a graph and loads Hub Module into it.

Args:
module_spec: the hub.ModuleSpec for the image module being used.

Returns:
graph: the tf.Graph that was created.
bottleneck_tensor: the bottleneck values output by the module.
resized_input_tensor: the input images, resized as expected by the module.
wants_quantization: a boolean, whether the module has been instrumented
with fake quantization ops.
"""
FAKE_QUANT_OPS = ('FakeQuantWithMinMaxVars',
'FakeQuantWithMinMaxVarsPerChannel')
height, width = hub.get_expected_image_size(module_spec)
with tf.Graph().as_default() as graph:
resized_input_tensor = tf.placeholder(tf.float32, [None, height, width, 3])
m = hub.Module(module_spec)
bottleneck_tensor = m(resized_input_tensor)
wants_quantization = any(node.op in FAKE_QUANT_OPS
for node in graph.as_graph_def().node)
return graph, bottleneck_tensor, resized_input_tensor, wants_quantization


def main():



module_spec = hub.load_module_spec('https://tfhub.dev/google/imagenet/mobilenet_v2_100_96/classification/2')

graph, bottleneck_tensor, resized_input_tensor, wants_quantization = create_module_graph(module_spec)



if __name__ =='__main__':
main()

发现它源自于retrain.py中的create_module_graph函数。当我使用 python test.py 从终端运行脚本时,我收到上面的生产者警告。但是,当我从 ipython 控制台运行 main() 时,我没有收到生产者版本警告。

我不确定为什么会发生这种情况,因为我所做的只是从 tensorflow-hub 存储库创建一个图表。我查看了version compatibility docs并且没有看到任何与该错误特别相关的内容。翻源码code ,这似乎表明我的图在构建之前已降低到最低版本。

  1. 这是值得担心的事情吗?
  2. 它会改变您加载图表以进行预测的方式吗?

最佳答案

来 self 的tensorflow-hub issue :

TensorFlow Hub 模块的核心包含 tf.GraphDefs,这些模块具有格式版本号,可帮助将图形正确导入到较新版本的 TensorFlow 中。碰巧的是,在 2018 年 3 月 31 日公开发布的 TF-Hub 模块上传和当前 TensorFlow 版本之间,该格式版本从 26 增加到 27。

但是,我们目前不知道所报告的形状推断变化对模块用户有任何明显影响,因此我们当前的建议是忽略这些警告。他们将与下次刷新模块。

关于python - 移动网V2 : Importing graph with lower producer version into a graph with higher producer version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52743995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com