我正在学习“TensorFlow for Poets”教程。
我在再培训步骤上遇到困难,因为某些原因,retrain.py命令(以及附加的其他4行代码)遇到错误。
我认为这可能是一个简单的修复。我能够成功地完成每个步骤的codelab教程,直到使用以下命令执行步骤:
# 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_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 Traceback(最近一次调用最后一次): 文件“tensorflow / examples / image_retraining / retrain.py”,第1012行,in tf.app.run(main = main,argv = [sys.argv [0]] + unparsed) 运行文件“/usr/local/lib/python2.7/dist- packages / tensorflow / python / platform / app.py”,第43行 sys.exit(main(sys.argv [:1] + flags_passthrough)) 在主要文件中输入“tensorflow / examples / image_retraining / retrain.py”,第751行 maybe_download_and_extract() 文件“tensorflow / examples / image_retraining / retrain.py”,第313行,在maybe_download_and_extract中 tarfile.open(filepath,'r:gz')。extractall(dest_directory) 文件“/usr/lib/python2.7/tarfile.py”,第2051行,在extractall中 self.extract(tarinfo,path) 文件“/usr/lib/python2.7/tarfile.py”,第2088行,在摘录中 self._extract_member(tarinfo,os.path.join(path,tarinfo.name)) 在_extract_member中输入文件“/usr/lib/python2.7/tarfile.py”,第2164行 self.makefile(tarinfo,targetpath) 在makefile中输入“/usr/lib/python2.7/tarfile.py”,第2205行 copyfileobj(来源,目标) 在copyfileobj中输入文件“/usr/lib/python2.7/tarfile.py”,第265行 shutil.copyfileobj(src,dst) 在copyfileobj中输入文件“/usr/lib/python2.7/shutil.py”,第49行 buf = fsrc.read(length) 文件“/usr/lib/python2.7/tarfile.py”,第818行,处于读取状态 buf + = self.fileobj.read(size - len(buf)) 文件“/usr/lib/python2.7/tarfile.py”,第736行,处于读取状态 return self.readnormal(size) 文件“/usr/lib/python2.7/tarfile.py”,第745行,处于readnormal状态 return self.fileobj.read(size) 文件“/usr/lib/python2.7/gzip.py”,第261行,处于读取状态 self._read(READSIZE) 文件“/usr/lib/python2.7/gzip.py”,第308行,在_read中 self._read_eof() 文件“/usr/lib/python2.7/gzip.py”,第347行,在_read_eof中 十六进制(self.crc))) IOError:CRC校验失败0x76f1f85e!= 0x6caceac0L root @ 3333e49b2f82:/ tensorflow#
基于这些错误我唯一能想到的是它与python2.7有关吗?我在我的机器上安装了python2.7和3.5(Macbook air),我不确定这是否是Docker或tensorflow的问题......
无论如何,非常感谢任何帮助。
答案 0 :(得分:0)
CRC错误表示压缩文件中的某些数据已损坏。
实际上它正在发生,因为在你运行这个命令的前一次你离开了中间的某个地方(这是我的情况)导致部分下载的初始文件。因此,当您再次运行它时,它会检查CRC与之前部分下载的CRC不匹配。
<强>解决方案:强>
我删除了之前下载的一个以避免在此时间命令执行期间出现异常。
下载的初始文件将在 / tf_file 中(如果您按照教程命名所有内容)。
所以转到 / tf_files 并删除部分下载的inception /目录。
rm -rf /inception
返回 / tensorflow 并再次运行命令。