「Python 3.10にPyTorchをインストールできない・・・」
「PyTorch 1.11がサポートしているPythonのバージョンは?」
このような場合には、この記事の内容が参考となります。
この記事では、最新版のPythonに最新版のPyTorchをインストールする方法を解説しています。
本記事の内容
- PyTorch 1.11はPython 3.10をサポートしているのか?
- PyPI上の表記ミス
- PyTorch 1.11.0のインストール
- PyTorch 1.11.0の動作確認
それでは、上記に沿って解説していきます。
PyTorch 1.11はPython 3.10をサポートしているのか?
2022年3月11日にPyTorch 1.11.0がリリースされました。
PyTorch 1.10系は、Python 3.10がサポート対象外でした。
そのため、Python 3.10系にはPyTorch 1.10.2をインストールできませんでした。
インストールが失敗した様子は、次の記事でまとめています。
リリースされたばかりのPyTorch 1.11.0は、どうなのでしょうか?
果たして、Python 3.10をサポートしているのでしょうか?
PyTorch 1.11.0 リリースノート
https://github.com/pytorch/pytorch/releases/tag/v1.11.0
リリースノートでは、Python 3.10のサポートが記載されています。
よって、PyTorch 1.11はPython 3.10をサポートしていると言えます。
しかし、PyPIのページで確認した結果は以下の状態です。
https://pypi.org/project/torch/
この表記ミスについては、以下で説明します。
PyPI上の表記ミス
PyPI上でPython 3.10が記載されていないのは、setup.pyに原因があります。
setup.py上の下記コードで上手くPython 3.10が表記できないのでしょう。
この書き方なら、setup.pyを動かすPythonのバージョンに依存することになります。
コードを抜粋すると以下。
import sys python_min_version = (3, 7, 0) version_range_max = max(sys.version_info[1], 9) + 1 for i in range(python_min_version[1], version_range_max): print('Programming Language :: Python :: 3.{}'.format(i))
上記コードを各バージョンで動かした結果は、以下となります。
Python 3.10で動かした場合
Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10
Python 3.9で動かした場合
Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9
Python 3.8で動かした場合
Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9
上記のようになるのは、Python 3.9と3.8の場合はmaxが9になるからです。
その部分のコードは、以下。
max(sys.version_info[1], 9)
その場合、version_range_maxは「10」になります。
そうなると、Python 3.10は表記されません。
この結果より、PyPIではPython 3.9以下で動かした結果を表示しているのでしょう。
次のように変更すれば、Python 3.10が常時表示されるはずです。
max(sys.version_info[1], 10)
以上より、PyPI上の表記ミスはsetup.pyに原因があると言えます。
そして、PyPI上のPython 3.10がサポート対象外という記載は正しくありません。
よって、安心してPython 3.10にPyTorch 1.11.0をインストールしましょう。
PyTorch 1.11.0のインストール
Pythonのバージョンは、以下を利用します。
$ python -V Python 3.10.2
インストール前の状況は、次の通りです。
$ pip list Package Version ---------- ------- pip 22.0.4 setuptools 60.9.3 wheel 0.36.2
インストールするのは、現時点で最新となる1.11.0となります。
インストール支援ツールより、下記コマンドを取得。
pip install torch==1.11.0+cpu torchvision==0.12.0+cpu torchaudio==0.11.0+cpu -f https://download.pytorch.org/whl/cpu/torch_stable.html
上記コマンドを実行した結果は、成功です。
どんなパッケージがインストールされたのかを確認します。
$ pip list Package Version ------------------ ---------- certifi 2021.10.8 charset-normalizer 2.0.12 idna 3.3 numpy 1.22.3 Pillow 9.0.1 pip 22.0.4 requests 2.27.1 setuptools 60.9.3 torch 1.11.0+cpu torchaudio 0.11.0+cpu torchvision 0.12.0+cpu typing_extensions 4.1.1 urllib3 1.26.8 wheel 0.36.2
バージョン1.11.0だからと言って、過去バージョンと大きく変更はありません。
各パッケージのバージョンが異なる程度です。
以上、PyTorch 1.11.0のインストールを説明しました。
次は、PyTorch 1.11.0の動作確認を行います。
PyTorch 1.11.0の動作確認
PyTorchの動作確認用のコードです。
PyTorchのバージョンを表示します。
import torch print(torch.__version__)
上記を実行した結果は、以下。
1.11.0+cpu
PyTorch 1.11.0を確認できました。
問題なくインストールができています。
以上、PyTorch 1.11.0の動作確認を説明しました。