» 2022 » 6月のブログ記事

Python-ControlをGoogle Colabで使うには,毎回

!pip install slycot control

を実行しなければならない。そこで,これらのモジュールをGoogle Driveへインストールし,少し快適に使うようにしてみた。

まず,適当なノートブックを開いた状態で,Google Driveがマウントされているかどうかを確認する。具体的には,左側のファイルアイコンをクリックして,ファイル一覧に「drive」(下図の緑枠)がなければ,「ドライブをマウント」ボタン(下図の赤枠)を押してマウントする。

ドライブがマウントしていない状態でモジュールをインストールしてしまうと,ランタイムが更新されたあとに消えてしまうので要注意。私の場合は「Colab Notebooks」の下に「my_modules」というフォルダを作って,その中にモジュールをインストールすることにした。この場合,次のコードを実行する。

!pip install slycot control --target /content/drive/MyDrive/Colab\ Notebooks/my_modules --no-deps

ここで,「–no-deps」オプションは重要で,これが無いと,my_modulesの下に,slycot及びcontrolと関係のあるモジュールがたくさんインストールされてしまう。また,Colabの後のバックラッシュは,Colab Notebooksの間のスペースをエスケープするために必要。以上で準備は終わりだ。

一度上記を済ませてしまえば,Google Driveがマウントされていることを確認した上で

import sys
sys.path.append('/content/drive/MyDrive/Colab Notebooks/my_modules')
!pip uninstall mkl -y
from control.matlab import *

のようにすればよい。なお,mklをアンインストールしているのは,この記事を書いている時点で,mklをupgradeまたは削除しないとstep関数でクラッシュしてしまうからである。以上,お試しあれ。

【参考】
Google Driveのマウントは

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

としてもできるが,アカウント認証を行う必要があるので,ファイルブラウザのボタンから行うのが個人的にはおすすめ。

広告