GoogleColabからファイルを参照する方法として、GoogleColabへ直接アップロードすることもできますが…
『アップロードファイルは一定期間が経過すると強制的に削除されてしまう』
というGoogleColabの制約があります。
つまり、
アップロードファイルの原本を削除したら再アップロードできません
この解決策が『マウント』です。
とは言え…
『どうやってGoogleColabでマウントするの?』
『そもそもGoogleドライブをマウントできるの?』
こんな疑問に答えます。
【事前準備】Googleドライブへファイルをアップロード
GoogleColabで機械学習をする時、入力元となるデータセットファイル使用します。
GoogleColabはクラウドサービスなので、ファイルをネット上にアップロードする必要があります。
アップロードしたファイルをGoogleColabが参照する訳です。
具体的には…
GoogleColaboratoryでGoogleドライブをマウントし、Googleドライブ上のファイルをGoogleColabから参照します。
マウントの事前準備として、
GoogleColaboでGoogleドライブをマウントする前に、Googleドライブへファイルをアップロードしておく必要があります。
PCファイルは直接は見れない
ってことだね
ファイルをネット上にアップロード
する必要があるぞい
Googleドライブへファイルをアップロード手順です。
(アップロード済の方は、スキップしてマウント手順へGo♪)
- Googleドライブへログイン
Googleドライブへログインします。
「ドライブへ移動」をクリックしてください
- Googleドライブへローカルからファイルをアップロード
GoogleドライブのマイドライブへPCからアップロードします。
(ドラッグアンドドロップでOK)
【メイン】GoogleColaboratoryでGoogleドライブをマウントする手順
GoogleColabでGoogleドライブをマウントすると、GoogleColabからGoogleドライブファイルを直接参照できます。
つまり…
Googleドライブにファイルを置くだけで、GoogleColab(Python)から利用できる
ということ。
GoogleColaboratoryでGoogleドライブをマウントする手順を紹介します。
- Google Colaboratoryへログイン
Google Colaboratoryへログインします。
- ノートブックの新規作成をクリック
- フォルダのアイコンをクリック
- マウントのアイコンをクリック
マウントのアイコンをクリックすると…
GoogleドライブをマウントするPythonコマンドがコードエリア(セル)に表示されます。
たろちゃんアイコンをクリックせずに、
マウントするPythonコードを
直書きしてもイイヨ
「+コード」をクリックするとセルが表示されます。
以下のコードを、セルにコピペしてください
from google.colab import driv drive.mount('/content/drive')
- セルのマウントコードの実行ボタンをクリック(Shift+EnterでもOK)
コードエリア(セル)に表示されたマウントするコマンドを実行します。「実行ボタン▷をクリック」か「Shift+Enterキー」で実行してください。
セルのコードを実行すると…
実行結果に下記の『権限コード取得URL』が表示されます。Go to this URL in a browser: 【URL https://accounts.google.com/なんたらかんたら】
赤枠のURLをクリックすると…
Googleのアカウント選択画面が表示されます。
- マウント用のGoogle アカウントを選択
アカウント選択画面で、マウント対象とするGoogleドライブのアカウントを選択します。
アカウントを選択すると…
「Google Drive File Stream が Google アカウントへのアクセスをリクエストしています」
という画面が表示されます - Googleアカウントのアクセス許可
「Google Drive File Stream が Google アカウントへのアクセスをリクエストしています」で許可をクリック
許可をクリックすると…
権限コードが表示されます。 - 権限コードをコピー
表示された権限コードをコピーします。
- GoogleColabに画面を切り替え
マウントコードの実行結果が表示された画面に戻ります - 権限コードをペースト
実行結果に表示された「Enter your authorization code」へコピーした権限コードをペーストします権限コードをペースとすると…
認証が成功して「Mounted at /content/drive」と表示されます。
-
「Mounted at /content/drive」と表示されると認証が成功し、マウント完了です。
【確認】GoogleColabでマウントを確認する方法
GoogleColabで『マウント先のGoogleドライブが参照されているか』を確認する方法も知りたいですよね。
下記のように表示されていたら、マウント先のGoogleドライブは無事に参照されています。
上記の「My Drive」ディレクトリがGoogleドライブのマイドライブです。
GoogleColabのルートディレクトリは「/content」ディレクトリなのですが、画面上から「/content」は見えません(表示されません)。
「/drive」ディレクトリがマウントしたGoogleドライブです。
フォルダ更新してみて!
⇒3つ並んでいるアイコンの真ん中
(グルっと回ってるようなヤツ)
マウント完了後は、GoogoleドライブのファイルがGoogleColabより利用できます。
【事前準備】Googleドライブへアップロードの例でいいますと…
/content/drive/My Drive/sample_file.txt
がGoogleColabのPythonコードから利用可能となります。
プログラムでも利用できる
という訳じゃ
【例外】マウントのアイコンでアカウント選択画面が出る場合
下記のマウントのアイコンをクリックすると…
通常は下記のようにGoogleドライブをマウントするPythonコマンドがコードエリア(セル)に表示されます。
通常はこの流れなのですが…
マウントのアイコンをクリック後に『Googleドライブの対象アカウントの選択画面』が表示される場合があるのです。
こういう場合もあると思ってくれぃ
どっちでもマウントできるぞい!
マウントできるならエエわ
気持ち悪いけど割り切っとく
で、どうすんの?
対象アカウントを選択画面が表示される場合、Googleドライブの対象アカウントを選択します。
アカウントを選択すると…
GoogleColabの画面に切り替わり「Googleドライブをマウントしています」と表示されます。
しばらく待つと…
下記の画面が表示されてマウント完了です。
GoogleColaboratoryでマウントするメリット
GoogleColabで機械学習をする時、入力元のデータセットは必ず使用します。
GoogleColabはクラウドサービスなので、データセットとなるファイルをクラウドから見える状態にしなければなりません。
クラウドからファイルを見える状態にする方法は2つです。
- GoogleColabにファイルアップロード
- GoogleColabからGoogleドライブをマウント
GoogleColabでは一定期間が経過すると下記の制約を受けます。
- 強制的にマウント解除
- アップロードファイルの強制削除
この制約の解決策として、再マウントか再アップロードが必要になります。
アップロードファイルは原本が削除されると再アップロードできません。
もし原本を削除してしまったら、再アップロードできない事態に陥ります。
マウントはファイルが削除されないので、原本が削除される心配がありません
これがGoogleColabでマウントするメリットです。
このGoogleColabの制約については、次に説明します。
【注意点】GoogleColaboratoryの時間制約
GoogleColabには時間制約があり、一定時間が経過するとラインタイムリセットされます。
ランタイムリセットとはノートブックの実行環境が初期化されてセッションが切れることです。
ランタイムリセットで起きること
ランタイムリセットで起きることです
- マウントが解除される
再度マウントする必要があります - GoogleColab内のファイルが削除される
GoogleColabへ直接アップロードしたファイルや、Python実行で出力されたファイル(モデルなど)も強制的に削除されます
アップロードファイル…再アップロードする必要があります
出力モデル…バックアップを取って、再実行で読み込めば良いでしょう
ファイル関係に絞って述べてますが、他にもあります。
自動でランタイムリセットされるタイミングとルール
自動でランタイムリセットされるタイミングとルールを説明します。
ランタイムリセットされるタイミングは90分・12時間です。
無条件にランタイムリセットされる訳ではなく、ルールがあります。
以下、90分ルールと12時間ルールです。
- 90分ルール
ノートブックを開いて90分経過するとランタイムリセット
90分間に1回は画面をアクティブにする必要があります - 12時間ルール
PCを実行したまま、12時間以上経過するとランタイムリセット
12時間経過すると無条件にリセットされます
こちらの記事でGoogleColabの制限をまとめました。
【他の手段】GoogleColabへ直接アップロードする方法
GoogleドライブをマウントせずにGoogleColabへ直接アップロードする方法もあります。
直接アップロードは簡単で便利なのですが…
ランタイムリセットのタイミング(90分ルール・12時間ルール)でアップロードファイルが削除されてしまいます。
一長一短やね
GoogleColabでGoogleドライブをマウント まとめ
いかがでしたでしょうか?
GoogleColabでGoogleドライブをマウントする方法をご紹介いたしました。
ポイントを振り返ってみましょう。
-
- GoogleColabでマウント前の事前準備
GoogleColabで参照したいファイルをGoogleドライブへアップロード - GoogleColabのマウント方法
アイコンクリックとコピペだけでマウントできる - GoogleColabのマウント確認
My Driveディレクトリが表示されたらGoogleドライブのマウントされている - GoogleColabの制約
ランタイムリセットされるとアップロードファイルは削除される
ランタイムリセットされるとマウントは削除される
自動でランタイムリセットされる90分/12時間ルールがある
- GoogleColabでマウント前の事前準備
- GoogleColabへ直接アップロードする方法もある
『そもそもGoogleColabの使い方って何だっけ?』という方は、こちらもどうぞ!
GoogleColabは無料で使える素晴らしいツールです。
是非、マウントをマスターしてあなたの学習にお役立てください。
「記事を読んでもわからないトコがある」「内容が変だよ」
という時は、お気軽にコメントください♪
「もっとSEおっさんに詳しく聞きたい。何かお願いしたい!」
という時は、ココナラまで。メッセージもお気軽に♪
LINEでのお問合わせも受付中!
LINE公式アカウント
メッセージをお待ちしています!
- 応用情報技術者
- Oracle Master Gold
- Java SE Gold
- Java EE Webコンポーネントディベロッパ
- Python エンジニア認定データ分析
- 簿記2級
GoogleドライブをマウントするPythonコマンドがコードエリア(セル)に自動で表示されるときと表示されないときあがあります。違いは何でしょうか?
コメントありがとうございます。
お返事が遅くなってしまい、大変申し訳ございません。
3カ月も経ってしまいました。
セルにマウント用のPythonコマンドが自動で表示されるときと表示されないときがあるのはなぜ?
というご質問ですね。
ごめんなさい。私にもわかりません。
GoogleColabのアプリ側でなんらかの基準が働いているようです。
コマンドも表示されずにアイコンをクリックすればマウントするケースもあると思います。
お待たせしたうえに回答になっておらず、
大変心苦しいのですが、またお立ち寄りいただければ幸いですm(__)m