【发布时间】:2019-01-05 08:26:33
【问题描述】:
- 我正在使用 tensorflow 对象检测 API。
- 我已经在远程服务器 GPU 上进行了训练,并保存了冻结的模型和检查点。
- 之后,我将该冻结模型与检查点一起复制到我的本地计算机,然后使用脚本“object_detection_tutorial.ipnyb”对我的测试数据执行测试
当我运行此单元格“将(冻结的)Tensorflow 模型加载到内存中”时,它会给出invalid argument 错误。
您能否解释一下在我的本地机器上运行保存模型时的问题?培训和测试是否必须在同一台机器上进行?我遇到了以下错误:
InvalidArgumentError Traceback(最近调用 最后的) ~/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/importer.py 在 import_graph_def(graph_def, input_map, return_elements, name, op_dict, producer_op_list) 417 结果 = c_api.TF_GraphImportGraphDefWithResults( --> 418 graph._c_graph, serialized, options) # pylint: disable=protected-access 419 个结果 = c_api_util.ScopedTFImportGraphDefResults(results)
InvalidArgumentError: NodeDef 提到 attr 'T' 不在 操作 selected_indices:int32>;节点定义:{{节点 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/non_max_suppression/NonMaxSuppressionV3}} = NonMaxSuppressionV3[T=DT_FLOAT](后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/unstack, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/Reshape, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/Minimum, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/non_max_suppression/iou_threshold, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/non_max_suppression/score_threshold)。 (检查您的 GraphDef 解释二进制文件是否是最新的 您的 GraphDef 生成二进制文件。)。
在处理上述异常的过程中,又发生了一个异常:
ValueError Traceback(最近调用 最后)在 5 serialized_graph = fid.read() 6 od_graph_def.ParseFromString(serialized_graph) ----> 7 tf.import_graph_def(od_graph_def, name='')
~/anaconda3/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py 在 new_func(*args, **kwargs) 486 'in a future version' if date is None else ('after %s' % date), 487条指令) --> 488 返回函数(*args, **kwargs) 第489章 第490章 _add_deprecated_arg_notice_to_docstring(
~/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/importer.py 在 import_graph_def(graph_def, input_map, return_elements, name, op_dict, producer_op_list) 420 除了errors.InvalidArgumentError as e: 421 # 转换为 ValueError 以实现向后兼容性。 --> 422 引发 ValueError(str(e)) 423 424 # 为任何导入的函数创建_DefinedFunctions。
ValueError: NodeDef 提到 attr 'T' 不在 操作 selected_indices:int32>;节点定义:{{节点 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/non_max_suppression/NonMaxSuppressionV3}} = NonMaxSuppressionV3[T=DT_FLOAT](后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/unstack, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/Reshape, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/Minimum, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/non_max_suppression/iou_threshold, 后处理器/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/non_max_suppression/score_threshold)。 (检查您的 GraphDef 解释二进制文件是否是最新的 您的 GraphDef 生成二进制文件。)。
【问题讨论】:
标签: python python-3.x tensorflow object-detection-api