==================================== 環境の設定とか,勉強の方法とか ==================================== .. _configuration: おまじない設定 =========================== IED の OS は,``Linux`` で, `Python` は `anaconda` と呼ばれる パッケージによって管理されています(少し古いけど).どの端末にも入っているので 厄介な部分は,ほぼありません. 自分で Mac や Windows に実験環境を入れるときには,anaconda を入れるか, docker を経由した仮想環境を使うのが良いでしょう. .. note:: IED では標準で anaconda3 が導入されています. 自分で path を弄っていなければ特に何もする必要はないです. 弄った人は,各自の PATH 環境変数に `/usr/local/anaconda3/bin` が含まれていることを確認してください. ない場合は `.profile` もしくは `.cshrc` などの設定ファイルを編集してください. 実験で使う python パッケージなど ---------------------------------------------------------------------------------------------- .. index:: 必要パッケージ この実験で使うのは, * ``python``: 言語本体 * ``numpy`` : 行列などの演算パッケージ.ベクトル計算,行列計算用 (http://www.numpy.org/) * ``scipy`` : 科学技術計算用, 信号処理や最適化計算などのパッケージ (http://scipy.org/) * ``matplotlib``: グラフや画像などの描画用 (http://matplotlib.org/) があればクリアはできます.(MIDI音声の出力は環境を少し整える必要がありますが) さらに機械学習の勉強に進みたい場合は * ``scikit-learn``: 機械学習用パッケージ (http://scikit-learn.org/stable/) などを入れると良いと思います. 深層学習に手を出したい場合は * ``pytorch``: 深層学習のインターフェース (https://pytorch.org/) * ``pytorch lightning``: ``pytorch`` をより Python らしく使う (IEDでは使えない) (https://www.pytorchlightning.ai/index.html) 画像処理などを行いたい場合は * ``scikit-image``: 画像処理用パッケージ (http://scikit-image.org/) * ``pillow``: 画像処理パッケージ (https://pillow.readthedocs.io/en/stable/#) * ``opencv``: OpenCV (https://opencv.org/) 音声処理などを行いたい場合は * ``librosa``: 音声処理用パッケージ (IEDでは頑張らないと使えない) (https://librosa.org/doc/latest/index.html) * ``pretty_midi``: MIDI音声処理用パッケージ (IEDでは頑張らないと使えない) (https://craffel.github.io/pretty-midi/) などを使うとよいでしょう. なにを勉強すればよいの? ================================================ .. index:: 勉強法など 新しい言語を学ぶにはある程度のコストを払わないといけませんが, スクリプト系の言語に関しては比較的敷居が低くなっています. (コアなこと始めると難しくなりますが) 以下には,いくつかの参考 URL が貼り付けてあります.このテキストを作るのに 参考にしたものなどです.最近だと Qiita の記事などがよく検索に引っかかります. `Python` を勉強するには? ---------------------------------------------- この演習では全体的なことを説明するのには時間がたらないので,割と必要なことを 説明します.全体を(安価に)眺めるには色々検索するのが良いかもです. とりあえず検索するだけでもこんな感じ. * 東工大「Python早見帳」 https://chokkan.github.io/python/index.html * 「たった1日で基本が身につく! Python超入門」 https://speakerdeck.com/yuichi110/1ri-deji-ben-gashen-nituku-pythonchao-ru-men * 東大「Pythonプログラミング入門」 https://utokyo-ipp.github.io/index.html * 「Python ゼロからはじめるプログラミング」 https://mitani.cs.tsukuba.ac.jp/book_support/python/ * ドットインストールなどのチュートリアルビデオをひと通り真似する http://dotinstall.com/lessons * `Python` チュートリアルを読む https://docs.python.org/ja/3/tutorial/ * `Python` 解説本を読む http://www.amazon.co.jp/s/field-keywords=python * Google 検索で引っかかった文書を読む http://www.google.co.jp/search?q=python ``Numpy``/ ``Scipy`` を勉強するには? ----------------------------------------------- .. index:: Numpy .. index:: Scipy ``Numpy`` や ``Scipy`` は科学技術計算を行うための演算パッケージですが, 比較的とっつきやすく チュートリアルが和訳なんかされてます. * Python Scientific Lecture Notes の訳: http://www.turbare.net/transl/scipy-lecture-notes/index.html# * その原版 http://scipy-lectures.github.com/ あとは, ``Numpy`` や, ``Scipy`` , ``matplotlib`` の1次情報源にもチュートリアルコードが載ってます. ココらへんを読んでくのがいいような気もします. * Scipy.org: http://www.scipy.org/ の Cookbook あたりはすごく充実しています. まず,サンプルコードをダウンロードして,動かしてみましょう. 考えるのは,それからでも遅くはないです.