sn42
R&D Job in Japan.
Topics
My Twitter
この記事は fMRILab Advent Calendar 2021 の 12/13 分の記事です。
研究でPythonを使い始めて約3年となりました。
まだまだアマチュアではありますが、今までの学習過程や現段階でのTipsを書いておきたいと思います。
Pythonと出会ったのは学部3年の講義(生命情報学)の中でした。基本的な文法はそこで学習した覚えがあります。
Pythonを本格的に使い始めたのは、研究室に所属してからです1。
私の研究テーマでは機械学習を使うことが多いので、まずは数値計算や機械学習のライブラリを扱えるようになることを目指しました。以下書籍が非常に参考となりました。
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
Andreas C. Muller (著), Sarah Guido (著), 中田 秀基 (翻訳), オライリージャパン (2017/5/25)
|
この頃は何でもかんでもjupyter notebook(ipynb)を使って、出力を見つつトライ&エラーを繰り返していましたね…。
次に、当時バズり始めていた深層学習ライブラリのPytorchも勉強しました。以下書籍が非常に参考となりました。
つくりながら学ぶ! PyTorchによる発展ディープラーニング
小川雄太郎 (著), マイナビ出版 (2019/7/29)
|
その後は、Nilearn, brainIAKなどといった、fMRI解析専用のPythonライブラリを掘るようになりました。
各種ライブラリのTutorialやExampleをひたすら動かしてみるのも勉強になりましたね(ここら辺で1年?)。
以降は、ネット記事や以下書籍などで安全性の高い書き方を吸収してきました。 競技プログラミングや機械学習コンペなども勉強になった気がします。
Effective Python 第2版 ―Pythonプログラムを改良する90項目
Brett Slatkin (著), 石本 敦夫 (監修), 黒川 利明 (翻訳), オライリージャパン; 第2版 (2020/7/16)
|
研究でPythonを使うとき、個人的に気を付けていることを箇条書きで書いていこうと思います。
root
|-- README.md
|-- .gitignore
|-- .devcontainer/ # Dockerファイルや環境設定ファイル
|-- .vscode/ # vscode(ide)の設定ファイル
|-- data/ # データの保存(前処理済みデータ等)
|-- results/ # 結果の保存
|-- scripts/ # メイン処理のスクリプト
| `-- lib/ # 共通処理のライブラリ
|-- bash/ # 一括処理用のbashスクリプト
|-- reports/ # レポート関係
| |-- figures/ # レポートに使う図の保存
| `-- scripts/ # 図を作るスクリプト等
`-- notebooks/ # ipynbファイルや実験的なスクリプト