【问题标题】:Error when running retrain.py during retraining for image classifier based on tensorflow for poets在基于 tensorflow 的诗人图像分类器再训练期间运行 retrain.py 时出错
【发布时间】:2016-12-07 01:32:11
【问题描述】:

我正在学习“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/瓶颈\ --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 回溯(最近一次通话最后): 文件“tensorflow/examples/image_retraining/retrain.py”,第 1012 行,在 tf.app.run(main=main, argv=[sys.argv[0]] + 未解析) 运行中的文件“/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 行,在 main 也许_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,路径) 文件“/usr/lib/python2.7/tarfile.py”,第 2088 行,提取 self._extract_member(tarinfo,os.path.join(路径,tarinfo.name)) _extract_member 中的文件“/usr/lib/python2.7/tarfile.py”,第 2164 行 self.makefile(tarinfo,目标路径) 文件“/usr/lib/python2.7/tarfile.py”,第 2205 行,在 makefile 中 复制文件obj(源,目标) 文件“/usr/lib/python2.7/tarfile.py”,第 265 行,在 copyfileobj 中 shutil.copyfileobj(src, dst) 文件“/usr/lib/python2.7/shutil.py”,第 49 行,在 copyfileobj 中 buf = fsrc.read(长度) 文件“/usr/lib/python2.7/tarfile.py”,第 818 行,已读取 buf += self.fileobj.read(size - len(buf)) 文件“/usr/lib/python2.7/tarfile.py”,第 736 行,已读取 返回 self.readnormal(size) 文件“/usr/lib/python2.7/tarfile.py”,第 745 行,正常读取 返回 self.fileobj.read(size) 文件“/usr/lib/python2.7/gzip.py”,第 261 行,已读取 self._read(readsize) _read 中的文件“/usr/lib/python2.7/gzip.py”,第 308 行 self._read_eof() _read_eof 中的文件“/usr/lib/python2.7/gzip.py”,第 347 行 十六进制(self.crc))) IOError: CRC 检查失败 0x76f1f85e != 0x6caceac0L root@3333e49b2f82:/tensorflow#

基于这些错误我唯一能想到的是它与python2.7有关吗?我的机器(Macbook air)上同时安装了 python2.7 和 3.5,我不确定这是否是 Docker 或 tensorflow 的问题......

非常感谢任何帮助。

【问题讨论】:

    标签: python python-2.7 python-3.x docker tensorflow


    【解决方案1】:

    CRC 错误表示压缩文件中的某些数据已损坏。

    实际上它正在发生,因为上一次运行此命令时,您在中间某处(这是我的情况)导致部分下载了初始文件。因此,当您再次运行此程序时,它会检查与先前部分下载的不匹配的 CRC。

    解决方案:
    我删除了之前下载的一个,以避免在这段时间命令执行过程中出现异常。

    下载的初始文件将位于 /tf_file 中(如果您按照教程命名所有内容)。

    所以去 /tf_files 并删除部分下载的 inception/ 目录。

    rm -rf /inception
    

    返回 /tensorflow 并再次运行该命令。

    【讨论】:

      猜你喜欢
      • 2018-11-13
      • 2018-08-03
      • 2017-06-19
      • 2019-02-02
      • 2017-10-24
      • 2020-10-05
      • 2018-05-22
      • 1970-01-01
      • 2017-07-18
      相关资源
      最近更新 更多