我正在尝试学习如何使用转移学习重新训练图像分类器。我按照this tutorial.
中显示的步骤操作我成功地重新训练了模型,但是在最后一步中他遇到了问题,他编写了python脚本来对新训练的模型进行分类。在视频中,他开始在4:18编写代码但未指定位置。我尝试在docker容器中编写它,但它给出了See `convertMaps` for details on converting a
floating point representation to fixed-point for speed.
错误和no module named platform
错误。我尝试在我的机器上本地编写它并获得错误,因为我没有在本地安装依赖项。我不知道在教程的最后一步编写python代码的位置。任何帮助表示赞赏。
终端代码和错误:
NameError: name 'sys' is not defined
答案 0 :(得分:0)
容器中的tensorflow包是broken。我认为最好的方法是再次卸载并fresh install tensorflow,但请确保您使用的是最新版本(1.4)。
第二个错误"NameError: name 'sys' is not defined"
只是在第一个错误之后。语句import tensorflow as tf
引发错误,这就是导入sys
模块的原因。
让tensorflow工作后,您可以在python控制台中编写代码,ipython notebook或创建standalone python scripts。
答案 1 :(得分:0)
在这种情况下,正确的方法是只使用任何IDE并将python脚本写入计算机本地的.py文件中,然后将该文件复制到Docker容器中。如果您没有在本地安装tensorflow库,那么像import tensorflow as tf
这样的特定于张量流的语句会生成错误,但可以忽略它们,因为文件最终会在容器中运行。
假设您将.py文件命名为myScript.py
。要将.py文件从计算机传输到容器,请运行命令:docker cp myScript.py myContainer:/myScript.py
确保将.py文件放在容器中的某个位置,以便轻松找到它。重新训练模型时,请确保通过运行以下命令运行正确的脚本:
python tensorflow/examples/image_retraining/myScript.py
然后,这将指向正确的文件,它将被读取,就像您在本地执行所有操作一样。
查看以下链接以获取更多信息: