Python 在基于tensorflow的图像分类器的重新训练过程中运行retain.py时出错
我正在学习“”教程 我陷入了重新培训步骤,由于某种原因,retain.py命令(以及附加到它的其他4行代码)遇到错误 我想这可能是个简单的解决办法。我能够按照codelab教程成功完成每个步骤,直到使用以下命令完成步骤:Python 在基于tensorflow的图像分类器的重新训练过程中运行retain.py时出错,python,python-2.7,python-3.x,docker,tensorflow,Python,Python 2.7,Python 3.x,Docker,Tensorflow,我正在学习“”教程 我陷入了重新培训步骤,由于某种原因,retain.py命令(以及附加到它的其他4行代码)遇到错误 我想这可能是个简单的解决办法。我能够按照codelab教程成功完成每个步骤,直到使用以下命令完成步骤: # python tensorflow/examples/image_retraining/retrain.py \ --bottleneck_dir=/tf_files/bottlenecks \ --how_many_training_steps 500 \ --model
# python tensorflow/examples/image_retraining/retrain.py \
--bottleneck_dir=/tf_files/bottlenecks \
--how_many_training_steps 500 \
--model_dir=/tf_files/inception \
--output_graph=/tf_files/retrained_graph.pb \
--output_labels=/tf_files/retrained_labels.txt \
--image_dir /tf_files/flower_photos
我在Docker终端的命令行中输入了该命令,这是错误:
root@3333e49b2f82:/tensorflow#python tensorflow/examples/image_retaining/retain.py\
--瓶颈\u目录=/tf\u文件/瓶颈\
--有多少个培训步骤\
--model_dir=/tf_files/inception\
--output_graph=/tf_files/rettrained_graph.pb\
--输出\u标签=/tf\u文件/rettrained\u labels.txt\
--图片目录/tf文件/flower照片
回溯(最近一次呼叫最后一次):
文件“tensorflow/examples/image_retaining/retain.py”,第1012行,在
tf.app.run(main=main,argv=[sys.argv[0]]]+未解析)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py”,第43行,正在运行
系统出口(主(系统argv[:1]+标志通过))
文件“tensorflow/examples/image_retaining/retain.py”,第751行,主目录
也许下载和摘录()
文件“tensorflow/examples/image\u retaining/retain.py”,第313行,在下载和摘录中
tarfile.open(文件路径'r:gz').extractall(dest_目录)
文件“/usr/lib/python2.7/tarfile.py”,第2051行,在extractall中
self.extract(tarinfo,path)
文件“/usr/lib/python2.7/tarfile.py”,第2088行,摘录
self.\u extract\u成员(tarinfo,os.path.join(path,tarinfo.name))
文件“/usr/lib/python2.7/tarfile.py”,第2164行,在提取成员中
self.makefile(tarinfo,targetpath)
文件“/usr/lib/python2.7/tarfile.py”,第2205行,在makefile中
copyfileobj(源、目标)
copyfileobj中的文件“/usr/lib/python2.7/tarfile.py”,第265行
shutil.copyfileobj(src,dst)
copyfileobj中的文件“/usr/lib/python2.7/shutil.py”,第49行
buf=fsrc.read(长度)
文件“/usr/lib/python2.7/tarfile.py”,第818行,已读
buf+=self.fileobj.read(大小-len(buf))
文件“/usr/lib/python2.7/tarfile.py”,第736行,已读
返回self.readnormal(大小)
readnormal中的文件“/usr/lib/python2.7/tarfile.py”,第745行
返回self.fileobj.read(大小)
文件“/usr/lib/python2.7/gzip.py”,第261行,已读
自读(readsize)
文件“/usr/lib/python2.7/gzip.py”,第308行,已读
self._read_eof()
文件“/usr/lib/python2.7/gzip.py”,第347行,在
十六进制(self.crc)))
IOError:CRC检查失败0x76f1f85e!=0x6caceac0L
root@3333e49b2f82:/tensorflow#
基于这些错误,我能想到的唯一一件事是它与python2.7有关?我的机器(MacBookAir)上安装了python2.7和3.5,我不确定这是否是Docker或tensorflow的问题
无论如何,非常感谢您的帮助。CRC错误表示压缩文件中的某些数据已损坏 实际上,这是因为上一次在运行此命令时,您将其放在了中间的某个位置(这是我的情况),导致部分下载了inception文件。因此,当您再次运行此程序时,它会检查CRC与之前部分下载的CRC是否匹配 解决方案:
我删除了以前下载的一个,以避免在这次命令执行期间出现异常 下载的inception文件将位于/tf_文件中(如果您按照教程命名所有内容) 因此,转到/tf_files并删除部分下载的inception/目录
rm -rf /inception
返回到/tensorflow并再次运行该命令。CRC错误表示压缩文件中的某些数据已损坏 实际上,这是因为上一次在运行此命令时,您将其放在了中间的某个位置(这是我的情况),导致部分下载了inception文件。因此,当您再次运行此程序时,它会检查CRC与之前部分下载的CRC是否匹配 解决方案:
我删除了以前下载的一个,以避免在这次命令执行期间出现异常 下载的inception文件将位于/tf_文件中(如果您按照教程命名所有内容) 因此,转到/tf_files并删除部分下载的inception/目录
rm -rf /inception
返回/tensorflow并再次运行该命令