0

我正在使用開源Tensorflow實現的研究論文,例如DCGAN-tensorflow。我使用的大多數庫都配置爲在本地訓練模型,但我想使用Google Cloud ML來訓練模型,因爲我的筆記本電腦上沒有GPU。我發現很難更改代碼來支持GCS存儲桶。目前,我將日誌和模型保存到/ tmp,然後在訓練結束時運行'gsutil'命令將目錄複製到gs:// my-bucket(example here)。如果我嘗試將模型直接保存到gs:// my-bucket,它永遠不會顯示出來。Google Cloud ML和GCS Bucket問題

對於訓練數據,其中一個張量流樣本將數據從GCS複製到/ tmp進行訓練(example here),但這隻適用於數據集很小的情況。我想使用celebA,並且它太大而無法複製到/ tmp每次運行。有沒有關於如何更新本地培訓以使用Google Cloud ML的代碼的文檔或指南?

的實現正在運行Tensorflow的各種版本,主要是0.11和0.12

回答

6

目前還沒有明確的指導。其基本思想是用等價物來替換原來的Python文件操作出現的所有file_io模塊中,最值得注意的是:

這些函數將在本地和GCS(以及任何已註冊的文件系統)上工作。但請注意,file_io和標準文件操作(例如,支持一組不同的'模式')有一些細微的差別。

幸運的是,檢查點和總結性寫作確實可以開箱即用,只需確保將GCS路徑傳遞到tf.train.Saver.savetf.summary.FileWriter即可。

在您發送的示例中,這看起來可能很痛苦。當程序開始只需要執行一次時,考慮猴子修補Python函數以映射到TensorFlow等價物(演示here)。

請注意,this頁面上的所有樣本均顯示從GCS讀取文件。

+0

感謝這個信息。試圖讀取圖像文件時遇到問題。我不使用scipy.misc.imread(「gs:// BUCKET/PATH」),它不適用於GCS URI,我首先使用file_io打開文件:scipy.misc.imread(file_io.FileIO(path,模式= 'R'))。這似乎是返回一個對象而不是數組。我不確定如何解決Cloud ML上的這個問題,因爲在線討論似乎表明這是PIL安裝的問題。 – psoulos

+0

這是一個醜陋的黑客攻擊,但是你可以在setup.py中使用子進程來執行諸如'apt-get'和'pip install'之類的操作。那就說,讓我調查一下。對這個問題發佈一個單獨的問題可能是有意義的。 – rhaertel80

+0

注意到這個在我的回答你的其他問題在這裏(http://stackoverflow.com/questions/42821093/google-cloud-ml-scipy-misc-imread-returning-pil-jpegimageplugin-jpegimagefile)但問題似乎是TF 0.12.1中的file_io版本中存在一個錯誤,並且在TF 1.0中修復了 –