はじめに
大学の授業において,Python機械学習プログラミング[PyTorch&scikit-learn編]が教科書に指定されていました.サンプルコードがGithub[1]にて公開されているので,せっかくなら動かしながら勉強しようと思いました.
いざやろうとしたら,ちまちまとエラーを吐いたりしたので,備忘録として.
コードの実行環境として,google colab上について説明します.
まとめ
- google colabにドライブをマウントする必要あり.
-
.ipynb
がファイルを参照できるよう,ディレクトリを移動する必要あり.
google colab上で実行するとき
Githubのサンプルコード群をダウンロードします.
落としたzipを解凍し,googleドライブに丸ごとアップロードします.
試しにch01/ch01.ipynb
を開きます.google colabがchromeに入っていない場合は,右の︙からアプリを追加
->Colaboratryを探してインストール
してください.
これにて一応colabでch*.ipynb
を開き,編集・実行ができるようになります.
サンプルコードのch*.ipynb
は自身以深の階層のファイルを参照します.このままではcolabから参照できるのはch*.ipynb
それ自身(と,一部のサンプルデータ)だけなので,ドライブにあるファイル類をcolabにマウントする必要があります.
画面左のフォルダアイコンをクリックし,"Mount Drive"アイコンをクリックします.[2]
ドライブをマウントするためのコードが記述されたセルが生成されるので,言われたとおりに実行します.
(アイコンポチポチせずとも,自分でセルを作り以下を入力,実行しても同じことです.)
from google.colab import drive
drive.mount('/content/drive')
新しくdrive
というフォルダが生成され,colabからドライブ上のファイルが参照できるようになっていることが確認できます.
ちなみにch01.ipynb
を開いた状態でのカレントディレクトリは/content
です.
ch01.ipynb
内のコードが正常に関連ファイルを参照できるように,ディレクトリを移動します(パスは環境によります).
%cd /content/drive/MyDrive/machine-learning-book-main/ch01
ちなみに.ipynbでは,shellコマンドは頭に!
もしくは%
を付けることで実行できます[3].!cd hoge
だとcdできなかったので不思議でしたが,!cd
ではセル内でのみcdする[4]からだそうです.なるほど.
また,Package version checks
で参照しているpython_environment_check.py
は*/machine-learning-book-main/
に居ます.したがって,
from python_environment_check import check_packages
d = {
'numpy': '1.21.2',
'scipy': '1.7.0',
'matplotlib': '3.4.3',
'sklearn': '1.0',
'pandas': '1.3.2'
}
check_packages(d)
のセルを実行してパッケージの確認を行う場合,適宜ディレクトリを移動する必要があります.
ともかく,これでコードサンプルを実行できるようになりました.めでたし.
言わずもがなですが,ディレクトリの移動は違うチャプターの.ipynb
を開いた際も都度行う必要があります.
参照文献
[1] rasbt/machine-learning-book: Code Repository for Machine Learning with PyTorch and Scikit-Learn
[2]【Google colab】GoogleドライブのファイルをPythonで操作する。
[3] Shell command等の使い方
[4] !cd と %cd の違い