M1/2MacでStableDiffusion環境を作成し試してみる。

今更感はありますが、StableDiffusionはてっきりWindowsでしか使えないと思っていたもののMacでも使えると知り、試してみました。以下手順です。
homebrewはインストール済みの前提で進めます。

Pythonのインストール

macの場合、OSバージョンによってはPythonが存在しなかったり、古かったりする様です。なので、一旦Pythonをインストールしましょう。

※最終的に最新版では動作できませんでした。

各機能が必要とするバージョンを考慮する必要があります。

まず、stable-diffusionが動作するためにはpytorchのバージョンが動作対象のものである必要があります。そしてpytorchの指定バージョンが動作するためにはpythonのバージョンにも依存します。公式が依存関係も考慮したpythonのバージョンを教えてくれているのでこちらを一旦みてください。

Installation on Apple Silicon
Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.
brew install cmake protobuf rust python@3.10 git wget

上記が完了されるとインストールはされますが、環境変数にパスを追加しないとpythonコマンドが使えません。finderにてユーザフォルダ直下の隠しファイルである、.zshrcを開いてください。隠しファイルは[Cmd]+[shift]+[.]で表示されます。

インストールを行ったコンソールにて以下の記述が存在しますので見つけてください。
※ネットの情報とはパスが違う可能性があるので、必ずコンソール画面から確認してください!

Unversioned and major-versioned symlinks `python`, `python3`, `python-config`, `python3-config`, `pip`, `pip3`, etc. pointing to
`python3.10`, `python3.10-config`, `pip3.10` etc., respectively, have been installed into
  /opt/homebrew/opt/python@3.10/libexec/bin

この中の「install into」の後が実際にインストールされたパスなので、これを.zshrcに追加します。既存のパスが存在する場合は「:」で区切ることで追記できます。
以下はflutterとpythonのパスが通っている場合です。

export PATH="/Users/hogehoge/development/flutter/bin:/opt/homebrew/opt/python@3.10/libexec/bin:$PATH"

ターミナルを再起動し、下記コマンドを実行してpythonが動作するか確認してください。

python --version

stable-diffusion-webuiを展開する

gitがインストールされている前提です。

finderにて展開先となるフォルダを作成しておきます。作成したフォルダの直下にstable-diffusion-webuiのルートフォルダが作成されるイメージです。

コンソールで先ほど作成したフォルダへ移動し、

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

を実行。ファイルがダウンロードされます。gitがない場合は上記URLにブラウザからアクセスし、[code]を選択するとzipでダウンロードできるのでそれでも良いかもしれません。

次にモデルをダウンロードする必要があります。とりあえず次のURLから拡張子ckptのファイルをダウンロード。

naclbit/trinart_stable_diffusion_v2 at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

複数ありますがとりあえず数字が大きいものを選んでください。
ダウンロードが完了したら以下のパスへ移動させてください。

stable-diffusion-webui/models/Stable-diffusion/

実行

コンソールでstable-diffusion-webuiが展開されたパスまで移動し、下記のコマンドを実行。

./webui.sh

ここでtorchのバージョンに関するエラーが出てエラー終了する場合は、対応するpytorchをインストールする必要があります。既にインストールされているpythonを使っている場合は発生する可能性あり。

コンソールが以下まで進むとサーバが起動している状態です。

URLのところをブラウザにコピペしてアクセスしてください。

すると以下の様な画面が表示されます。試しにシンプルな呪文で生成してみましょう。

できました!

まとめ

pythonはほぼ未経験なのですが、なんとか環境準備も実行もできました。AI絵師は賛否両論ありますが、自分みたいな低予算個人開発者にとってはかなり夢が広がる技術です。人並みに使える様にはなりたいなと思います。

レンタルサーバはConohaWINGが最強にオススメ!

muchilogでは今までいろんなレンタルサーバやSaaSを使ってきましたが、今では全てをConohaWINGにて運営しています。

■今まで使ってきたサービス一覧
・さくらレンタルサーバ(ベーシックプラン)
・カゴヤ
・Azure
・AWS

今ではこのブログは勿論、webサービスのバックエンドやアプリのサーバ機能もConohaWINGで動かしています。
そんなConohaWINGのメリットをいくつか紹介します!

【国内最速No.1】高性能レンタルサーバーConoHa WING

無料で最大2個の独自ドメインが使える!

サイト運営に必要な独自ドメインをなんと無料で取得することが可能です!これだけでも月100円以上は運営費が節約できます。

優れた速度と安定感

私がAzureやさくらを解約した大きな理由はこれ。Conohaは非常に安定して稼働しており、ダウンタイムがほぼ発生しません。発生した場合は潔くお知らせしてくれます。
また、このブログは勿論、バックエンドとして動いてるプログラムも処理速度が大幅に向上しました(体感で倍速以上)。 Azure等のSaaSからレンタルサーバに移行するって普通考えられませんよね?しかし実際に大きなメリットを感じているのです。

頻繁に開催されるキャンペーン

ConohaWINGは半額に迫るようなキャンペーンを頻繁に開催しています。このキャンペーンによって、性能的には業界トップクラスであるにも関わらず、 月額料金換算で最安値クラスで使えるのです。
基本的に長期一括契約の方がお得になるため、muchilogでは最長で契約することをオススメします。価格と性能のバランスを考えれば他に乗り換えることも考えれられませんし。

レンタルサーバは必須です!

web系のプログラミング学習を進める際には、レンタルサーバの契約は必須と思ってください。ローカルの環境と本番環境で動作が違うことは良くありますし、ポートフォリオを公開するのも大切です。

学習や制作に集中するためにも、満足度、速度、安定度全てのレベルが高いConohaWINGを最強にオススメします!

web系サービス開発会社に転職したい!

muchilogではIT系へ転職したいという方には「自社サービスを運営しているweb系企業」への転職をおすすめしています。

web系は「自由な社風」「成長できる環境」「ホワイトな労働条件」であることが多いからです。

そんなweb系企業への転職を確実にするためのプログラミングスクールが登場しました。


RUNTEQ

RUNTEQはただのスクールじゃない!

RUNTEQはweb系の開発会社。開発会社が運営するスクールなので必要とされる技術力は勿論習得可能。しかしそれだけではないのです。

特にweb系で転職・就職活動を行う際にはポートフォリオを求められることがあります。ポートフォリオとは自分自身の作品のことで、技術力や企画力を示すものです。

RUNTEQではポートフォリオの作成を企画段階からサポートしてくれます!

他のプログラミングスクールでは提携企業の派遣やアルバイトとして就職するしかなかったりもしますが、RUNTEQはあなたの市場価値を高める方法まで教えてくれるということですね。

また、RUNTEQが扱う教材はどれも第一線で当たり前に使われている技術。特に未経験者の独学ではどうしてもスキルセットに穴が出来てしまいます。その点RUNTEQは確実に現場力を養えます。

そして2020年2月〜2021年12月までの内定者の98%がweb系企業に内定しています。これはRUNTEQの指導力とサポートが優れていることの証拠でしょう。

まずは無料説明会に申し込んではいかがでしょうか?

RUNTEQ


AI StableDiffusion
muchiをフォローする
MUCHILOG
タイトルとURLをコピーしました