当我运行此单元格“将(冻结的)Tensorflow模型加载到内存中”时,它会显示invalid argument
错误。
在本地计算机上运行保存模型时,您能解释什么问题吗?培训和测试必须在同一台机器上吗?遇到以下错误:
InvalidArgumentError跟踪(最近的调用) 持续) 〜/ anaconda3 / lib / python3.6 / site-packages / tensorflow / python / framework / importer.py 在import_graph_def(graph_def,input_map,return_elements,名称, op_dict,producer_op_list) (417)第417章 -> 418 graph._c_graph,序列化,选项)#pylint:disable = protected-access 419个结果= c_api_util.ScopedTFImportGraphDefResults(结果)
InvalidArgumentError:NodeDef不在其中提到attr'T' 运维 selected_indices:int32>; NodeDef:{{node 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / non_max_suppression / NonMaxSuppressionV3}} = NonMaxSuppressionV3 [T = DT_FLOAT](Postprocessor / BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / unstack, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression /重塑, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression /最小, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / non_max_suppression / iou_threshold, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / non_max_suppression / score_threshold)。 (检查您的GraphDef解释二进制文件是否与 您生成GraphDef的二进制文件。)
在处理上述异常期间,发生了另一个异常:
ValueError跟踪(最近的呼叫 最后) 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'在将来的版本中',如果日期为其他(在%s之后的%日期之后), 487条指令) -> 488 return func(* args,** kwargs) 第489章;重生(二更) 490_第490章
〜/ anaconda3 / lib / python3.6 / site-packages / tensorflow / python / framework / importer.py 在import_graph_def(graph_def,input_map,return_elements,名称, op_dict,producer_op_list) 420除了errors.InvalidArgumentError为e: 421#转换为ValueError以获得向后兼容性。 -> 422提高ValueError(str(e)) 423 424#为任何导入的函数创建_DefinedFunctions。
ValueError:NodeDef不在其中提到attr'T' 运维 selected_indices:int32>; NodeDef:{{node 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / non_max_suppression / NonMaxSuppressionV3}} = NonMaxSuppressionV3 [T = DT_FLOAT](Postprocessor / BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / unstack, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression /重塑, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression /最小, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / non_max_suppression / iou_threshold, 后处理器/ BatchMultiClassNonMaxSuppression / map / while / MultiClassNonMaxSuppression / non_max_suppression / score_threshold)。 (检查您的GraphDef解释二进制文件是否与 您生成GraphDef的二进制文件。)
答案 0 :(得分:0)
我有一个类似的问题。对我来说,解决方案是从TF1.9中获取我的GPU培训文件,并将它们移到我的本地TF1.5 CPU环境中(该环境不支持AVX指令)。然后,我从培训文件中在本地环境中创建了冻结模型,并成功使用了它。