こんにちは。4月はブログが殆ど書けませんでした。
さて、知らない間にGoogleColabProが日本で使えるようになっていた!!ので、久しぶりにGoogleColabの記事を投稿します。GoogleColabは、Jupyter Notebooksをベースにしたクラウドサービスで制限付き無料でGPUを使用できるすごいサービスです。そしてGoogleColabProは無料の制限を一部取り除いた超格安(月額1072円)のサービスです。
🇧🇷 🇫🇷 🇩🇪 🇮🇳🇯🇵 🇹🇭 🇬🇧
— Colaboratory (@GoogleColab) March 24, 2021
Colab Pro is now available in Brazil, France, Germany, India, Japan, Thailand, and the United Kingdom.
Sign up at https://t.co/0z7WKH0F35
🇧🇷 🇫🇷 🇩🇪 🇮🇳🇯🇵 🇹🇭 🇬🇧
GoogleColabで引数付きpyファイルを呼び出す
GoogleColabを使う場合は、 ipynb(IPython Notebook)形式のファイルで作成しますが、作成したpyファイルのライブラリを使いたい場合、ipynbファイルに変換するのは面倒ですが、pyファイルを呼び出す事が出来ます。
今回はpyファイルを引数付きで実行し、更にその中で別の独自ライブラリをimportする、という事をしてみます。一応出来たんですが、ちょっと全てが思ったようにはならなかったので妥協しました。
(前提)Windowsで実行する場合
Windowsのディレクトリは以下のようになっている事が前提で進めます。train.pyをmodelの場所(model/cifar10.hdf5)を引数付きで実行して、その中でライブラリlenet.pyを使用する感じです。
│ train.py └─model cifar10.hdf5 └─common └─cnn lenet.py
train.pyからsub.py(Class名はSubClass)を呼び出す場合は、以下のようにします。
train.py
from common.cnn import SubClass
そして、main.pyを引数付きで実行する場合はコマンドプロンプトで以下を入力します。
python train.py --model model/cifar10.hdf5
GoogleColabで実行する場合
Googleドライブの任意の場所に以下のような構成でファイルを置きます。残念ながら、Windowsのフォルダ構成を引き継いだ方法は出来ませんでした。ライブラリlenet.pyを実行ファイルtrain.pyと同階層に置きます。
│ train.py │ lenet.py └─model cifar10.hdf5
では、GoogleColabで「ノートブックを新規作成」します。
まずGドライブをみれるようにします。
# Gドライブをマウント from google.colab import drive drive.mount('/content/gdrive')
上記を実行すると、以下のような表示になるのでURLをクリックし、コードを取得して入力すると「Mounted at /content/gdrive」を表示されます。
# GドライブにあるLoadするpyファイルを確認 !ls -la /content/gdrive/My\ Drive/Colab\ Notebooks/XXXXX/*.py
「lsコマンド」でtrain.py、lenet.pyを読むことが出来るか一応上記で確認できます。
# カレントディレクトリを設定 import os os.chdir('/content/gdrive/My Drive/Colab Notebooks/XXXXX')
最後にpythonを実行して終わりです。これでGoogleColabでメインpyからサブモジュールpyを呼び出しする事が出来ました。
#実行 !python train.py --model model/cifar10.hdf5
コメント