ChatGPTなど生成系AIが話題の昨今ですが、そう言う自分も「このビッグウェーブには(略」とがっつり乗っかるつもりです。
とりあえずChatGPTでひとしきり遊んだので、これに続き画像生成系AIにも手を出してみようかと思いました。
画像関係は自分はまったく素人なのですが、それでも画像生成AIに手を出してみようと思ったのは、自然言語系AIはまだ一般人のPCで動くレベルではありません(それでも時間の問題とは思われます)が、画像生成AIなら自分の環境でも動きそうだ、というのも理由の一つ。
Pytorchのインストールがエラーで進まない
さて、そんな様子で自分のPCにStable Diffusionをインストールしようとしてみたのですが、PyTorchのインストールでドはまりしてしまいました。
きっとこの時期同じような失敗で心が折れる方も多いのでは、ということでメモを残しておきます。
検証環境
私の環境は以下の通りのごく普通のWindows機です。
- Windows11 Pro
- バージョン22H2
- OSビルド 22621.1555
- CPU: Core i9-10900
- RAM: 32GB
- GPU: RTX3070
- NVIDIA CUDA 11.8
特にどこかがボトルネックになるような要素はないと思います。
本当は自然言語系のLLaMaとか試したいのですが、あれを動かすには逸般の誤家庭
レベルのGPUが必要なのでとても無理。
でも、画像生成ならこの程度のスペックでも十分に遊べるようなので、、、すがインストールできないことには話が始まりません。
実行したコマンド
Pytorchのインストールにあたって実行しようとしたコマンドはこちら。
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pytorch.orgのトップページから自分の環境に合ったものを選ぶと入力すべきコマンドを教えてくれます。それをコマンドプロンプトにそのままコピペするだけ(のはず)。
エラーメッセージ
実行すると以下のようなエラーが出て、インストールに失敗します。
ERROR: Exception:
(中略)
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
(中略)
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='download.pytorch.org', port=443): Read timed out.
どうやらTimeoutが起きているようです。
回線の状態が良くないのかと何度か繰り返しましたが、症状は変わらず。
pytorchのパッケージは2.6GBもあり、サーバーにアクセスが集中してタイムアウトが発生しやすいのかもしれません。
対策:pipのデフォルトタイムアウト時間を変更する
色々と調べたところ、pipのデフォルトタイムアウト時間を変更すれば良さそうということが分かりました。
タイムアウトをデフォルトの100秒から50000秒に大幅に延長して試してみます。(50000という数字に特に意味はありません)
set PIP_DEFAULT_TIMEOUT=50000
それでもやはり夜間はpytorchのサーバーが混んでいるのか、ダウンロード速度が全く出ません。
翌朝ネットが空いている時間帯に仕切り直して、もう一度トライしてみると、ダウンロードスピードも快調に出ました。
タイムアウトの設定変更も功を奏したのか、無事にPytorchのインストールが完了しました。
pip install Pytorchで失敗を繰り返す方は、pipのタイムアウト設定を変更すること、朝方にインストールしてみるのがおすすめです。
参考