Kandinsky(カンディンスキー)とは?
ロシア製の画像生成AIモデルで、ユーザーの入力に基づいてアートを生成する先進的なAIシステムとされています。Kandinskyのバージョン2.1と2.2はいずれも公開されており、特にKandinsky 2.2はリアルな画像の生成、高解像度(1024×1024)、ControlNetのサポート、より詳細で広範なシーンの生成が可能であるとされています。
Kandinskyは以下の特徴を持っています:
- 多言語対応: Kandinskyは多言語対応で、日本語を含む多くの言語でのプロンプトによる画像生成が可能です。
- テキスト条件付き拡散モデル: Kandinsky 2.2は、テキスト条件付き拡散モデルであり、unCLIPおよびlatent diffusionに基づいています。このモデルは、transformerベースの画像priorモデル、unet拡散モデル、およびデコーダーから構成されています。
- Dall-E 2とLatent Diffusionの技術統合: Kandinsky 2は、Dall-E 2とLatent Diffusionの良い部分を組み合わせたモデルとされており、これらの技術を利用して画像生成を行っています。
- SberbankとSberAIによる開発: Kandinsky 2.1はSberbankによってローンチされ、SberAI、AIRIA、およびSberdevicesとの協力のもとに開発されました。
これらの特徴により、Kandinskyはユーザーのテキスト入力に基づいて高品質な画像を生成する能力を持っています。また、KandinskyはオープンソースのAIモデルであり、多くの異なる言語に対応しているため、広範なユーザーに利用されています。
以下のGitHubのページを参考に、自分のパソコンにインストールします。ローカル環境で可能です
pythonのバージョンは3.10.11で、CUDA11.8が、Windowsにインストールしてあります。なぜなら、GitHubのスクリプトの内容を確認すると、仮想環境にインストールされるCUDAのバージョンが11.8であったからです。
Pythonの仮想環境とホストシステムでCUDAのバージョンを合わせるかどうかは、プロジェクトの要件や使用する他のツールおよびライブラリに依存します。しかし、いくつかの一般的な指針があります。
- 互換性:
- 特定のライブラリやフレームワーク(例えばTensorFlowやPyTorch)は特定のCUDAバージョンとの互換性があります。これらのライブラリの要件を満たすためには、推奨されるCUDAバージョンを使用することが重要です。
- 安定性:
- CUDAのバージョンを合わせることで、仮想環境とホストシステム間での互換性と安定性を保証することができます。これは、特にGPUを利用した計算を行う際に重要です。
- エラートラブルシューティング:
- 仮想環境とホストシステムで同じCUDAバージョンを使用することで、エラートラブルシューティングを簡単に行うことができます。異なるバージョンを使用すると、バージョン間の不整合によるエラーを解決するのが難しくなる可能性があります。
- パフォーマンス:
- 一般的に、最新のCUDAバージョンは最新の機能と最適化が提供されるため、パフォーマンスが向上する可能性があります。しかし、最新バージョンが必ずしもベストであるとは限りません。プロジェクトの要件と互換性を考慮することが重要です。
- アップグレードとダウングレード:
- CUDAのバージョンをアップグレードまたはダウングレードすることは可能ですが、これには時間と労力がかかる可能性があり、また予期しない問題が発生する可能性もあります。
仮想環境を設定する際は、プロジェクトの依存関係と要件を考慮し、可能な限り互換性のあるCUDAバージョンを選択することが重要です。また、仮想環境とホストシステムでCUDAバージョンを合わせることで、多くの潜在的な問題を避けることができます。
コマンドプロンプトで適当なフォルダでクローンを作成します。
git clone https://github.com/seruva19/kubin.git
作成されたディレクトリに移動します。
cd kubin
この場所で、バッチファイルを実行します。バッチファイルの内容は以下の通りです。
このコマンド群はPythonの仮想環境をセットアップし、その環境内で依存関係をインストールするためのものです。コマンドの説明は以下の通りです。
python -m venv venv
:- このコマンドは、
venv
という名前の仮想環境を作成します。仮想環境は、プロジェクトの依存関係を隔離し、他のシステムのPython環境との干渉を防ぐために使用されます。
- このコマンドは、
call venv\Scripts\activate.bat
:- このコマンドは、先ほど作成した
venv
仮想環境をアクティベートします。これにより、次に実行するコマンドはこの仮想環境内で実行されるようになります(Windows環境の場合)。仮想環境がアクティブである間、Pythonとpipのコマンドはこの仮想環境に適用されます。
- このコマンドは、先ほど作成した
pip install -r requirements.txt --no-cache-dir --ignore-installed --force-reinstall
:- このコマンドは、
requirements.txt
ファイルにリストされた依存関係をインストールします。加えて、いくつかのフラグが指定されています:--no-cache-dir
: このフラグはpipにキャッシュを無効にし、依存関係をダウンロードするたびにネットワークからフェッチするように指示します。--ignore-installed
: このフラグは、すでにインストールされているパッケージを無視し、要件にリストされているすべてのパッケージを再インストールするように指示します。--force-reinstall
: このフラグは、要件にリストされているすべてのパッケージを強制的に再インストールするように指示します。これは--ignore-installed
フラグと組み合わせて、依存関係をクリーンな状態で保つのに役立ちます。
- このコマンドは、
これらのコマンドを順に実行することで、新しい仮想環境をセットアップし、その環境内でプロジェクトの依存関係をインストールすることができます。これにより、プロジェクトの環境を他のシステムのPython環境と隔離し、依存関係のコンフリクトを避けることができます。
install.bat
同様にして、次のバッチファイルも実行します。
install-torch.bat
このバッチファイルの中身には下記のことが記述されています。
このコマンド群は、仮想環境をアクティベートし、PyTorchの現在のインストールをアンインストールし、特定のインデックスURLから新しいバージョンのPyTorchをインストールするものです。コマンドの説明は以下の通りです。
call venv\Scripts\activate.bat
:- このコマンドは、先に作成された
venv
という名前の仮想環境をアクティベートします。これにより、次に実行するコマンドはこの仮想環境内で実行されるようになります(Windows環境の場合)。
- このコマンドは、先に作成された
pip uninstall -y torch
:- このコマンドは、仮想環境からPyTorchをアンインストールします。
-y
フラグは、アンインストールプロセス中にユーザーに確認を求めずに実行することを指示します。
- このコマンドは、仮想環境からPyTorchをアンインストールします。
pip install torch --index-url https://download.pytorch.org/whl/cu118 --force-reinstall --no-deps
:- このコマンドは、特定のインデックスURLからPyTorchをインストールします。コマンド内の各フラグは以下の意味を持ちます:
--index-url https://download.pytorch.org/whl/cu118
: このフラグはpipに、指定されたURLからPyTorchのホイールファイルを検索し、ダウンロードするように指示します。このURLは、CUDA 11.8に対応するPyTorchのビルドを含んでいます。--force-reinstall
: このフラグは、PyTorchを強制的に再インストールすることを指示します、もし既にインストールされていても。--no-deps
: このフラグは、依存関係をインストールせずにPyTorchのみをインストールすることを指示します。これは、他の依存関係が既にインストールされているか、または別の方法で管理されている場合に役立ちます。
- このコマンドは、特定のインデックスURLからPyTorchをインストールします。コマンド内の各フラグは以下の意味を持ちます:
これらのコマンドを実行することで、仮想環境内でPyTorchの特定のバージョンをインストールし、そのバージョンがCUDA 11.8と互換性があることを確認できます。これは、特定のCUDAバージョンをターゲットにしたPyTorchのインストールを行う際に役立つコマンドセットです。
最後にもう一つバッチファイルを実行します。
start.bat
このバッチファイルは仮想環境をアクティベートした後で、特定のPythonスクリプトを実行しています。
call venv\Scripts\activate.bat
:- このコマンドは、先に作成された
venv
という名前の仮想環境をアクティベートします。これにより、次に実行するコマンドはこの仮想環境内で実行されるようになります(Windows環境の場合)。
- このコマンドは、先に作成された
python src\kubin.py
:- このコマンドは、
src
ディレクトリ内のkubin.py
という名前のPythonスクリプトを実行します。このスクリプトは、仮想環境内のPythonインタプリタを使用して実行されます。このスクリプトは、何らかのタスクを実行するものであり、仮想環境内にインストールされているライブラリと依存関係を利用できます。
- このコマンドは、
正常に処理が進んだら、ブラウザでアクセスします。
初めて画像を生成するときは、モデルのダウンロードをするのでしばらく待ちます。