【发布时间】:2022-01-28 18:56:09
【问题描述】:
我试图使用以下代码将 tensorflow-hub(.pb) 中的 BigGAN 模型转换为 TensorFlow Lite 文件 (.tflite):
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import numpy as np
import tensorflow_hub as hub
module_path = 'https://tfhub.dev/deepmind/biggan-deep-256/1'
tf.compat.v1.reset_default_graph()
print('Loading BigGAN module from:', module_path)
module = hub.Module(module_path)
dummy_inputs = {
"y": tf.compat.v1.placeholder(tf.float32, [1, 1000], 'y'),
"z": tf.compat.v1.placeholder(tf.float32, [1, 128], 'z'),
"truncation": tf.compat.v1.placeholder(tf.float32, [], 'truncation'),
}
dummy_output = module(dummy_inputs)
print('dummy_Inputs:\n', '\n'.join(
' {}: {}'.format(*kv) for kv in dummy_inputs.items()))
print('dummy_Output:', dummy_output)
initializer = tf.global_variables_initializer()
sess = tf.Session()
sess.run(initializer)
save_path = "./big_gan.tflite"
_input = [dummy_inputs[k] for k in dummy_inputs]
converter = tf.lite.TFLiteConverter.from_session(sess, _input, [dummy_output])
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.experimental_new_converter = True
# errors here
tflite_model = converter.convert()
open(save_path, "wb").write(tflite_model)
返回的信息:
2022-01-28 17:10:30.240145: E tensorflow/core/grappler/grappler_item_builder.cc:670] Init node AssignVariableOp_1003 doesn't exist in graph
2022-01-28 17:10:33.853842: W tensorflow/compiler/mlir/lite/python/tf_tfl_flatbuffer_helpers.cc:363] Ignored output_format.
2022-01-28 17:10:33.853899: W tensorflow/compiler/mlir/lite/python/tf_tfl_flatbuffer_helpers.cc:366] Ignored drop_control_dependency.
抛出错误:
ConverterError: Input 0 of node module_apply_default/cond/AssignVariableOp was passed float from module_apply_default/cond/AssignVariableOp/Switch:0 incompatible with expected resource.
模块在"Example use"之后按预期工作,可以正常生成图像。
谁能帮我理解Init node AssignVariableOp_1003 doesn't exist in graph 的含义以及如何修复错误?
【问题讨论】:
-
你的 tensorflow 版本是什么?
-
我的tensorflow版本是2.7,python是3.7.11。
-
不是,在我自己的电脑上,但是我之前在colab上体验过biggan demo,部分代码是从colab demo中复制过来的。
-
谢谢!!!转换成功,使用tensorflow 1.15和python 1.6,tensorflow 1.5不支持tensorflow-hub。
标签: python tensorflow