{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "139e04f1-e66d-410a-8423-aaef457785b9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/recoilme/.local/lib/python3.11/site-packages/xformers/ops/fmha/flash.py:211: FutureWarning: `torch.library.impl_abstract` was renamed to `torch.library.register_fake`. Please use that instead; we will remove `torch.library.impl_abstract` in a future version of PyTorch.\n", " @torch.library.impl_abstract(\"xformers_flash::flash_fwd\")\n", "/home/recoilme/.local/lib/python3.11/site-packages/xformers/ops/fmha/flash.py:344: FutureWarning: `torch.library.impl_abstract` was renamed to `torch.library.register_fake`. Please use that instead; we will remove `torch.library.impl_abstract` in a future version of PyTorch.\n", " @torch.library.impl_abstract(\"xformers_flash::flash_bwd\")\n", "Keyword arguments {'trust_remote_code': True} are not expected by WaifuPipeline and will be ignored.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "0b0a3d059037482ab50ca5130b225a86", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Loading pipeline components...: 0%| | 0/5 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import torch\n", "from diffusers import DiffusionPipeline\n", "\n", "from transformers import XLMRobertaTokenizerFast,XLMRobertaModel\n", "from diffusers import FlowMatchEulerDiscreteScheduler\n", "from diffusers.models import AutoencoderKL\n", "from diffusers import SanaTransformer2DModel\n", "\n", "pipe_id = \"AiArtLab/waifu-2b\"\n", "variant = \"fp16\"\n", "# tokenizer\n", "tokenizer = XLMRobertaTokenizerFast.from_pretrained(\n", " pipe_id,\n", " subfolder=\"tokenizer\"\n", ")\n", "\n", "# text_encoder\n", "text_encoder = XLMRobertaModel.from_pretrained(\n", " pipe_id,\n", " variant=variant,\n", " subfolder=\"text_encoder\",\n", " add_pooling_layer=False\n", ").to(\"cuda\")\n", "\n", "# scheduler\n", "scheduler = FlowMatchEulerDiscreteScheduler(shift=1.0)\n", "\n", "# VAE\n", "vae = AutoencoderKL.from_pretrained(\n", " pipe_id,\n", " variant=variant,\n", " subfolder=\"vae\"\n", ").to(\"cuda\")\n", "\n", "# Transformer\n", "transformer = SanaTransformer2DModel.from_pretrained(\n", " pipe_id,\n", " variant=variant,\n", " subfolder=\"transformer\"\n", ").to(\"cuda\")\n", "\n", "# Pipeline\n", "pipeline = DiffusionPipeline.from_pretrained(\n", " pipe_id,\n", " tokenizer=tokenizer,\n", " text_encoder=text_encoder,\n", " vae=vae,\n", " transformer=transformer,\n", " trust_remote_code=True,\n", ").to(\"cuda\")\n", "print(pipeline)\n", "\n", "prompt = 'аниме девушка, waifu, يبتسم جنسيا , sur le fond de la tour Eiffel'\n", "generator = torch.Generator(device=\"cuda\").manual_seed(42)\n", "\n", "image = pipeline(\n", " prompt = prompt,\n", " negative_prompt = \"\",\n", " generator=generator,\n", ")[0]\n", "\n", "for img in image:\n", " img.show()\n", " img.save('waifu.png')\n" ] }, { "cell_type": "code", "execution_count": null, "id": "c41fd631-41ba-4a8a-93f4-aa481113b12e", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }