Google Colab で Python-Control

Google Colaboratory (Google Colab) は,Google が提供している無料のクラウドサービスです。教育や研究機関へ機械学習の普及を目的として提供されています。Pythonや必要なライブラリがあらかじめある程度準備されていますので,環境構築の手間がかかりません。必要なものは,インターネット環境,ブラウザ,そして,Googleアカウントです。

この記事では,Google Colabの初期設定とPython-Controlのインストール手順を説明します。


Google Colab の初期設定

まず,Google のアカウントを作成します。Google Drive や Gmail を使われている方は,そのアカウントを使うことができます。そして,Google アカウントにログインし,Google Drive で Google Colab 用の新しいフォルダを作成します。左上の [新規] をクリックし,そのあと,[フォルダ] を選択します。

作成したフォルダを Google Colab と連携させます。フォルダ名のドロップダウンをクリックし,[アプリで開く]→[アプリを追加]を選択します。

検索窓で「colaboratory」と調べると,Google Colabが絞り込まれますので,選択して「接続」します。

連携ができれば,ノートブックを作成します。ノートブックは,左上の [新規] から,[その他]→[Colaboratory] を選択します。すると,Untiltled0.ipynb という名前のノートブックが作成されます。

Python-Controlのインストール

ノートブックの最初のセルに,

!pip install slycot control

を打ち込み実行します。実行は,[Shift]+[Enter] をタイプするか,セルの左端の実行ボタン(三角印)を押します。これで,Python-Controlが使える状態になりました。


うまくいかないとき

2023.9 現在,Slycotが正常にインストールできません。そのため,Python-controlの一部の関数(minrealやmixsyn)を実行すると,クラッシュします。これを解決する方法は以下のとおりです。

!apt-get install gfortran cmake --fix-missing
!apt-get install libblas-dev liblapack-dev

import os
os.environ['BLA_VENDOR']="Generic"
!echo Using $$BLA_VENDOR BLAS implementation

!pip install -v slycot

以下は過去の情報です

2022.6.8現在,Python-Controlでstep関数を実行すると,クラッシュする不具合が生じます。これを解決する方法を二つ紹介します。

(1)MKLライブラリを更新する

mklをアップグレードします

!pip install -upgrade mkl

古いコードの場合,mklを更新するだけではうまく動かないことがあるようです。その場合は,slycotのバージョンを落としてみてください(最新は0.4.0)

!pip install slycot==0.3.5

(2)minicondaを利用する

Minicondaをインストールしてconda環境を構築します。
- Minicondaのインストール

!wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
!bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /usr/local

・ライブラリのインストール

!conda install -c conda-forge slycot control

・設定

import sys
sys.path.append(‘/usr/local/lib/python3.9/site-packages/’)

ちなみに,Google ColabのPythonのバージョンは3.7ですが,この方法だと,Python3.9が利用できるようになります。

この記事が気に入ったらサポートをしてみませんか?