🫠

【Stable Diffusion】Paperspace導入で詰まったところ

2023/02/16に公開

はじめに

https://console.paperspace.com/signup?R=ZS1N2LM
このリンクからPaperspaceを始めたら10ドルのクレジットが入ります。

僕はこの記事を見ながらLoRA導入を進めました。
https://onlinegamernikki.com/paperspace_kohyaver_lora_tutorial

詰まったところ

1.syntaxerrorと、2.Pythonのバージョン と3.xformersのpipインストール

$pip install -U -I --no-deps (xformers-0.0.14.dev0-cp310-cp310-linux_x86_64.whl)

この部分のインストールができないことが分かり、原因を探している際に、
syntaxerrorとPythonがアップグレードされていないことに気がついた

1.syntax error

$pip install -U -I --no-deps xformers-0.0.14.dev0-cp310-cp310-linux_x86_64.whl

カッコを消せばsyntax errorは消えた。
しかしサポートされていないと表示された

2.Pythonのバージョン

aptでpython3.10を入れても切り替わらなかった。
後ほど説明しますが、pyenvを使ったら解決できました。

$apt -y install python3.10
$python -V
python3.9.16

3.10になっていないみたいです。

$ls /usr/local/bin/ | grep python

ipython
ipython3
python
python3

Python3.10というファイルもなさそうでした。

色々ゴニョゴニョしましたがうまくいかず、
仮想環境のOSを調べることにしました。

$cat /etc/*release

このコマンドを打てば調べることができます。

$cat /etc/*release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS"
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Ubuntu環境だとわかりました。

Ubuntuにpyenvを入れてバージョンを切り替えようと思いました。

$curl https://pyenv.run | bash

このコマンドを打ったら以下のようなWARNINGが出て、このようなコマンドを入力して
シェルを再起動するように言われます。

WARNING: seems you still have not added 'pyenv' to the load path.

# Load pyenv automatically by appending
# the following to 
~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
and ~/.bashrc (for interactive shells) :

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# Restart your shell for the changes to take effect.

この指示に従ってシェルに入力します。

$ cat << 'EOF' >> ~/.bashrc

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
EOF

$ exec "$SHELL"

pyenvが入ったか確かめます

$pyenv --version
pyenv 2.3.13

一応updateしておきました

$pyenv update

必要なパッケージもインストールしておく

$ sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

そして、Pythonをインストールする

pyenv install 3.10
$  pyenv versions  

* system (set by /root/.pyenv/version)
  3.10.10

インストールしただけでは切り替わっていないようです。
pyenvからpythonのバージョンを切り替えます。

$ pyenv global 3.10.10
$python -V

Python 3.10.10

切り替えに成功しました。
その後、サイトの手順を行いました。

同じくxformersの箇所で詰まりました。

$ python3 -V
Python 3.9.16

これが変わってなかったっぽいです。

3. xformersのpipインストール

$pip install -U -I --no-deps xformers-0.0.14.dev0-cp310-cp310-linux_x86_64.whl

画像生成のおすすめ本

【2023最新】1000種類以上のプロンプト収録! NovelAIでもローカルでも使える呪文集: 小ネタ・テクニック・おすすめツールも紹介 (AI絵師の入門書) Kindle版

https://amzn.to/3YVp90y

AIとコラボして神絵師になる 論文から読み解くStable Diffusion
https://amzn.to/41aLQ30

さきがけ技術 AUTOMATIC1111 / Stable Diffusion web UI の使い方
https://amzn.to/3Kcjboe

Discussion