天天看點

google cloud platform 中ML engine 任務中的檔案讀取儲存問題

前幾天在做kaggle的比賽——The 2nd YouTube-8M Video Understanding Challenge時,使用的是gcp的ML Engine來做的模型的訓練和結果的預測,在使用bucket中的檔案時,我們直接的思路就是用os.path系列指令來判斷檔案的有無并完成檔案操作和讀取。然而在實際操作過程中,發現檔案并沒有按照預想進行讀取和寫入。

查找相關資料後,發現使用TensorFlow裡面的io指令可以解決這一問題:

from tensorflow.python.lib.io import file_io
#從ML Engine伺服器本地中複制檔案到bucket裡
def copy_file_to_gcp(job_dir, file_path):
    with file_io.FileIO(file_path, mode='rb') as input_f:
        with file_io.FileIO(os.path.join(job_dir, file_path), mode='w+') as output_f:
            output_f.write(input_f.read())
#從bucket裡複制檔案到ML Engine伺服器本地
def copy_gcp_to_file(job_dir,file_name):            
with file_io.FileIO(os.path.join(job_dir, file_path), mode='rb') as input_f:
    with file_io.FileIO(file_path, mode='w+') as output_f:
        output_f.write(input_f.read())           

繼續閱讀