Diffusionにおけるトークンについて理解したい」このような場合には、この記事の内容が参考になります。この記事では、プロンプトのトークン数を確認する方法について解説しています。言語モデルの違いそれでは、上記に沿って解説していきます。プロンプトのトークンとは?プロンプトは、もうみなさんお馴染みですね。呪文と言ったりすることもあります。Diffusionのデフォルトとも言えるのが、次のプロンプトです。marsこのプロンプトでは、次のような画像を生成できます。実際にこのプロンプトを利用しているコードは、次の記事に載せています。1.5vの利用方法がわからない・・・」このような場合には、この記事の内容が参考になります。1.5vを利用する方法を解説しています。self-development.info2022.10.22では、このプロンプトは一体何個のトークンからできているのでしょうか?答えは、10個のトークンとなります。Diffusionにおいてはすべて対象となります。トークン数が76個以上となればすべてが対象とはなりません。最初の75個までが、画像生成における対象プロンプトとなります。プロンプトは最大75個のトークンで記述する必要があるということです。これには例外があります。76個以上のトークンでも、すべてを画像生成時のプロンプトとして対象にすることは可能です。長いプロンプトを利用する方法については、次の記事で解説しています。Diffusionにおけるプロンプトの長さはどれくらいまで?」「Diffusers利用時にプロンプトを長くしたい」このような場合には、この記事の内容が参考になります。Diffusionで長いプロンプトを利用する方法を解説しています。self-development.info2022.12.26では、トークンとは一体何なのでしょうか?簡単に言うと、プログラム(AI)が認識できる単位で区切った言葉と言えます。その場合の判断には、言語モデルを利用しています。この言語モデルの質によって、AIの文章に対する理解度が変わってきます。以上、プロンプトのトークンについて説明しました。v1-5までのトークン数確認方法を説明します。v1-5までは、推論時に次の言語モデルを利用しています。Face上で公開されています。Facehttps://huggingface.co/openai/clip-vit-large-patch14上記モデルを利用して、トークンを認識しています。したがって、トークンの状況を確認するには以下コードを用います。tokenizer.tokenize(prompt)print(len(tokens))pprint.pprint(tokens)上記コードを実行すると、次のような結果が表示されます。言語モデルが存在しない場合はモデルのダウンロードが始まります。'mars</w>']「10」は、トークン数を表示しています。それ以外は、トークンすべての表示となります。v1-5までのトークン数確認方法を説明しました。v2以降のトークン数確認方法を説明します。v2以降は、推論時に次の言語モデルを利用しています。このモデルは一般的に公開はされていません。Diffusion専用で新たに開発された言語モデルだからです。ベースとなるのは次の言語モデルだと思われます。学習時には、laionのOpenCLIP-ViT/Hを言語モデルに利用したと記載されています。このモデルは、正式には次の名称となります。この言語モデルは、公開されています。そのため、次のようなコードでもトークンの状況は把握可能です。tokenizer.tokenize(prompt)print(len(tokens))pprint.pprint(tokens)ただし、これは本当に推論時に利用されている言語モデルではありません。実際の言語モデルを指定するなら、次のような指定となります。"safe-stable-diffusion-2-1/tokenizer"上記のパスは、「stabilityai/stable-diffusion-2-1」のトークナイザを直接指定しています。v2-1をSafetensors形式に変換したモデルとなります。変換については、次の記事で解説しています。Diffusionの処理を高速化したい」「ダウンロード済みのモデルが再度ダウンロードされる事象が発生している・・・」このような場合には、この記事の内容が参考になります。Diffusionにおけるモデル読み込みを高速化する方法について解説しています。self-development.info2022.12.13コードの実行を結果を載せておきます。どちらの言語モデルを指定しても、同じ結果です。v2以降のトークン数確認方法を説明しました。次は、言語モデルの違いについて説明します。言語モデルの違い上記の結果を見る限り、言語モデルの違いで差異はありませんでした。トークン数は「10」で全く同じです。長いプロンプトの場合だと結果は変わってくる可能性はあります。それぞれの言語モデルには、一応は性能的に差があります。上のモデルほど、良いモデルとされています。言語モデル(テキストエンコーダ)が異なることによる差異は、次の記事で説明しています。Diffusionで画像の精度を上げたい」「テキストエンコーダのモデルによる画像精度の影響度を知りたい」このような場合には、この記事の内容が参考になります。この記事では、テキストエンコーダを変更することによる画像精度への効果を解説しています。self-development.info2022.10.31画像を生成してみると、その違いは思ったよりも鮮明になります。以上、言語モデルの違いを説明しました。DiffusionではどうやってVAEを用いるの?」このような場合には、この記事の内容が参考になります。22について解説しています。Diffusion】呪文・引数を画像に保存する「気に入った画像の呪文を忘れてしまった・・・」「guidance_scaleやnum_inference_stepsの数値を保存しておきたい・・・」このような場合には、この記事の内容が参考になります。Diffusionで呪文・引数を画像に保存する方法を解説しています。【DreamBooth実践】漫☆画太郎の画像を学ばせる「DreamBoothの本当の実力はどうなの?」「DreamBoothの実践的な利用方法を知りたい」このような場合には、この記事の内容が参考になります。この記事では、DreamBoothで漫☆画太郎氏の画像を学習する実践的な利用方法を解説しています。VAEがオススメです。TTS(Webアプリ)のインストール「声優の声で音声合成を行いたい」「MoeGoeのWebアプリをローカル環境にインストールしたい」このような場合には、この記事の内容が参考になります。TTS(Webアプリ)をローカル環境にインストールする方法を解説しています。Reframingがオススメです。Reframingをインストールする方法を解説しています。機械学習テキストから人物動作を生成できるT2M-GPTアプリ「ある動作を動画で他人に見せたい」「言葉だけでは伝わりにくい動きを動画で表現したい」このような場合には、この記事の内容が参考になります。この記事では、テキストから人物動作を生成できるT2M-GPTアプリについて解説しています。「イラストの構図が豊富なTrinArtをDiffusersで利用したい」このような場合には、この記事で紹介しているTrinArt(でりだモデル)がオススメです。DiffusionのNSFWコンテンツ対策を無効化する方法2022.08.262022.09.30PyTorchのインストール失敗時にチェックすべきこと2022.03.082022.03.22self_developmentプロフィールself_developmentをフォローするタイトルとURLをコピーしました。