ComfyUIでGroundingDinoSAMSegmentを使ってエラーが出た時の対処

画像の中で必要なものだけを抽出できるSegment Anythingという手法をComfyUIで使ったときにエラーが出たので、

この記事ではその原因と対策と紹介する。

目次

エラーの内容

エラーのメインの文章は以下。

Error occured when wxecuting GroundingDinoSamSegment (segment anything):

‘Sam’ object has no attribute ‘image size’

正直、この文章からは何も分からなかった。

原因が分かってから考えるとエラー画面の下の方にヒントがあった気もする。

エラーの原因

結局のところ、カスタムノードでConflicted Nodesのカスタムノードが入っていることが原因だった。要するにカスタムノードが競合してしまっていた。

Segment Anythingは以下の画像のように、普通のsegment anythingカスタムノードとConfyUI SAM2(Segment Anything 2)カスタムノードがある。

この二つはConflicts列にマークが表示されていて、クリックすると以下の画面が出て同時に使用できないカスタムノードが表示されている。この同時に使用できないカスタムノードがインストールされていたことが原因だった。

ComfyUIでは、他の人が作ったワークフローを入れられて、足りないカスタムノードはInstall Missing Custom Nodesで一括インストールができるので、いつのまにか競合するカスタムノードが入っているということもありえなくない。

エラーの対策

このエラーを解消するには使わない方のカスタムノードを無効にする必要がある。

今回使いたかったのは以下の画像のようにsegment anythingカスタムノードの方なので、ConfyUI SAM2(Segment Anything 2)カスタムノードを無効にする必要がある。

無効にするには、無効にしたいカスタムノードのチェックボックスをチェックする。

チェックすると、画面下の方にボタンが表示されるので、その中のDisableボタンを押す。

以下の画像の画面のようになったら、ComfyUIを再起動する。

Google colaboratoryで実行している場合は、実行されているセルを中断して、実行し直す。

ComfyUIが起動し直したら、カスタムノードが無効になっているか確認する。

無効にしたカスタムノードのInstall列のボタンでDisableが消えて、Enableボタンが出ていたら無効になっている。

まとめ

ComfyUIは手軽にカスタムノードがインストールできるが、カスタムノードには同時に使用できないものもあったりする。

その時出るエラーは必ずしもカスタムノードが競合していることを教えてはくれないので、よくわからないエラーが出た時は競合するカスタムノードを使用していないか確認して見てもいいかもしれない。

ComfyUIの他の記事

Inpaintするときに一度に複数枚の画像生成をする方法

CivitaiのCheckpointを使ってエラーが出た時の対処

Colabでやるときの注意点

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次