如何解决将cnn模型转换为tensorflowlite,输入0错误
我正在尝试使用我在 github 上找到的 tensorflow lite 转换一些模型,但是我尝试传递此错误的所有内容都不起作用。我发现了类似的问题,但对我没有任何作用。这是一个使用 2 个输入标题和文本的二元分类模型,我在我的嵌入层上得到它。
模型:
`text_input = tf.keras.layers.Input(
shape=(MAX_TEXT,),name='article_body_input')
text_embed = tf.keras.layers.Embedding(
vocab_size + 1,50,input_length=MAX_TEXT,name='article_body_embedding')(text_input)
text_conv = tf.keras.layers.Conv1D(
256,10,name='article_body_conv')(text_embed)
text_pool = tf.keras.layers.GlobalMaxPool1D(
name='article_body_pooling')(text_conv)
title_input = tf.keras.layers.Input(
shape=(MAX_TITLE,name='article_title_input')
title_embed = tf.keras.layers.Embedding(
vocab_size + 1,input_length=MAX_TITLE,name='article_title_embedding')(title_input)
title_conv = tf.keras.layers.Conv1D(
256,3,name='article_title_conv')(title_embed)
title_pool = tf.keras.layers.GlobalMaxPool1D(
name='article_title_pooling')(title_conv)
concat = tf.keras.layers.concatenate([text_pool,title_pool])
dense_100 = tf.keras.layers.Dense(100,activation='relu')(concat)
dense_50 = tf.keras.layers.Dense(50,activation='relu')(dense_100)
out_layer = tf.keras.layers.Dense(1,activation='sigmoid')(dense_50)
model = tf.keras.models.Model(
inputs=[text_input,title_input],outputs=out_layer)`
尝试用这种简单的方法转换它:
`tf.keras.backend.set_learning_phase(0)
converter.experimental_new_converter = True
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()`
但是我尝试的所有操作我都不断收到节点错误的 Input 0 我希望得到一些提示,提前致谢。 :
`---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
~\Anaconda3\lib\site-packages\tensorflow_core\python\framework\importer.py in _import_graph_def_internal(graph_def,input_map,return_elements,validate_colocation_constraints,name,op_dict,producer_op_list)
500 results = c_api.TF_GraphImportGraphDefWithResults(
--> 501 graph._c_graph,serialized,options) # pylint: disable=protected-access
502 results = c_api_util.ScopedTFImportGraphDefResults(results)
InvalidArgumentError: Input 0 of node model/article_title_embedding/embedding_lookup was passed float from model/article_title_embedding/embedding_lookup/Read/ReadVariableOp/resource:0 incompatible with expected resource.
During handling of the above exception,another exception occurred:
ValueError Traceback (most recent call last)
<ipython-input-99-c548bab089a8> in <module>
----> 1 tflite_model = converter.convert()
~\Anaconda3\lib\site-packages\tensorflow_core\lite\python\lite.py in convert(self)
403
404 frozen_func = _convert_to_constants.convert_variables_to_constants_v2(
--> 405 self._funcs[0],lower_control_flow=False)
406 input_tensors = [
407 tensor for tensor in frozen_func.inputs
~\Anaconda3\lib\site-packages\tensorflow_core\python\framework\convert_to_constants.py in convert_variables_to_constants_v2(func,lower_control_flow)
573 output_graph_def.versions.CopyFrom(graph_def.versions)
574 return _construct_concrete_function(func,output_graph_def,--> 575 converted_input_indices)
~\Anaconda3\lib\site-packages\tensorflow_core\python\framework\convert_to_constants.py in _construct_concrete_function(func,converted_input_indices)
369 new_func = wrap_function.function_from_graph_def(output_graph_def,370 new_input_names,--> 371 new_output_names)
372
373 # Manually propagate shape for input tensors where the shape is not correctly
~\Anaconda3\lib\site-packages\tensorflow_core\python\eager\wrap_function.py in function_from_graph_def(graph_def,inputs,outputs)
618 importer.import_graph_def(graph_def,name="")
619
--> 620 wrapped_import = wrap_function(_imports_graph_def,[])
621 import_graph = wrapped_import.graph
622 return wrapped_import.prune(
~\Anaconda3\lib\site-packages\tensorflow_core\python\eager\wrap_function.py in wrap_function(fn,signature,name)
596 signature=signature,597 add_control_dependencies=False,--> 598 collections={}),599 variable_holder=holder,600 signature=signature)
~\Anaconda3\lib\site-packages\tensorflow_core\python\framework\func_graph.py in func_graph_from_py_func(name,python_func,args,kwargs,func_graph,autograph,autograph_options,add_control_dependencies,arg_names,op_return_value,collections,capture_by_value,override_flat_arg_shapes)
913 converted_func)
914
--> 915 func_outputs = python_func(*func_args,**func_kwargs)
916
917 # invariant: `func_outputs` contains only Tensors,CompositeTensors,~\Anaconda3\lib\site-packages\tensorflow_core\python\eager\wrap_function.py in __call__(self,*args,**kwargs)
81
82 def __call__(self,**kwargs):
---> 83 return self.call_with_variable_creator_scope(self._fn)(*args,**kwargs)
84
85 def call_with_variable_creator_scope(self,fn):
~\Anaconda3\lib\site-packages\tensorflow_core\python\eager\wrap_function.py in wrapped(*args,**kwargs)
87 def wrapped(*args,**kwargs):
88 with variable_scope.variable_creator_scope(self.variable_creator_scope):
---> 89 return fn(*args,**kwargs)
90
91 return wrapped
~\Anaconda3\lib\site-packages\tensorflow_core\python\eager\wrap_function.py in _imports_graph_def()
616
617 def _imports_graph_def():
--> 618 importer.import_graph_def(graph_def,name="")
619
620 wrapped_import = wrap_function(_imports_graph_def,[])
~\Anaconda3\lib\site-packages\tensorflow_core\python\util\deprecation.py in new_func(*args,**kwargs)
505 'in a future version' if date is None else ('after %s' % date),506 instructions)
--> 507 return func(*args,**kwargs)
508
509 doc = _add_deprecated_arg_notice_to_docstring(
~\Anaconda3\lib\site-packages\tensorflow_core\python\framework\importer.py in import_graph_def(graph_def,producer_op_list)
403 name=name,404 op_dict=op_dict,--> 405 producer_op_list=producer_op_list)
406
407
~\Anaconda3\lib\site-packages\tensorflow_core\python\framework\importer.py in _import_graph_def_internal(graph_def,producer_op_list)
503 except errors.InvalidArgumentError as e:
504 # Convert to ValueError for backwards compatibility.
--> 505 raise ValueError(str(e))
506
507 # Create _DefinedFunctions for any imported functions.
ValueError: Input 0 of node model/article_title_embedding/embedding_lookup was passed float from model/article_title_embedding/embedding_lookup/Read/ReadVariableOp/resource:0 incompatible with expected resource.`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。