ウェブサイト検索

安定した拡散を簡単に:GPUドロップレットで始めましょう


紹介

Stable Diffusionは画像生成のための強力なAIツールですが、リソースを多く消費する可能性があります。DigitalOceanのGPUドロップレット上で実行することで、必要な計算能力を得ることができます。このガイドでは、AUTOMATIC1111によるStable Diffusion WebUIを使用してセットアップする方法を学びます。私たちはこれを簡単にしましたので、技術的な専門家でなくても心配しないでください—ただ一緒に進んでいきましょう!

前提条件

  • DigitalOceanクラウドアカウント。
  • GPUドロップレット。GPUドロップレットは現在、初期利用可能段階にありますが、こちらからアクセスをリクエストできます。
  • Linuxコマンドラインに関する親しみ。さらに学ぶためには、このLinuxコマンドラインの入門ガイドをご覧ください。
  • GitとPython 3.10をインストールしました。

なぜGPUドロップレットを使用するのか?

Stable Diffusionは技術的にはCPUで動作できますが、遅いです。GPUで動作させるとパフォーマンスが大幅に向上します。DigitalOceanのGPUドロップレットは、必要に応じて立ち上げることができるNVIDIA H100です。ぜひ、今日GPUドロップレットを立ち上げて試してみてください。現在、これらは早期利用可能ですが、すぐに全員に提供される予定です!

ステップ1 - GPUドロップレットを設定する

  1. GPUドロップレットを作成する
    DigitalOceanアカウントにログインし、新しいドロップレットを作成して、GPUを含むプランを選択します。画像生成には基本的なGPUプランで十分です。

  2. 新しいユーザーを追加する (推奨)
    セキュリティ上の理由から、すべてにルートユーザーを使用するのではなく、新しいユーザーを作成する方が良いです。

adduser do-shark
usermod -aG sudo do-shark
su do-shark
cd ~/

ステップ2 - 依存関係をインストールする

ログインしたら、Dropletを更新し、必要なツールをインストールします。

sudo apt update
sudo apt install -y wget git python3 python3-venv

ステップ3 - ステーブルディフュージョンリポジトリをクローンする

このリポジトリをGitHubからクローンします:

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

ステップ4 - ステーブルディフュージョンの設定と実行

Pythonの仮想環境を設定する

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

CUDAサポート付きのxFormersを再構築する

GPUアクセラレーションを利用するには、CUDAサポートでxFormersを再構築する必要があります。このステップにより、パフォーマンスのために環境が最適化されます:

pip uninstall xformers
pip install xformers --extra-index-url https://download.pytorch.org/whl/nightly/cu118

オプション: gpustatを使用してGPUの使用率を監視する

Stable Diffusionを実行している間にGPUの使用状況を監視するには、gpustatというツールを使用できます。このツールは、メモリ、温度、現在の負荷など、GPUの使用状況に関するリアルタイム情報を提供します。

gpustatをインストールして使用するには、以下の手順に従ってください:

pipを使用してgpustatをインストールします:

pip install gpustat

インストール後、別のターミナルで次のコマンドを実行することで、GPUの使用状況を監視できます:

gpustat --color -i 1

オプション:直接リンクからモデルをインストールする

モデルのダウンロードリンクがある場合は、wgetコマンドを使用して簡単にインストールできます。SDXLモデルのダウンロードとインストール方法は次のとおりです:

wget -O models/Stable-diffusion/stable-diffusion-xl.safetensors "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"

このコマンドはSDXLモデルをダウンロードし、models/Stable-diffusion/ directoryにstable-diffusion-xl.safetensorsというファイル名で保存します。ダウンロードが完了すると、モデルはあなたのStable Diffusionセットアップで使用できるようになります。

WebUIを実行する

さて、Stable Diffusion WebUIを起動する時間です。次のコマンドを実行して、Gradio共有、GPUアクセラレーションのためのxFormers、安全でない拡張機能のアクセスを有効にし、APIアクセスを有効にしてインターフェースを開始します:

./webui.sh --share --xformers --api --enable-insecure-extension-access

WebUIが実行されている間に、ブラウザを開いてhttps://[HASHING].gradio.liveにアクセスしてインターフェースを利用してください。このリンクは72時間後に期限切れになります。

CivitAIブラウザー拡張を使用してモデルをインストールする

web-ui.sh スクリプトを実行した後、CivitAI ブラウザ拡張機能を介してモデルをインストールするための手順は次のとおりです:

  1. WebUIの“拡張機能”タブに移動します。

  2. “利用可能” サブタブに移動します。

  3. “ロード元から” とラベル付けされたオレンジのボタンをクリックして、リポジトリから利用可能な拡張機能をロードしてください。

  4. 検索バーに“CivitAI Browser+ ”と入力し、インストールボタンをクリックします。

  5. インストールが完了したら、“インストール済み”のサブタブに移動してください。

  6. 適用してUIを再起動をクリックして拡張機能を有効にします。

  7. 再起動ボタンをクリックすると、コンソールが“Reloading ”で停止しているように見える場合があります。ターミナルのコンソール出力から生成された新しいhttps://[HASHING].gradio.liveリンクを使用する必要があります。

WebUIが再起動すると、新しいタブ“CivitAIブラウザ+”が表示されます。この拡張機能を使用すると、CivitAIから直接モデルを簡単に検索してインストールできます。

このデモでは、CivitAI Browser+ タブ内で “西洋アニメーション” を検索し、それをインストールします。 スーパーマン のサムネイルが付いたものを選んでください。このモデルを次のパートの短期講座で、テキストから画像を生成する (txt2img) に使用します。

あなたの最初の生成AIアート:ステーブルディフュージョンプロンプト作成チュートリアル

Stable Diffusionは、特定の画像を作成するためにAIを指導するためにポジティブなプロンプトとネガティブなプロンプトを使用する強力なAI画像生成ツールです。このチュートリアルでは、海洋生物に関連するプロンプトの書き方と、Stable Diffusion WebUIで画像の品質を向上させるためのネガティブプロンプトの使用方法を説明します。

プロンプトの書き方

プロンプトは画像生成の核心部分です。ポジティブプロンプトはAIにあなたが見たいものを伝え、ネガティブプロンプトは望ましくない要素を除外するのに役立ちます。ここでは、プロンプトの書き方を示すために海洋生物に関連する例を挙げます。

1. ポジティブなプロンプトを書くこと

プロンプトを書くときは、生成したいものを英語で説明してください。簡単な文やカンマで区切られたキーワードを使って、特徴を説明することができます。以下は海洋生物に関連するいくつかの例です:

  1. サンゴ礁の上を泳ぐウミガメを生成してください。

    a sea turtle swimming over a coral reef
    

    または、キーワードとして簡略化すると:

    sea turtle, swimming, coral reef, ocean
    

  2. カラフルな魚の群れを生成する:

    colorful fish, swimming in the ocean, school of fish, tropical fish
    

2. ネガティブプロンプトの使用

ネガティブプロンプトは、特に複数の画像を生成する際に、望ましくない要素を除外するために有用です。低品質または不正確な結果を避けるための一般的なネガティブプロンプトをいくつか紹介します:

lowres, bad anatomy, blurry, text, error, cropped, worst quality, jpeg artifacts, watermark, signature, low quality, worst quality

あなたはまた、海洋生物の画像に含めたくない特定の要素を追加することもできます。例えば、人間のキャラクターや建物などです。

nsfw, weapon, blood, human, car, city, building

Stable Diffusionでtxt2imageを使用する方法

Stable Diffusion WebUIのtxt2image機能を使用すると、あなたが書いたプロンプトに基づいて画像を生成できます。使用方法は次のとおりです:

  1. ポジティブおよびネガティブプロンプトを入力してください: 左のテキストボックスに、次のような海洋生物に関連するプロンプトを入力してください:

    colorful fish, coral reef, underwater, ocean, vibrant colors
    

    否定的なプロンプトでは、望ましくない要素を除外してください:

    lowres, bad anatomy, text, blurry, weapon, human
    
  2. サンプリング方法を選択: サンプリング方法には“DPM++ 2M SDE Heun ”または“Euler a ”を試してください。

  3. 画像の寸法とステップを設定: 幅と高さを1024x512に設定し、サンプリングステップを30に設定します。また、画像の詳細を改善するために、デフォルト値の“Hires. fix”を選択することもできます。これは海洋生物にも役立つかもしれません。

  4. 画像を生成する: 右上の“生成”ボタンをクリックして画像の生成を開始します。完了したら、必要に応じて画像を保存したり調整したりできます。

一般的な構文と拡張機能

Stable Diffusion WebUIは、画像生成の精度を向上させるための異なる構文を提供しています。以下はいくつかの便利な構文です:

  • 注意/強調: プロンプト内の特定の要素を強調するために、括弧 ( ) を使用します。例えば、イルカの色を強調するには:

    dolphin, ((blue)), ocean, swimming
    

  • プロンプト切り替え: この構文を使用して生成プロセス中にプロンプトを切り替えることができます:

    [shark : whale : 10] swimming in the ocean
    

例のプロンプト

  1. 水中でタコを生成する:

    octopus, underwater, ocean, coral reef, vibrant colors
    

    ネガティブプロンプト:

    lowres, blurry, bad anatomy, text, human
    

  2. 水から飛び出しているイルカを生成する:

    dolphin, jumping out of the water, ocean, sunset, splash, realistic
    

    ネガティブプロンプト:

    lowres, bad anatomy, blurry, text, car, building
    

  3. 深い水の中を泳ぐサメを生成する:

    shark, swimming, deep ocean, dark blue water, scary, realistic
    

    ネガティブプロンプト:

    lowres, bad anatomy, blurry, text, human, building
    

結論

これは、DigitalOceanのGPUドロップレットを使用して、Stable DiffusionでGen-AIアートを作成する旅の始まりに過ぎません。今後のシリーズでは、GPU DigitalOcean Kubernetes上でコンテナ化されたStable Diffusion APIを実行する方法をさらに深く掘り下げ、他のDigitalOcean製品とともに実際の使用例を探ります。さらにエキサイティングな洞察やチュートリアルをお楽しみに!

関連記事: