2017-07-05 91 views
0

培訓本地我想訓練我的模型在本地使用這個命令:與ML引擎與GCloud

gcloud ml-engine local train 
    --module-name cloud_runner 
    --job-dir ./tmp/output 

的問題是,它抱怨說--job-dir: Must be of form gs://bucket/object

這是一個本地列車,所以我想知道爲什麼它希望輸出是一個gs存儲桶而不是本地目錄。

+0

這可能是一個錯誤...... – hellowill89

回答

1

正如其他gcloud所解釋的--job-dir期望位置在GCS中。爲了解決這個問題,你可以直接將它作爲一個文件夾傳遞給你的模塊。

gcloud ml-engine local train \ 
    --package-path trainer \ 
    --module-name trainer.task \ 
    -- \ 
    --train-files $TRAIN_FILE \ 
    --eval-files $EVAL_FILE \ 
    --job-dir $JOB_DIR \ 
    --train-steps $TRAIN_STEPS 
+0

權,只需要記住移動'--job-dir'備份真正訓練的時候。 – hellowill89

+1

@ hellowill89這個問題已在未來幾個星期內發佈的版本中修復。 – rhaertel80

+0

@ rhaertel80謝謝! – hellowill89

1

的--package路徑參數給gcloud指令應指向一個目錄,是一個有效的Python包,即包含一個初始化 .py文件(通常是空的文件)的目錄。請注意,它應該是本地目錄,而不是GCS上的目錄。

--module參數將是該包中有效Python模塊的完全限定名稱。您可以根據需要組織目錄,但爲了保持一致性,樣本都有一個名爲trainer的Python包,其中要運行的模塊名稱爲task.py。

- Source

因此,你需要用有效的路徑來改變此塊:

gcloud ml-engine local train 
    --module-name cloud_runner 
    --job-dir ./tmp/output 

具體,你的錯誤是由於--job-dir ./tmp/output因爲它期待您gcloud

路徑
1

本地培訓試圖模擬當您使用雲運行時發生的情況,因爲本地培訓的重點是在提交之前檢測問題你的工作到服務。

使用CMLE服務時使用本地作業目錄是一個錯誤,因爲作業完成後輸出不會持續。

因此,使用gcloud進行本地培訓還要求作業目錄是GCS位置。

如果你想在本地運行而不使用GCS,你可以直接運行你的TensorFlow程序而不使用gcloud。