Разное

Как конвертировать модель нейросети из safetensors в ckpt?

Как конвертировать модель нейросети из формата safetensors в ckpt?

Самый простой способ преобразовать модель нейросети из формата safetensors в формат ckpt — установить NMKD Stable Diffusion GUI или другую программу с аналогичной функциональностью, скопировать модель, которую необходимо модифицировать, затем использовать встроенный конвертер.

Теперь попробую объяснить процесс поэтапно, чтобы вам было проще его повторить.

Перед конвертацией в NMKD GUI перенесите файл с расширением .safetensors в папку с моделями, находящуюся на диске с установленной программой. По умолчанию путь к папке выглядит следующим образом — C:\SD-GUI-XXX\Data\models, где C — название носителя, на котором хранится NMKD GUI, а XXX — обозначение версии программы.

Измените путь к папке под себя или найдите его вручную, скопируйте файл, затем запустите NMKD.

После запуска программы нажмите на иконку с изображением гаечного ключа, кликните на пункт Convert Models, после чего укажите в разделе Model Input Formats формат Safetensors, в Model File — модель, которую хотите конвертировать, в Model Output Format — новый формат модели.

Конвертация модели нейросети из формата safetensors в ckpt с помощью NMKD Stable Diffusion GUI
В версии 1.8.1 ПО может конвертировать файл исключительно в Pytorch (ckpt/pt), но этого более чем достаточно для использования модели нейросети в NMKD GUI.

Для запуска конвертации останется нажать кнопку Convert и немного подождать.

Конвертировать модель нейросети удобней всего в NMKD GUI

Как только конвертация закончится, в названии нейронной сети появится упоминание нового формата, а расширение изменится на .ckpt, после чего модель можно будет выбрать в настройках NMKD и использовать для генерации изображений.

Одновременно преобразовать несколько файлов в новый формат не получится - программа поддерживает только одиночное конвертирование нейросетей.

Перед запуском следующей конвертации нужно дождаться завершения обработки предыдущей модели, затем выбрать нужную нейросеть в сроке напротив Model File, после чего снова нажать на кнопку Generate:

Конвертация модели нейросети из формата safetensors в формат ckpt с помощью NMKD GUI

Учитывайте, что конвертировать модели на базе SD 2.0 или SD 2.1 в NMKD бесполезно, поскольку GUI не поддерживает подобные модели нейросетей.

Когда точно добавят поддержку — неизвестно, поэтому для комфортной работы лучше использовать другие GUI. Например, Automatic1111 — Stable Diffusion web UI.

Если вам не нужен исходник модели, его можно удалить после конвертации. Причём сделать это можно двумя способами:

  • Вручную;
  • Автоматически. Чтобы файл удалился из системы без вашего вмешательства, перед конвертацией нужно выделить чекбокс напротив надписи Delete Input File If Successful.

Существуют альтернативные способы конвертировать модель нейросети из Safetensors в ckpt.

Первый вариант — скачать Safe & Stable Ckpt2Safetensors Conversion Tool.

Это простой инструмент, подходящий для Windows 10 (11), не требующий установки дополнительного софта. Конвертировать модели можно напрямую в GUI. В интерфейсе программы сложно запутаться, функциональность минимальна, да и размер архива достаточно компактен — всего 220 Мб.

Второй вариант — установить расширение sd-webui-model-converter для Automatic1111 (не работает отдельно без этого GUI, не подходит для других приложений).

Дополнение не обязательно скачивать, поскольку его можно найти на вкладке расширений в разделе Model Converter. У него есть три важных преимущества перед другими конвертерами:

  • Регулярные обновления. Чтобы скрипт подходил для разных версий SD, в него вносятся изменения, поэтому он может «переварить» те модели, которые не получиться конвертировать с помощью предыдущего инструмента или NMKD;
  • Поддержка самого популярного GUI для работы с SD и другими графическими нейросетями. Это заметно увеличивает шансы на то, что модель запустится после конвертации или не выдаст ошибку во время неё;
  • Небольшой размер. Вам не нужно скачивать громоздкие дистрибутивы ради крошечного скрипта.

Главный минус sd-webui-model-converter — жёсткая привязка к Automatic.

Иногда GUI ломается после обновления, поэтому у вас могут возникнуть проблемы с конвертацией. Пока не будет выпущен патч, устраняющий сбой, вам придётся отложить идею о конвертации в сторону, а это достаточно неприятно. Даже если подобное случается редко, стоит учитывать и такую вероятность. Тот же NMKD медленно и редко обновляется, но значительно реже ловит странные баги.

Удачных экспериментов!

Понравилась статья?

Поддержите автора комментарием, донатом, подпиской на Telegram и другие страницы!

Фотограф, гик, ретушёр

2 комментария

  • Павел

    Здравствуйте, вопрос немного не по теме, но вы мне уже помогали вперёд, а ответа на вопрос в инете я не нашёл. в ранешней версии NMKD SD GUI 1.7.2 при создании картинки нейросеть сама увеличивала исходное изображение например с 1024*1024 до 4096*4096, а в новой версии такая функия отсутствует, ну или я не всё просмотрел, как быть: ведь при указании рамера картинки 1024*1024 конечное изображение останется с таким же размером

    • Tengyart

      Здравствуйте!

      В последних версиях NMKD увеличение изображений по умолчанию отключено.

      Чтобы его включить и использовать для всех создаваемых картинок, зайдите в настройки Post Processing (открывается после нажатия на иконку с изображением волшебной палочки со звёздами вокруг, находится после разделителя и иконки Chat on Discord в верхней части программы), активируйте чекбокс напротив Run upscaling for every generated image, в разделе Upscaling factor укажите 4x для увеличения с 1024*1024 до 4096*4096 пикселей. Помимо этого, проверьте Upscaling Strength — дополнительный параметр, регулирующий степень воздействия апскейлера на генерируемые арты. Если сбросить шкалу до 0, масштабируемые арты генерируются без удаления артефактов и шумов, если увеличить силу воздействия до 1, тогда во время масштабирования нейросеть будет максимально удалять любые паразитные искажения, включая шумы и артефакты, добавляя резкость и сильно сглаживая увеличенные изображения.

      Если настройки масштабирования нельзя поменять или они не отображаются, нажмите на иконку Open Installer с изображением монитора и стрелочкой вниз, затем щёлкните на кнопку Re-Install Upscalers и дождитесь завершения установки.

      Надеюсь, это поможет решить вашу проблему!

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *