Всем привет, вчера обновился Automatic 1111 — самый популярный интерфейс для генерации изображений с помощью нейросетей Stable Diffusion. Посмотрим что нового!
Внизу будет полный чейнджлог который я постарался аккуратно перевести, но сперва я расскажу вам о самых заметных и приятных нововведениях, их не много, но они действительно крутые!
Мягкий инпеинтинг и поддержка моделей инпеинтинга для SDXL
Чтобы все работало хорошо надо поставить на максимум Mask blur, Masked content ставьте Original если хотите изменить то что уже нарисовано, например глаза или волосы, или Fill, если хотите добавить то, чего нет, например одеть очки или шляпу. Может понадобится поиграться с ползунком Denoising strength, в зависимости о задачи хорошо себя показывают значения от 0.5 до 1.
Структура папок при выборе моделей и лор
Поменялся интерфейс в меню экстрасетей (модели, лоры, эмбединги), теперь навигация представлена деревом каталогов и это наконец-то стало удобно.
Поддержка апскейлеров архитектуры DAT
Добавлена нативная поддержка апскейлеров формата DAT, попробуйте скачать 4xLSDIRDAT в папку stable-diffusion-webui\models\DAT, не страшно если её нет, можете создать, она появится при попытке активировать DAT апскейлер на вкладке Extras.
Кнопка быстрого Hires. fix
В txt2img теперь есть кнопка, которая позволяет сделать Hires. fix на уже готовой картинке, при этом сразу начинается апскейл экономя время.
Полный список изменений Automatic1111 версии 1.8.0
Основные особенности
- Обновление PyTorch до версии 2.1.2: улучшает общую производительность и добавляет новые функции.
- Мягкая заливка (Soft Inpainting): позволяет более естественно заполнять области на изображении.
- Поддержка FP8: использует меньшие объемы памяти при тех же вычислительных возможностях.
- Поддержка модели SDXL-Inpaint: предназначена для инпеинтинга областей на изображениях, созданных с помощью Stable Diffusion SDXL.
- Использование Spandrel: предлагает улучшенное качество результатов масштабирования и восстановления лиц.
- Автоматическая совместимость с предыдущими версиями: гарантирует корректную работу при загрузке infotext из старых изображений.
- Zero terminal SNR noise schedule option: предоставляет пользователям больший контроль над процессом генерации.
- Кнопка [✨] для исправления высокого разрешения: упрощает процесс улучшения качества выбранного изображения в галерее c помощью Hi-Res. Fix. .
- Отдельный репозиторий ресурсов: снижает зависимость от внешних сервисов и повышает безопасность.
- Официальная поддержка сэмплера LCM: расширяет возможности выбора алгоритмов генерации.
- Поддержка моделей апскейлеров DAT: позволяет увеличить детализацию изображений.
- Деревовидное представление экстра сетей: упрощает навигацию и управление экстросетями.
- Поддержка NPU (нейронных процессоров): ускоряет генерацию изображений на соответствующем оборудовании.
- Поддержка комментариев к промптам: облегчает документирование и понимание процесса создания изображений.
Незначительные изменения
- Вставка строк WIDTHxHEIGHT: теперь можно вставить строки с указанием ширины и высоты изображения в соответствующие поля.
- Живой предпросмотр на весь экран: добавлена опция для просмотра результатов генерации во весь экран.
- Сочетания клавиш для управления: добавлены сочетания клавиш для запуска генерации, пропуска и прерывания.
- Поддержка TCMALLOC: улучшена поддержка TCMALLOC на разных платформах для более эффективного использования памяти.
- Предупреждение о не найденном Lora: теперь появляется предупреждение, если модель Lora не найдена.
- Добавление отрицательных подсказок к Lora: появилась возможность добавлять отрицательные подсказки к моделям Lora в дополнительных сетях для более тонкой настройки генерации.
- Разные сиды в сетке xyz_grid: теперь можно устанавливать разные значения случайного числа (seed) для каждой оси в сетке xyz_grid.
- Преобразование VAE в bfloat16: добавлена опция для преобразования VAE в формат bfloat16, что позволяет экономить память без существенного влияния на качество.
- Улучшенная поддержка IPEX: улучшена поддержка библиотеки IPEX для ускорения вычислений на графических процессорах Intel.
- Прерывание генерации: появилась возможность прервать генерацию после завершения текущей итерации, а не ждать ее полного окончания.
- Управление полноэкранным предпросмотром: добавлено плавное появление/исчезновение элементов управления полноэкранным предпросмотром для более удобного взаимодействия.
- Более точный контроль заморозки настроек: теперь можно более точно выбирать, какие настройки будут заморожены и не будут меняться при изменении других параметров.
- Увеличение лимитов для апскейлеров: увеличены лимиты для апскейлеров, что позволяет работать с большими разрешениями.
- Регулировка размера кисти горячими клавишами: появилась возможность регулировать размер кисти с помощью горячих клавиш.
- Информация о модели: добавлена информация о модели в файл журнала CSV при сохранении изображений.
- Изменение размера столбцов: теперь можно менять размер большего количества столбцов в интерфейсе.
- Отключение наложения исходного изображения при инпеинтинге: добавлена опция не накладывать исходное изображение при инпеинтинге областей, позволяя увидеть результат инпеинтинга без наложения оригинала.
- Поддержка DDIM: добавлена опция Pad conds v0 для поддержки совместимости с алгоритмом генерации DDIM, как это было до версии 1.6.0.
- Плейсхолдер «Прерывание…»: добавлен плейсхолдер «Прерывание…» для информирования пользователя о процессе остановки генерации.
- Кнопка обновления списка расширений: добавлена кнопка для обновления списка установленных расширений.
- Отключение пост-нормализации: добавлена опция для отключения нормализации изображения после расчета усиления, (disable normalize embeddings after calculating emphasis).
- Подсчет токенов: теперь при подсчете токенов учитываются включенные стили.
- Конфигурация кнопки [📂]: добавлена возможность настройки кнопки [📂] для управления отображением изображений в галерее.
- Вывод изображений с LyCORIS BOFT: добавлена поддержка вывода изображений с использованием сетей LyCORIS BOFT.
- Поддержка изменения размера столбцов на сенсорных устройствах: добавлена поддержка изменения ширины столбцов для удобства работы на планшетах.
Расширения и API
- Удалены пакеты: больше не требуются пакеты basicsr, gfpgan, realesrgan, а также их зависимости: absl-py, addict, beautifulsoup4, future, gdown, grpcio, importlib-metadata, lmdb, lpips, Markdown, platformdirs, PySocks, soupsieve, tb-nightly, tensorboard-data-server, tomli, Werkzeug, yapf, zipp, soupsieve.
- Идентификаторы задач для API: добавлена поддержка идентификаторов задач для API, что позволяет разработчикам отслеживать выполнение задач.
- Поддержка override_settings для API infotext: добавлена возможность переопределять настройки API infotext.
- Переименование модуля: модуль generation_parameters_copypaste переименован в infotext_utils.
- Исправлен сбой: исправлен сбой, вызванный исключением Script init.
- Обновление numpy: библиотека numpy обновлена до версии 1.26.2.
- Утилита для проверки модели: добавлена утилита для проверки типа данных и устройства модели.
- Общий метод forward для lora: реализован общий метод forward для всех методов встроенного расширения lora.
- Выполнение model_loaded_callback: callback model_loaded_callback теперь выполняется после перемещения модели на целевое устройство.
- self в CFGDenoiserParams: добавлен параметр self для CFGDenoiserParams, что повышает стабильность работы denoiser.
- TLS в режиме API: разрешен TLS в режиме API only (—nowebui).
- Новый callback: добавлен новый callback postprocess_image_after_composite.
- Обновление API modules/api/api.py: добавлена эндпоинт API для обновления списка эмбедингов.
- Функция set_named_arg: добавлена функция set_named_arg, позволяющая разработчикам устанавливать значения аргументов по имени.
- Callback before_token_counter: добавлен callback before_token_counter, который используется для комментариев к подсказкам.
- ResizeHandleRow: добавлена возможность переопределять параметр масштаба столбца ResizeHandleRow.
Производительность
- Улучшение производительности: значительно улучшена производительность для каталогов экстрасетей с большим количеством файлов.
- Сокращение повторного индексирования: сокращено ненужное повторное индексирование каталога экстрасетей .
- Оптимизация вызовов isfile/exists: исключены ненужные вызовы isfile/exists.
Исправления ошибок
- Исправлены множественные ошибки, связанные с поддержкой нескольких файлов стилей.
- Исправлены ошибки, связанные с использованием Lora.
- Восстановлена утерянная настройка (связанная с коммитом e294e46).
- Исправлена ошибка капсинга BLIP в Extras.
- Теперь информация infotext включается в сохраняемое исходное изображение для img2img.
- Исправлена обработка ситуации, когда axis_type в сетке xyz_grid имеет значение None.
- Добавлена функциональность IPv6 (когда аргумент Webui не передается).
- Исправлены проблемы с потокобезопасностью API для txt2img и img2img.
- Исправлена обработка случаев, когда selectable script_index имеет значение None.
- Исправлена ошибка загрузки файла config.json.
- Исправлено преобразование infotext из строкового типа в float.
- Устранена проблема с настройкой GRADIO_ANALYTICS_ENABLED.
- Исправлена конфигурация ведения логов.
- Исправлена обработка исключения CondFunc при разрешении атрибутов.
- Исправлены сбои при больших батчах.
- Исправлено использование неправильной модели из-за алиаса.
- Добавлен символ # в список недопустимых символов в названиях файлов.
- Исправлена проверка зависимостей для рассширений.
- Исправлен сброс индексов вкладок после перезапуска интерфейса.
- Исправлено вложенное ручное преобразование типов.
- Сохраняется выбор апскйлера после перезапуска.
- Исправлена фильтрация пустых значений в сетке XYZ, когда axis имеет целочисленный или десятичный тип (например, seed оси int).
- Исправлено регулярное выражение CLIP Interrogator topN.
- Исправлена ошибка типа данных в слое MHA/изменен механизм проверки типа данных для ручного преобразования.
- Обработана ошибка загрузки файла style.csv.
- Исправлена ошибка при редактировании карточек экстрасетей.
- Исправлена работа метаданных экстрасетей при первом создании файла .json с метаданными.
- Функция util.walk_files теперь нечувствительна к регистру расширений.
- Запрещено применение настроек, если страница расширений не загружена.
- Вызвана правильная функция для подсчета токенов в img2img.
- Исправлены ошибки исчезновения поиска/перезагрузки при использовании других расширений ExtraNetworks.
- Изящная обработка исключения чтения mtime из кэша.
- Прерывание по клавише Escape срабатывает только при видимой кнопке прерывания.
- Опция отключения подсчета токенов подсказок действительно отключает подсчет, а не просто скрывает результаты.
- Исправлено двойное масштабирования при инпейнте.
- Исправлено использование переведенного контента для сопоставления категорий.
- Исправлена работа параметра split_threshold при разделении больших изображений.
- Исправлена обработка изменения размера для мобильных устройств.
Другие изменения
- Добавлен идентификатор для «extra_options». Заменено числовое поле на слайдер.
- Изменено сравнение state dict на ref compare.
- Обновлена библиотека torch-rocm до версий 5.6/5.7.
- Путь к выходным файлам теперь основан на пути к данным.
- Изменён порядок модулей препроцессинга в вкладке «Extras».
- Удалён код cleanup_models.
- Теперь файл конфигурации интерфейса перезаписывается только при наличии изменений.
- Исправлена проблема с линтером из коммита 501993e.
- Обновлен файл README.md.
- Исправлена работа кнопки высокого разрешения и теперь фиксирует сид.
- Улучшено ведение логов, включая резервный логгер.
- Информация о генерации теперь читается из infotexts, а не из json.
- Улучшен метод get_crop_region.
- Обновлена версия библиотеки safetensors до 0.4.2.
- Добавлены всплывающие подсказки для create_submit_box.
- Реализовано подсветка строк таблицы при наведении курсора в вкладке расширения.
- Всегда добавляется временная метка к отображаемому изображению.
- Добавлена настройка core.filemode=false, чтобы не отслеживать изменения прав доступа к файлам.
- Нормализованы пути в аргументах командной строки.
- В строке прогресса теперь используется оригинальное название приложения.
- Метод register_tmp_file теперь используется также для mtime.
Ознакомиться с оригиналом и прочитать список всех изменения можно на этой странице.
Как обновиться?
Добавьте аргумент запуска git pull в ваш webui-user.bat, для этого просто откройте файл в блокноте, если не хотите обновляться при каждом запуске (рекомендую оставить), можете после обновления убрать его из файла.
Если у вас портативная версия, то возможно в ней есть update.bat, тогда активируйте его для обновления.
В случае если обновление происходит с ошибками может помочь удаление папки venv, после перезапуска автоматик сам перекачает окружение.
Я рассказываю больше о нейросетях и делюсь иллюстрациями у себя на YouTube, в телеграм и на Бусти. Буду рад вашей подписке и поддержке.