Open7

ML.Python

tackmantackman

PyTorch向けフレームワーク

PyTorch Lightningを1年ほど使ってみたけれど

  • 素のPyTorchを使うのに比べてあまり楽になった気がしない
  • 公式ドキュメントのつらみが高い
    • https://twitter.com/tackman/status/1343549966455775232
      • 私は聴覚言語劣位の認知特性があり、動画解説系全般がつらいという事情はあります
      • 認知特性云々抜きでもAPIページにチュートリアルっぽい動画貼るのはナシだろと思いますが

すでに1年前のエントリだけど、PyTorch向け各フレームワークの比較記事

https://qiita.com/fam_taro/items/c32e0a21cec5704d9a92

ただFacebook ResearchでのLightningの使われ方などを想像するに、この手のフレームワークの価値は人数が多いところでフリーダムな書き方に一定の制約を課せるところがコアバリューなのではという気がする。ので、自分の生産性を高めるという目的意識だと各機能は参考にしつつもオレオレで何かを作るスタイルでいいのでは?

tackmantackman

PyTorchでの画像ライブラリはPIL

tackmantackman

pip の --extra-index-url を poetry で解決する場合

https://python-poetry.org/docs/repositories/

poetry source add foo https://foo.bar/simple/

PyTorchのインストールで要求されるので出番がある

# PyTorch 1.12.x + CUDA11.6の場合の例
poetry source add --secondary pytorchcu116 https://download.pytorch.org/whl/cu116
tackmantackman

Streamlit使用メモ

https://streamlit.io/

  • コード書く量は激烈に少ない
    • 簡単な分析ツール的なものが30行ほどPython書くだけでWeb UIが出来た
  • 何も考えないでもいい感じにWeb UIができるのは神
  • 動作は普通に遅い、echo相当のことをするだけでも数秒待たされる
  • オレオレツールとして、手軽さもアプリケーションとしての完成度もnotebook以上普通のWebアプリ未満の領域向けという印象
tackmantackman

VSCode向けハマりポイントとか

  • virtualenvのPythonを使う場合はJupyterのUIからカーネルを選択してあげる必要あり
    • setting.jsonの python.defaultInterpreterPath は参照されない

poetryのvirtualenvはin-projectに作る

poetry config virtualenvs.in-project true

# 既存のvirtualenvがある場合
poetry env list
poetry env remove <current environment>
poetry install

https://stackoverflow.com/questions/59882884/vscode-doesnt-show-poetry-virtualenvs-in-select-interpreter-option