web-dev-qa-db-ja.com

Google Colaboratoryを使用する場合、Googleドライブに画像、重量を保存する方法は?

Google Colaboratoryを使用して、出力画像をGoogleドライブまたはSSD、HHDに保存したいが、そのディレクトリは「/ content」

import os     
print(os.getcwd())
# "/content"

パス(HDD、SSD、googledrive)を変更することは可能ですか?

11
이성령

重量を節約するために、トレーニング後に次を実行できます。

saver = tf.train.Saver()
save_path = saver.save(session, "data/dm.ckpt")
print('done saving at',save_path)

Ckptファイルが保存された場所を確認してください。

import os
print( os.getcwd() )
print( os.listdir('data') )

最後にファイルをダウンロードしてください!

from google.colab import files
files.download( "data/dm.ckpt.meta" ) 
9
Nazmus Sakib

ColabセッションにGoogleドライブをマウントする必要があります。

from google.colab import drive
drive.mount('/content/gdrive')

次に、次のようにローカルファイルシステムに書き込むのと同じように、Googleドライブに書き込むことができます。

with open('/content/gdrive/My Drive/file.txt', 'w') as f:
  f.write('content')
15
Tadej Magajna

外部ファイルとのインターフェースの例 を見てください。一般的なワークフローは、ファイルをクラウド環境に出力してからダウンロードすることです。

"Hello、Colaboratory" example のプロットをファイルに出力しましょう。 Googleドライブにノートブックのコピーを作成し、次のコマンドを実行しました。

_import matplotlib.pyplot as plt
import numpy as np

x = np.arange(20)
y = [x_i + np.random.randn(1) for x_i in x]
a, b = np.polyfit(x, y, 1)
f = plt.figure()
_ = plt.plot(x, y, 'o', np.arange(20), a*np.arange(20)+b, '-')

f.savefig( "test.png")
_

Google Collaboratory環境のファイルをリストすると、それらの中に_test.png_が表示されます。

_import os
print( os.getcwd() )
print( os.listdir() )
# /content
# ['datalab', '.local', '.config', '.forever', '.cache', '.rnd', 'test.png', '.ipython']
_

あとは、この回答の冒頭でリンクした例を使用して、ローカルマシンにダウンロードするだけです。

_from google.colab import files
files.download( "test.png" )    
_

最後に、ローカルマシンではなくGoogleドライブ上のファイルが本当に必要な場合は、 Google Drive API を使用してファイルを適宜移動できます。

追伸ファイルを_/content_に書きたくない場合は、いつでも サブディレクトリを作成os.chdir()にできますが、このサブディレクトリはまだローカルにあることに注意してくださいクラウド環境で、上記のファイルをダウンロードする必要があります。

4
Artem Sokolov