2017-11-10 157 views
0

我想學習如何使用轉移學習來重新訓練圖像分類器。我按照this tutorial.哪裏寫圖像分類器的python腳本

中顯示的步驟我成功地重新訓練了模型,但是在他編寫用於分類新訓練過的模型的python腳本的最後一步中遇到了問題。在視頻中,他開始在4:18編寫代碼,但沒有指定在哪裏。我嘗試將它寫入泊塢窗容器中,但它給了我no module named platform錯誤和NameError: name 'sys' is not defined錯誤。我嘗試在本地機器上編寫它,並獲取錯誤,因爲我沒有本地安裝的依賴項。我不確定在本教程的最後一步中編寫python代碼的位置。任何幫助表示讚賞。

終端代碼和錯誤:

[email protected]:/tensorflow# python 
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import tensorflow as tf, sys 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "tensorflow/__init__.py", line 24, in <module> 
    from tensorflow.python import * 
    File "tensorflow/python/__init__.py", line 49, in <module> 
    from tensorflow.python import pywrap_tensorflow 
    File "tensorflow/python/pywrap_tensorflow.py", line 25, in <module> 
    from tensorflow.python.platform import self_check 
ImportError: No module named platform 
>>> image_path = sys.argv[1] 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'sys' is not defined 

回答

0

在這種情況下,正確的方法是隻使用任何IDE並將python腳本寫入本地計算機的.py文件中,然後將該文件複製到Docker容器中。如果您沒有在本地安裝tensorflow庫,tensorflow特定語句(如import tensorflow as tf)將生成錯誤,但可以忽略它們,因爲該文件將最終在容器中運行。

讓我們假設你命名.py文件myScript.py。爲了將.py文件從您的計算機傳輸到容器,請運行以下命令:docker cp myScript.py myContainer:/myScript.py

確保將.py文件放在容器中的某個地方,您可以輕鬆找到它。在對模型進行再訓練時,請確保通過運行以下代碼運行正確的腳本: python tensorflow/examples/image_retraining/myScript.py 然後,這將指向正確的文件,並且會像在本地執行所有操作一樣讀取它。

查閱這些鏈接,瞭解更多信息:

Copying files from host to Docker container

https://docs.docker.com/engine/reference/commandline/cp/

0

你tensorflow包裝容器爲broken。我認爲最好的辦法是再次卸載並再次運行tensorflow,但要確保你採用最新版本(截至目前爲止的1.4)。

第二個錯誤"NameError: name 'sys' is not defined"簡單地跟在第一個錯誤之後。聲明import tensorflow as tf引發錯誤,這就是爲什麼sys模塊未被導入。

當您運行tensorflow後,您可以在python控制檯中編寫代碼,ipython notebook或創建standalone python scripts

+0

重新安裝tensorflow的時候,我應該還在使用 「gcr.io/tensorflow/tensorflow:latest-devel」 命令?我如何檢查我的版本? –

+0

你試過簡單的'pip install tensorflow'嗎? – Maxim

+0

我正在使用張量圖像的Docker容器。如果我在我的電腦中擁有本地所有內容,那麼pip安裝命令是否可用? –