画像処理タスクの連鎖を簡単かつカスタマイズ可能にすることを目的としたノードベースの画像処理 GUI。 AI アップスケーリング アプリケーションとして誕生したchainNNer は、非常に柔軟で強力なプログラムによる画像処理アプリケーションに成長しました。
ChaiNNer は、他のほとんどの人が行っていないレベルの画像処理ワークフローのカスタマイズを提供します。処理パイプラインを完全に制御できるだけでなく、いくつかのノードを接続するだけで信じられないほど複雑なタスクを実行できます。
ChaiNNer はクロスプラットフォームでもあり、Windows、MacOS、Linux 上で実行できます。
ヘルプや提案が必要な場合、または単に交流したい場合は、ChaNNer Discord サーバーに参加してください。
覚えておいてください:chainner はまだ進行中の作業であり、アルファ版です。徐々に希望通りの機能に近づいていますが、追加したい機能をすべて揃えるにはかなりの時間がかかります。 TypeScript、React、または Python の知識がある場合は、お気軽にこのプロジェクトに貢献して、その目標に近づけるようにご協力ください。
Github リリース ページから最新リリースをダウンロードし、システムに最適なインストーラーを実行します。とてもシンプルです。
ChaiNNer は起動時に分離された統合 Python ビルドをダウンロードするため、Python をインストールする必要さえありません。そこから、依存関係マネージャーを介して他のすべての依存関係をインストールできます。
システムの Python インストールを引き続き使用したい場合は、システムの Python 設定をオンにすることができます。ただし、統合された Python を使用することをお勧めします。システム Python を使用したい場合は、Python 3.11 を使用することをお勧めしますが、3.8、3.9、および 3.10 もサポートするよう努めます。
最新の変更や微調整をテストしたい場合は、夜間ビルドをお試しください。
考えられるオプションがすべてあるため、最初は怖気づくかもしれませんが、chainNNer の使い方は非常に簡単です。たとえば、アップスケールを実行するために必要な作業はこれだけです。
ただし、この時点に到達する前に、依存関係マネージャーからニューラル ネットワーク フレームワークの 1 つをインストールする必要があります。右上隅にあるボタンからアクセスできます。 ChaiNNer は、PyTorch (選択されたモデル アーキテクチャを使用)、NCNN、および ONNX のサポートを提供します。 Nvidia ユーザーにとって、PyTorch はアップスケールするための推奨される方法です。 AMD ユーザーにとって、NCNN はアップスケールの好ましい方法となります。
他のすべての Python 依存関係は自動的にインストールされ、chaiNNer は独自の統合された Python サポートも提供するため、既存の Python 構成を変更する必要はありません。
次に、ノード名を選択パネルにドラッグ アンド ドロップ (またはダブルクリック) してエディタに取り込むだけです。次に、あるノード ハンドルから別のノード ハンドルにドラッグしてノードを接続します。各ハンドルは特定のタイプに色分けされており、接続中は互換性のある接続のみが表示されます。これにより、何をどこに接続するかを非常に簡単に知ることができます。
エディターで作業チェーンを設定したら、上部バーにある緑色の「実行」ボタンを押して、作成したチェーンを実行できます。ノード間の接続がアニメーション化され、処理が完了するとアニメーションが解除され始めるのがわかります。赤い「停止」ボタンと黄色の「一時停止」ボタンをそれぞれ使用して、処理を停止または一時停止できます。
Chainer を使用して実行できる、アップスケーリング以外のタスクもたくさんあることを忘れないでください。
複数のノードを選択するには、Shift キーを押しながら、選択するすべてのノードの周囲をドラッグします。個々のノードをクリックするだけで選択することもできます。ノードが選択されている場合、Backspace キーまたは Del キーを押してエディターからノードを削除できます。
画像フォルダーに対してバッチ処理を実行するには、「画像の読み込み」ノードを使用します。ビデオを処理するには、「Load Video」ノードを使用します。ただし、「画像の読み込み」ノードと「ビデオの読み込み」ノードの両方 (またはバッチ反復を実行する 2 つのノード) をチェーン内で一緒に使用することはできないことに注意することが重要です。ただし、チェーン内の出力 (コレクター) ノードを組み合わせることができます。たとえば、「画像の保存」と「ビデオの読み込み」、「ビデオの保存」と「画像の読み込み」を使用します。
エディターのビューポート内で右クリックすると、選択できるインライン ノード リストが表示されます。実際に接続を作成するのではなく、接続をエディターにドラッグすることによってこのメニューを取得することもできます。また、接続を自動的に作成する互換性のあるノードが表示されます。
MacOS バージョン 10.x 以下はサポートされていません。
Windows バージョン 8.1 以下もサポートされていません。
Apple Silicon Mac はほぼすべてをサポートするはずです。ただし、ONNX は CPU 実行プロバイダーのみをサポートしており、NCNN が正しく動作しない場合があります。
Nvidia 以外の GPU を使用している一部の NCNN ユーザーは、出力が真っ黒になる可能性があります。メモリ不足によるグラフィックスドライバーのクラッシュが原因と思われるため、これを修正するために何をすべきかわかりません。この問題が発生した場合は、タイリング量を手動で設定してみてください。
クリップボード ノードを使用するには、Linux ユーザーは xclip をインストールする必要があります。Wayland ユーザーの場合は wl-copy をインストールする必要があります。
PyTorch 推論の場合、Nvidia GPU のみが正式にサポートされています。 Nvidia GPU がない場合は、CPU モードで PyTorch を使用する必要があります。これは、PyTorch が Nvidia の CUDA のみをサポートしているためです。 Apple Silicon Mac の MacOS ユーザーは、ChainNNer で動作する PyTorch の MPS モードを利用することもできます。
ただし、NCNN をサポートする AMD または Intel GPU をお持ちの場合、chaiNNer は NCNN 推論をサポートするようになりました。既存の NCNN .bin/.param モデル ファイル (ESRGAN 関連の SR モデルのみがテストされています) を使用することも、chaiNNer を使用して PyTorch または ONNX モデルを NCNN に変換することもできます。
NCNN の場合は、設定で使用する GPU を必ず選択してください。統合グラフィックスがデフォルトになっている可能性があります。
Nvidia GPU の場合、ONNX も使用できるオプションです。 ONNX は、PyTorch と同様に、Nvidia 以外の GPU で CPU モードを使用します。
ChaiNNer は現在、限られた量のニューラル ネットワーク アーキテクチャをサポートしています。将来的には、さらに多くのアーキテクチャがサポートされる予定です。
v0.21.0 の時点で、chaiNNer は Spandrel と呼ばれる新しいパッケージを使用して Pytorch モデル アーキテクチャをサポートします。サポートされているもののリストについては、そこにあるリストを確認してください。
トラブルシューティング情報については、トラブルシューティング ドキュメントを参照してください。
ChainNer のビルド済みバージョンを GitHub で提供しています。ただし、chaiNNer を自分でビルドしたい場合は、 npm install
(少なくとも npm v7 がインストールされていることを確認してください) を実行して、すべての nodejs 依存関係をインストールし、 npm run make
でアプリケーションをビルドします。
FAQ については、FAQ ドキュメントをご覧ください。