Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
84
Help us understand the problem. What is going on with this article?
@kotai2003

Google Colab Tips整理

1. 初めに

Google Colabratoryの利用に有用なTipsを纏めます。

2. Google Drive マウント

Google Colabでは、仮想環境の/content/にファイルが生成・保存されます。
例えば、自前の写真データセットを使いたい時を考えましょう。 /content/にデータセットを直接にアップロードする代わりに、そのデータセットを事前にGoogle Driveのどこかに入れてから、Google Driveをマウントします。そして、Google Driveの写真データセットのフォルダーを指定したほうが使いやすいです。

下記にサンプルコードを掲載します。

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

#Datasets Dir (例)
base_dir = '/content/drive/My Drive/datasets/Autoencoder_Sample/train'

3.学習モデルの保存

ニューラルネットワークの学習結果として、学習モデルが生成された時、そのファイルを自分のPCに保存する方法は二種類あります。

(1) Google ColabからローカルPCにダウンロードする方法
(2) Google Driveに転送する方法


from google.colab import files

#Model Save (Keras)
model.save('autoencoder-trained.h5')

#1. モデルファイルのダウンロード
files.download('autoencoder-trained.h5')

#2. モデルファイルを直接にGoogle Driveにコピー
!cp autoencoder-trained.h5 "drive/My Drive/autoencoder-trained.h5"

学習モデルのサイズが数百MB以上になった場合は、ダウンロードには時間がかかるため、個人的にはcp命令でコピーする方法をお勧めします。コピー先のフォルダ名+ファイル名には""で囲むことをお勧めします。そうではないと、エラーがでることもあります。

4.Google Colabとの接続を維持する方法

Google Colabは、ユーザの反応が無い場合、30分後に自動的に接続が切れるようになっています。もちろん、計算内容も同時に失われます。:cold_sweat:

これを防ぐ方法がネットで紹介されたので、ご紹介します。
How to prevent Google Colab from disconnecting ?

Google Chromeを使う前提で、Ctrl + Shift + iを押し、BrowserのInspector Viewにします。そして、goto consoleに行き、下記のコードを入力します。これでGoogle Colabの30分で接続が切れる問題は解決されます。


function ClickConnect(){
console.log("Working"); 
document.querySelector("colab-toolbar-button#connect").click() 
}setInterval(ClickConnect,60000)

実際の操作方法は、下記に動画を参考にしてください。
https://www.youtube.com/watch?v=N2NEyr9Bf48&feature=youtu.be&t=257

5 謝辞

Google Colabの使用に関して、アビームコンサルティングの木村さんのアドバイスを多く頂きました。この場を借りてお礼を申し上げます。

84
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
84
Help us understand the problem. What is going on with this article?