すぐ忘れてしまうのでメモ。
前提(使っているもの)
- Debian
- pyenv
- Poetry
1. コードの書き換え
上げたいバージョンに書き換える。
確認したいファイルは
- pyproject.toml
- .circleci.yml
- Dockerfile
- requirement.txt
あたり。
PyTorchとPythonのバージョン対応は公式サイトを確認する。
以下のコマンド内のバージョンは適宜変更すること。
2. Pythonのアップデート
pyenv-update プラグインを使うと楽ちん。
(brewで入れている場合はそちらから行う。)
pyenv update
pyenv install 3.11.4
pyenv local 3.11.4
3. Poetryで使う環境を変更
poetry env use 3.11
もし python not found
と言われたら以下の記事の通り修正する。
poetry lock —no-update
poetry install --sync
依存性など問題が出たら適宜修正。
4. CUDA / nvidia-driver のアップデート
概ね以下の記事の通りでOKですが、うまくいかない手順があるので必要なところだけ補足。
CUDAの過去バージョン一覧はこちら。
今入っている CUDAバージョンの確認
nvcc -V
古いCUDAの削除
sudo apt purge cuda*
で Unable to locate package
と出るときはコマンドの引数を
sudo apt purge 'cuda*'
のように ''
で囲む。
参考↓
バージョンは必ず指定する
元記事にも書かれていますが、 sudo apt install
時の パッケージのバージョンは必ず指定しましょう 。
間違って最新版を入れてしまったら sudo apt purge
からやり直し。
ちなみにGCEでCUDA関連アンインストールした状態でログインすると、「ドライバーが入ってないのでこのスクリプト使ってインストールしてね」的なメッセージが表示される。
インストールバージョンがどうなるのかわからないので、私はいつも自分で指定して入れている。
5. 動作確認
プロダクトによって見る所は様々だと思いますが、私の場合は主に以下の通り。
- 前処理が動くか
- できるだけ事前にテストを書いておくと楽ちん
- 学習が動くか
- CPU / GPU 両環境で
- できたら学習結果も良さそうか確認する
- リリース用のコンテナに出来るか
- リリース用のコンテナで正しく推論できるか
- アップデート前のコンテナの結果と比較する