Kerasライブラリを使用してモデルを作成し、モデルを.jsonとして保存し、その重みを.h5拡張子で保存しました。これをローカルマシンにダウンロードするにはどうすればよいですか?
モデルを保存するために私はこれに従った link
これは私のために働いた!! PyDrive APIを使用する
!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
# 2. Save Keras Model or weights on google drive
# create on Colab directory
model.save('model.h5')
model_file = drive.CreateFile({'title' : 'model.h5'})
model_file.SetContentFile('model.h5')
model_file.Upload()
# download to google drive
drive.CreateFile({'id': model_file.get('id')})
重みについても同じ
model.save_weights('model_weights.h5')
weights_file = drive.CreateFile({'title' : 'model_weights.h5'})
weights_file.SetContentFile('model_weights.h5')
weights_file.Upload()
drive.CreateFile({'id': weights_file.get('id')})
次に、Googleドライブを確認します。
次回の実行時に、ウェイトを再ロードしてみてください
# 3. reload weights from google drive into the model
# use (get shareable link) to get file id
last_weight_file = drive.CreateFile({'id': '1sj...'})
last_weight_file.GetContentFile('last_weights.mat')
model.load_weights('last_weights.mat')
ここに私のために働いた解決策があります:
Google Colabとドライブの認証を設定します:
手順:
-以下のようにコードを貼り付けます
-このプロセスは、認証を完了するための2つのURLを生成します。トークンをコピーして、提供されたバーに貼り付ける必要があります。
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse Fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
この認証が完了したら、次のコードを使用して接続を確立します。
!mkdir -p drive
!google-drive-ocamlfuse drive
Googleドライブ内のファイルのリストを表示するには:
!ls drive
Kerasモデルの出力をドライブに保存するプロセスは、ローカルドライブに保存する場合とまったく同じです。
-通常どおりKerasモデルを実行します
モデルのトレーニングが完了したら、モデル出力(.h5およびjson)をGoogleドライブのapp
フォルダーに保存するとします。
model_json = model.to_json()
with open("drive/app/model.json", "w") as json_file:
json_file.write(model_json)
# serialize weights to HDF5
model.save_weights("drive/app/model_weights.h5")
print("Saved model to drive")
Googleドライブの各フォルダーにファイルがあり、以下からダウンロードできる場所からダウンロードできます。
これを試して
from google.colab import files
files.download("model.json")
files.download
では、大きなファイルを直接ダウンロードできません。回避策は、以下のこのpydriveスニペットを使用して、Googleドライブの重量を保存することです。 filename.txt
あなたのための weights.h5
ファイル
# Install the PyDrive wrapper & import libraries.
# This only needs to be done once in a notebook.
!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# Authenticate and create the PyDrive client.
# This only needs to be done once in a notebook.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
# Create & upload a file.
uploaded = drive.CreateFile({'title': 'filename.csv'})
uploaded.SetContentFile('filename.csv')
uploaded.Upload()
print('Uploaded file with ID {}'.format(uploaded.get('id')))
モデルをローカルシステムにダウンロードするには、次のコードが機能します。jsonファイルをダウンロードします。
model_json = model.to_json()
with open("model1.json","w") as json_file:
json_file.write(model_jason)
files.download("model1.json")
重みのダウンロード:
model.save('weights.h5')
files.download('weights.h5')
save_path = saver.save(sess、 "data/dm.ckpt")「セッション」は非推奨です。
トレーニング後に次を実行できます。
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" )