TensorFlowの勉強とか小規模なCNNの構築に便利なGoogle Colaboratory。
構築したmodelをローカル環境や別のサーバで利用するためにはmodelを取り出す必要があります。
ColaboratoryにはGoogleDriveとかGCSに直接書き出す方法も用意されていますが、
直接ローカルに落として使用したい場合もあると思います。
そんなときは、files.downloadを使うと簡単にダウンロードできます。
例えば、
sessionのsaveは
saver = tf.train.Saver()
save_path = saver.save(session, "./session.ckpt")
print('done saving at',save_path)
sessionをsaveすると、
session.ckpt.meta
checkpoint
session.ckpt.data-00000-of-00001
session.ckpt.index
の4つのファイルができるので
from google.colab import files
files.download( "./session.ckpt.meta" )
としてそれぞれダウンロードします。
学習したmodelは
model.save('ファイル名.h5')
とすればsaveできます。
ダウンロードしたmodelは、
from keras.models import load_model
model = load_model('ファイル名.h5')
とすれば使用できます。
構築したmodelを実際に学習させるときにはデータセットを使用します。
その際にはデータをアップロードする必要があります。
ColaboratoryではGoogleDriveやGCS(Google Cloud Storage)から引っ張ってくることもできますが、ローカルにあるファイルをアップロードして使用したい場合もあると思います。
そのときは下記のようにすれば簡単にファイルをアップロードすることができます。
from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))
上記を実行すると、ローカルのファイルを選択してアップロードすることができるようになります。
Google Colaboratoryは無料で使える上に、GPU環境でTensorFlowが使えます。
ただ、ヘルプに
コードはどこで実行されるのですか?実行中にブラウザ ウィンドウを閉じたらどうなりますか?
コードは、各アカウント専用の仮想マシンで実行されます。仮想マシンには強制的に適用される最大存続期間があり、一定期間アイドル状態にある仮想マシンは再利用されます。
とあるので一定時間経過するとリセットされてしまうようです。(おそらく12時間...)
リセットされるとアップロードしたファイルや保存したmodelはなくなってしまうので注意してください。