You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows10下运行TensorFlow for Poets的retrain.py脚本报错求助

解决Windows 10下TensorFlow for Poets运行retrain.py的问题

我来帮你搞定这两个在Windows上运行TensorFlow for Poets时的常见问题:

1. 修复"ERROR:tensorflow: Image directory '' not found"错误

这个错误大概率是命令行参数解析出了问题,结合你的命令来看,主要有两个可能的原因:

原因1:环境变量未设置或引用方式错误

你命令里用到了%ARCHITECTURE%变量,但Windows的命令提示符(cmd)和PowerShell对环境变量的引用规则不一样,而且如果没预先设置这个变量,它会被解析成空字符串,导致参数混乱:

  • 如果用cmd.exe,先执行这条命令设置模型架构(比如用inception_v3,你也可以换成mobilenet系列):
    set ARCHITECTURE=inception_v3
    
  • 如果用PowerShell,则用这个命令设置:
    $Env:ARCHITECTURE = "inception_v3"
    

原因2:换行符使用错误

Windows下的命令行换行符和Linux/macOS不一样:

  • cmd里要用^作为换行续行符,而不是\
  • PowerShell里要用反引号`作为换行续行符

修正后的完整命令示例(以cmd为例):

python retrain.py ^
--bottleneck_dir=tf_files/bottlenecks ^
--how_many_training_steps=500 ^
--model_dir=tf_files/models/ ^
--summaries_dir=tf_files/training_summaries/%ARCHITECTURE% ^
--output_graph=tf_files/retrained_graph.pb ^
--output_labels=tf_files/retrained_labels.txt ^
--architecture=%ARCHITECTURE% ^
--image_dir=tf_files/flower_photos

额外检查

确认tf_files/flower_photos目录确实存在于你当前的工作目录下,也可以换成绝对路径避免歧义,比如:

--image_dir=C:\Users\YourName\projects\tf_files\flower_photos

2. 处理FutureWarning警告

这个警告是因为你安装的TensorFlow版本比retrain.py的代码更新,代码里用到了一些即将被废弃的API。解决方式有两种:

  • 直接忽略:这个警告不会影响训练过程,只是提醒代码需要更新,如果你不介意的话可以不管它。
  • 屏蔽警告:在retrain.py文件的最开头添加以下代码,就能自动过滤FutureWarning:
    import warnings
    warnings.filterwarnings("ignore", category=FutureWarning)
    
  • 更新代码:如果想彻底解决,可以找到警告提示里提到的代码行,比如涉及numpy数组转换的部分,把np.array()改成np.asarray(),或者按照TensorFlow的官方文档替换成新的API。

内容的提问来源于stack exchange,提问作者Sergio Del Pino

火山引擎 最新活动