После итераций SDXL0.9 и SDXL Beta наконец-то выпущена официальная версия SDXL1.0!
Раньше для создания изображений использовался AIGC, который обычно создавал изображения размером 512*512, а затем увеличивал их, чтобы они соответствовали требованиям к изображениям высокой четкости. Но здесь есть проблема: базовые модели на самом деле обучаются на массивных изображениях размером 512*512, поэтому результаты изображений часто бывают неудовлетворительными, а детализация хуже. На этот раз SDXL1.0 напрямую использует большое количество изображений размером 1024*1024 для обучения базовой модели, и она разделена на базовую модель для винсентианских изображений и уточняющую модель для оптимизации и усиления винсентианских изображений, таким образом достигая разных результатов на открытом воздухе. исходный код и бесплатное графическое программное обеспечение Vincentian Потеряны из-за эффекта рендеринга Midjourney.
Помимо разницы в размерах между SDXL и исходной моделью SD1.5, самая большая разница заключается в том, что SDXL состоит из двух наборов моделей: базовой модели и модели оптимизации рафинера. Сначала вам нужно запустить базовую модель, а затем уточненную модель. Базовая модель задает глобальную композицию, а уточненная модель добавляет более мелкие детали. Вы также можете выбрать запуск только базовой модели.
Языковая модель (модуль, который понимает ваши подсказки) представляет собой комбинацию крупнейшей модели OpenClip (ViT-G/14) и собственной разработки OpenAI CLIP ViT-L. Это разумный выбор, поскольку Stable Diffusion v2 использует только OpenClip, что редко приводит к успеху. Повторное внедрение CLIP от OpenAI могло бы упростить подсказки. Советы, которые работают в версии 1.5, будут работать так же хорошо или даже лучше в SDXL.
Самая важная часть диффузионной модели — U-Net — теперь в 3 раза больше. В сочетании с более крупной языковой моделью модель SDXL может создавать высококачественные изображения, которые точно соответствуют репликам.
Поскольку базовая модель обучается с размером 1024*1024, что в 4 раза больше, чем исходное 512*512, размер базовой модели также близок к 7 ГБ, а уточненный размер также почти 7 ГБ, что требует более высокого оборудования ( Память графического процессора)! Если у вас менее 8 ГБ видеопамяти, рекомендуется не трогать SDXL.
Поскольку семантическое понимание слов-подсказок более точное, а разрешение базовой модели выше, рендеринг света, качества изображения, объектива, угла, фокуса и т. д. является более точным. Ниже приведена подсказка, которую я использую для создания. непосредственно на основе изображений базовой модели XL.
1 | photo of young Chinese woman, highlight hair, sitting outside restaurant, wearing dress, rim lighting, studio lighting, looking at the camera, dslr, ultra quality, sharp focus, tack sharp, dof, film grain, Fujifilm XT3, crystal clear, 8K UHD, highly detailed glossy eyes, high detailed skin, skin pores |
---|
Если вы создадите график на основе этого графика и воспользуетесь моделью уточнения, вы сможете получить лучшие результаты.
Раньше в SD1.5 нельзя было улучшить текст на картинке в словах-подсказках. Теперь в SDXL можно добиться лучшей отрисовки английских слов, но иногда это зависит от удачи, и часто так и будет. Есть некоторые недостатки, но они лучше, чем ничего, а это всегда большое улучшение. Это слово-подсказка:
1 | A fast food restaurant on the moon with name "Devin Burger" |
---|
Это изображение диаграммы Винсента:
Кроме того, SDXL обладает отличной производительностью при двумерном рендеринге и рендеринге сцен. Я не буду приводить здесь примеры один за другим. Пожалуйста, попробуйте!
Давайте посмотрим, как установить и использовать SDXL1.0 на сервере Linux.
Это зависит от того, Ubuntu это или CentOS. Команды могут быть разными. Не волнуйтесь, просто установите его прямо из официального источника, не вдаваясь в подробности.
Anaconda — это дистрибутив Python, включающий интерпретатор Python и множество часто используемых библиотек и инструментов Python. Цель Anaconda — упростить установку сред Python и управление ими, особенно для работы в таких областях, как наука о данных и машинное обучение. Anaconda содержит множество библиотек для обработки, анализа и визуализации данных, таких как NumPy, Pandas, Matplotlib и т. д., а также библиотеки для машинного и глубокого обучения, такие как Scikit-learn, TensorFlow и PyTorch. Anaconda также предоставляет менеджер пакетов Conda, который позволяет легко устанавливать, обновлять библиотеки и инструменты Python, а также управлять ими.
Войти на сайт:https://repo.anaconda.com/archive/ Загрузите последнюю версию Anaconda напрямую, например:
curl -O https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh
После завершения загрузки выполните:
bash Anaconda3-2023.07-1-Linux-x86_64.sh
Затем нажмите Enter до конца, скажите «да», когда следует сказать «да», и установка наконец завершится.
После завершения установки вам необходимо добавить переменные среды в ~/.bashrc:
export PATH=$PATH:/root/anaconda3/bin
Затем создайте файл ~/.bashrc, загрузите переменные среды, а затем проверьте версию, чтобы определить, прошла ли установка успешно:
conda -V
Если оно отображается правильно, установка прошла успешно.
Затем нам нужно создать среду conda через Anaconda и развернуть соответствующие сервисы на основе этой среды.
conda create -n sdwebui python=3.10
Затем
conda init bash
После завершения выполнения необходимо перезагрузить терминал. Затем
conda activate sdwebui
Войдите в среду, подготовленную для SD WebUI.
(sdwebui) [root@localhost]
Выполнить команду:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Клонируйте код с GitHub на локальный. Затем Не забудьте переключиться на версию, поддерживающую SDXL.,Например v1.5.1,Конечно, доступны и более высокие версии!
git checkout v1.5.1
Конечно, поскольку мы работаем на сервере, нам нужно включить удаленный доступ вместо 127.0.0.1. Также нужно включить некоторые оптимизации и тому подобное. Нам нужно изменить файл webui-user.sh.
export COMMANDLINE_ARGS="--disable-nan-check --no-half-vae --api --xformers --listen --share --enable-insecure-extension-access --medvram --opt-split-attention"
Параметры здесь суммированы мной посредством использования. Конечно, если вы не хотите получать доступ программно через API, вы можете удалить --api. Однако настоятельно рекомендуется включить xformers. значительно сэкономить потребление памяти графического процессора.
После модификации запустите ./webui.sh. При первом запуске системы обнаружится, что многие зависимые библиотеки отсутствуют, поэтому она будет загружена автоматически. Здесь мы просто оставляем сеть открытой.
Если загрузка зависимостей завершена, в журнале консоли вы увидите, что запуск прошел успешно. Мы получаем доступ к IP-адресу сервера графического процессора в браузере нашего компьютера:
Теперь вы можете увидеть SD WebUI!
В настоящее время мы не загрузили базовую модель SDXL1.0. Нам необходимо загрузить ее вручную с HuggingFace. Конкретный URL-адрес:
Эти два файла являются базовыми моделями, около 7 Г каждый. После загрузки на GPU-сервер их нужно поместить в папку Stable-diffusion-webui/models/Stable-diffusion. Существует также файл VAE, адрес загрузки которого не является обязательным:
https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors
После загрузки поместите его в папку Stable-diffusion-webui/models/VAE.
ЗатемпойдемSD WebUI обновите список базовых моделей, и вы увидите базовую и усовершенствованную модели XL.
Что касается VAE, то он по умолчанию не отображается в пользовательском интерфейсе и его можно добавить в настройках пользовательского интерфейса. Далее вы сможете насладиться новыми возможностями SDXL в SD WebUI!
1. Перед выпуском SDXL1.0 вам необходимо было установить расширение Demo для sd-webui, чтобы использовать SDXL. Это больше не требуется, поэтому, если вы уже установили расширение Demo, вы можете удалить его.
2. Непосредственно создавайте изображения размером 1024 или выше. Не создавайте изображения размером 512*512.
3. Ранее загруженную Lora, базовую модель, встраивание и т. д. нельзя использовать на SDXL1.0, поэтому вам необходимо снова загрузить специальную версию SDXL со станции C. Многие Лоры не выпустили версию Лоры XL, поэтому всем следует подождать, пока экология не обогатится, прежде чем использовать ее в качестве производственного инструмента.
4. Средство обучения Lora также было обновлено, и существует соответствующая ветка версии SDXL, поэтому учащиеся, которые хотят обучать Lora, должны не забыть переключить версию средства обучения и переобучить свою собственную XL Lora.