web-dev-qa-db-ja.com

google colaboratory、重量のダウンロード(保存されたモデルのエクスポート)

Kerasライブラリを使用してモデルを作成し、モデルを.jsonとして保存し、その重みを.h5拡張子で保存しました。これをローカルマシンにダウンロードするにはどうすればよいですか?

モデルを保存するために私はこれに従った link

14

これは私のために働いた!! 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')
14
Samer Ayoub

ここに私のために働いた解決策があります:

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ドライブの各フォルダーにファイルがあり、以下からダウンロードできる場所からダウンロードできます。

enter image description here

9
Anurag H

これを試して

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')))
2
LeandroHumb

モデルをローカルシステムにダウンロードするには、次のコードが機能します。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')
1
Keya

save_path = saver.save(sess、 "data/dm.ckpt")「セッション」は非推奨です。

0
Piyush Aggarwal

トレーニング後に次を実行できます。

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" ) 
0
Nazmus Sakib