или "Как сжечь свою видюхю".
Спасибо за просмотр, надеюсь тема годная, фото примеров работы нейронки на моей GTX прикрепил
Клонируем репозиторий командой
Потом переходим по ссылке ЖМЯК и скачиваем файл v1-5-pruned-emaonly.ckpt или v1-5-pruned.ckpt . Для тех, кому нужно только протестить, качаете первый. Когда скачали, закидывем по пути {Скачанный репозиторий}\models\Stable-diffusion\ (если папок нету - создаём)
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
или переходим по ссылке и скачиваем (Code->Downoad ZIP и распаковываете куда угодно)Потом переходим по ссылке ЖМЯК и скачиваем файл v1-5-pruned-emaonly.ckpt или v1-5-pruned.ckpt . Для тех, кому нужно только протестить, качаете первый. Когда скачали, закидывем по пути {Скачанный репозиторий}\models\Stable-diffusion\ (если папок нету - создаём)
В папку репозитория есть файлы webui.bat и wenui-user.bat. Кому только протестить, открывайте первый, а кому норм настроить - изменяем второй. Внутри этого второго файла есть строка "set COMMANDLINE_ARGS=", в конец добавляем:
После всех настроек запускаем долгожданный файл wenui-user.bat. Ждём. Если вы добавляли xformers, скрипт установит его автоматом (5-7 минут если у вас инет 300 кб/сек)
Потом (минут 4-10) у вас появится строка в консоли типа "Running on local URL: http://127.0.0.1:7860". переходим по ссылке http://127.0.0.1:7860 в браузере и получаем интерфейс stable diffusion с гибкой настройкой (кол-во степеней, разрешение, кол-во фото за один запрос, негатив промпт (то, что НЕ нужно рисовать) сид(ключ генерации), и т. д.). Ах и да, это только вкладка txt2img. А есть ещё img2img для обработки фото нейронкой (по типу Inpaint от Nvidia)
- если вы хотите потом из этого брать фоточки по апи, добавим --api
- если у вас ху.вая видюха (VRAM ниже 4ГБ) или её вообще нет, то дописываем --xformers --lowram , будет использовать ОЗУ (для чайников - каждый аргумент отделяем одним пробелом)
- Если после запуска у вас в веб интерфейсе под поле с фото пишет чота про Nan и Half, то добавим аргумент --no-half
После всех настроек запускаем долгожданный файл wenui-user.bat. Ждём. Если вы добавляли xformers, скрипт установит его автоматом (5-7 минут если у вас инет 300 кб/сек)
Потом (минут 4-10) у вас появится строка в консоли типа "Running on local URL: http://127.0.0.1:7860". переходим по ссылке http://127.0.0.1:7860 в браузере и получаем интерфейс stable diffusion с гибкой настройкой (кол-во степеней, разрешение, кол-во фото за один запрос, негатив промпт (то, что НЕ нужно рисовать) сид(ключ генерации), и т. д.). Ах и да, это только вкладка txt2img. А есть ещё img2img для обработки фото нейронкой (по типу Inpaint от Nvidia)
Итак, код для генерации фоток прямо из вашего пайтон скрипта (не забываем добавить аргумент --api в файл webui-user.bat)
Если ничего не делает при запуске - выучите питон и поймите, что тут я задал лишь функцию, чтобы можно было импортировать в свой скрипт и вызвать функцию gen(). Если чота пишет потом про отсутсввие файла/папки, создайте в папке со скриптом рядом папку diffimages
Удачи!
Код:
import json
import requests
import io
import base64
import random
import json
import os
from PIL import Image, PngImagePlugin
url = "http://127.0.0.1:7860"
def gen(text, steps):
payload = {
"prompt": text,
"steps": steps
}
name = 'GEN_'
for i in range(random.randint(15,25)):
name+=random.choice('QAZXfrSWEDCVFRTqazxswgbnhyujmkiolpGBNHYUJedcvtMKIOLP')
try:
response = requests.post(url=f'{url}/sdapi/v1/txt2img', json=payload)
except:
print('super maga eror')
r = response.json()
rji = json.loads(r['info'])
seed = rji['seed']
for i in r['images']:
image = Image.open(io.BytesIO(base64.b64decode(i.split(",",1)[0])))
png_payload = {
"image": "data:image/png;base64," + i
}
response2 = requests.post(url=f'{url}/sdapi/v1/png-info', json=png_payload)
pnginfo = PngImagePlugin.PngInfo()
pnginfo.add_text("parameters", response2.json().get("info"))
image.save(f'diffimages/{name}.png', pnginfo=pnginfo)
return [name, seed]
Удачи!
Вложения
Последнее редактирование: