Macbook M1 で先駆者の記事を参考にML-Agentsを導入しようとしたら、ライブラリインストール時にエラーが出ました。そのエラーにどんな対処したかの備忘録になります。
サンプル(3Dball)を動かすところまでしか試していません。
TL;DR
-
grpcio
,h5py
ライブラリをcondaでインストール - PyTorch 1.8.0をインストール
最終目的
ML-Agents Release 18のインストールを行う。
その後、ML-AgentsのサンプルScene(Ball)の学習済みモデルでの推論、学習を行う。
自分の環境
- Macbook Air (M1, 2020)
- macOS Big Sur ver11.2.2
- Python 3.8.x (miniforgeで導入 参考: https://zenn.dev/karaage0703/articles/f3254b14898b4d)
ML-Agentインストール手順
基本的には公式ドキュメントに従っていた。
https://github.com/Unity-Technologies/ml-agents/blob/release_18_docs/docs/Installation.md
エラー発生箇所 1
ML-Agents用のAnaconda仮想環境に、ml-agentsとml-agents-envsのインストールを実行したところエラー発生。
Advanced: Local Installation for Development
If you intend to make modifications to mlagents or mlagents_envs, you should install the packages from the cloned repository rather than from PyPi. To do this, you will need to install mlagents and mlagents_envs separately. From the repository's root directory, run:
pip install torch -f https://download.pytorch.org/whl/torch_stable.html
pip install -e ./ml-agents-envs
pip install -e ./ml-agents
エラー文章は長文だったので省略します。grpcio、h5pyインストール時にエラーが発生しているようでした。
エラー対処法 1
エラーが発生したライブラリをcondaでインストールしました。
pip, condaを混同して使っています。環境壊れる可能性があるので、もっといいやり方あれば教えて下さい。
conda install grpcio h5py
エラー発生箇所 2
エラー発生箇所 1と同様。
エラー内容は、
ERROR: Could not find a version that satisfies the requiremet torch<1.9.0,>=1.6.0(from mlagents)(from versions: 0.1.2, 0.1.2.post1, 0.1.2 post2, 1.9.0
ERROR: No matching distribution found for torch<1.9.0,>=1.6.0
エラー対処法 2
原因はPyTorch1.9.0をインストールしていたからでした。
対処法はPyTorch 1.8.0をインストールすることです。自分はwheelファイルからインストールしました。
謎の先人によってwheelファイルが作成されているので、以下からダウンロードして~/Downloads
に配置しましょう。
https://drive.google.com/file/d/1e-7R3tfyJqv0P4ijZOLDYOleAJ0JrGyJ/view
その後、以下のコマンドで既存のPyTorchをアンイストールして、PyTorch 1.8.0をインストールしましょう。
pip uninstall torch
pip install ~/Downloads/torch-1.8.0a0-cp38-cp38-macosx_11_0_arm64.whl
参考