Diffusionを用いて、テキストから画像を生成するプログラムをPythonで書きます。日進月歩で新しい技術が登場することもあり、今回の記事で紹介した内容がすぐに古くなる可能性があります。そのため、今回紹介したコードが動作しなくなるなどの可能性も考えられますので、必ず公式のWebページ等もご参考いただけますと幸いです。Diffusionとは、2022年8月に無償公開された画像描画AIです。学習済みモデルが公開されており、Pythonから利用することが出来ます。Diffusionを用いることで、テキストでを与えることでそれに応じて画像が自動生成されます。Imageタスクと呼びます。sky」といった文字を入力することで以下のような画像を生成してくれます。Colaboratoryを用いて、コードを書いていきます。ランタイムをGPUに変更します。GPUランライムの変更はこちらの記事をご参照ください。Faceは、自然言語処理を対象にしたオープンソースの人工知能コミュニティーで、学習済みモデルやデータセットなどが公開されているサービスです。Upよりアカウントを作成します。メールアドレスとパスワードを入力すると以下のようなページに遷移します。nameを入力します。Account」ボタンを押すことでアカウントの作成が完了します。repositryボタンを押して承認します。承認後、HuggingFaceの画面右上のアイコンから[Settings]ページをクリックします。Token」よりトークン発行します。今回Nameには「Stable-diffusion-v1-4」と入力しています。Colabのセルに以下のコマンドを入力し、実行ください。ftfyDiffusersはHuggingFaceが開発しているライブラリです。画像や音声に対応した事前学習済みの拡散モデルが提供されており、モデルのダウンロードを簡単に行うことが出来ます。今回はDiffusersを用いて、「stable-diffusion-v1-4」を読み込みます。モデルの読み込み先ほど発行したトークンを変数access_tokenに指定し、以下のコードをColabに記載しコードを実行ください。use_auth_token=access_token)model.to("cuda")これで事前準備は完了です。テキストから画像を生成するモデルの読み込みが無事出来ましたら、あとは文章をモデルに渡すことで画像が生成されます。Colabのセルに生成した画像を保存しておくoutputsフォルダをmkdirコマンドで作成します。outputs続いて文書から画像を生成するコードを書いていきます。image.save(f"outputs/{i}.png")promptは生成させたいもととなる文章です。任意の文章に変えてみてください。numという変数には生成する枚数を指定しています。今回は3に設定しているため3枚の画像が生成されます。画像は、outputsフォルダ内に保存されています。中身を確認すると画像が3枚生成されています。うち1枚は以下のような画像でした。outpusフォルダに生成された画像はmatplotlibを用いて以下のコードで描画可能です。SQL、深層学習の基礎から、応用範囲まで幅広く学ぶことが出来ます。独学でプログラミングを学習したが挫折してしまった方や、機械学習や深層学習に関してわからないことを講師にいつでも質問できる環境で学びたいという方は是非ご受講ご検討ください。Academy運営事務局です。PythonやAIに関する記事を書いていきます。