TensorFlow.js转换ssd_mobilenet_v1_coco模型报错:文件未找到
解决tensorflowjs_converter文件未找到错误的方案
看起来你在Windows环境下转换TensorFlow SavedModel到TensorFlow.js格式时遇到了路径相关的问题——明明文件实际存在,但命令解析时没能正确识别路径。下面是几个针对性的解决办法:
1. 修正路径分隔符的转义问题
Windows系统下路径分隔符是反斜杠\,但在命令行中它会被当作转义字符处理,导致路径解析异常。你可以试试两种调整方式:
- 把反斜杠替换成正斜杠
/:C:\Users\Jonas\AppData\Roaming\Python\Python36\Scripts\tensorflowjs_converter --input_format=tf_saved_model --output_node_names='image_tensor, detection_boxes, detection_scores, detection_classes, num_detections' /saved_model/saved_model /saved_model/web_model - 或者用双反斜杠
\\来转义单个反斜杠:C:\Users\Jonas\AppData\Roaming\Python\Python36\Scripts\tensorflowjs_converter --input_format=tf_saved_model --output_node_names='image_tensor, detection_boxes, detection_scores, detection_classes, num_detections' \\saved_model\\saved_model \\saved_model\\web_model
2. 改用绝对路径替代相对路径
你当前使用的\saved_model\saved_model是相对路径,可能命令执行的工作目录和你预期的不一致,导致找不到目标文件。建议直接使用完整的绝对路径,比如假设你的模型存放在C:\MyProjects\detect-app\saved_model下:
C:\Users\Jonas\AppData\Roaming\Python\Python36\Scripts\tensorflowjs_converter --input_format=tf_saved_model --output_node_names='image_tensor, detection_boxes, detection_scores, detection_classes, num_detections' C:\MyProjects\detect-app\saved_model\saved_model C:\MyProjects\detect-app\saved_model\web_model
3. 切换到模型目录后执行命令
先通过cd命令进入saved_model所在的文件夹,再执行转换命令,这样路径的指向会更明确,减少出错概率:
cd C:\MyProjects\detect-app\saved_model C:\Users\Jonas\AppData\Roaming\Python\Python36\Scripts\tensorflowjs_converter --input_format=tf_saved_model --output_node_names='image_tensor, detection_boxes, detection_scores, detection_classes, num_detections' ./saved_model ./web_model
4. 确认SavedModel的结构完整性
别忘了检查你的\saved_model\saved_model目录下是否包含SavedModel的核心文件:saved_model.pb和variables文件夹。如果缺少这些文件,即使路径正确,也会触发文件未找到的错误。
另外,如果你已经把tensorflowjs添加到系统环境变量里,还可以简化命令,直接用tensorflowjs_converter代替完整的脚本路径,这样也能避免路径输入错误。
内容的提问来源于stack exchange,提问作者Jonas Stepanik
相关产品推荐
相关产品推荐

