FluxGym – это веб-интерфейс для обучения LoRA-адаптеров на базе модели FLUX, который совмещает простоту графического интерфейса с гибкостью тренировочных скриптов.
FluxGym не обучает саму базовую модель FLUX заново – вместо этого он тренирует небольшую надстройку, которая называется LoRA (Low-Rank Adaptation). LoRA – это компактный набор весов, который "учится" распознавать и воспроизводить конкретный объект, персонажа или стиль, не трогая миллиарды параметров исходной модели.
Технически FluxGym состоит из двух частей: фронтенд на основе Gradio, который даёт удобный визуальный интерфейс, и бэкенд на базе скриптов Kohya (sd-scripts), которые фактически выполняют вычисления.
Ключевое преимущество FluxGym – доступность. Большинство решений для обучения FLUX LoRA требуют минимум 24 ГБ видеопамяти, тогда как FluxGym позволяет обучать модели даже на 12 ГБ VRAM, а теоретически и на 8 ГБ. На карте с 20 ГБ VRAM обучение LoRA на 1200 шагов занимает примерно 20 минут – это показывает, что процесс вполне реалистичен даже для домашнего компьютера.
Итоговый результат обучения – файл LoRA (обычно в формате safetensors), который потом подключается к базовой модели FLUX в ComfyUI или другом инференс-инструменте и добавляет в генерацию нужный объект, лицо или стиль.
Для чего используют FluxGym
Обучение собственной LoRA имеет смысл в нескольких сценариях:
Персонаж или лицо человека – чтобы модель могла генерировать изображения конкретного человека в разных сценах и ракурсах.
Конкретный объект или продукт – например, промышленное оборудование, гаджет, упаковку товара для маркетинговых материалов.
Художественный стиль – если нужно, чтобы модель рисовала в определённой узнаваемой манере.
Консистентность персонажа в серии изображений – например, для комикса, мультфильма или брендовой иллюстрации.
Правильный подбор датасета
Качество итоговой LoRA зависит от датасета сильнее, чем от любых тонких настроек обучения. Прежде чем разбирать параметры, разберём, как собрать хороший набор изображений.
Количество изображений
Для большинства задач достаточно 20–30 качественных изображений. Больше – не всегда лучше: важнее разнообразие ракурсов, освещения и контекста, чем просто количество фотографий. Если объект простой, 15–20 изображений с разных сторон обычно достаточно для уверенного обучения.
Разнообразие ракурсов и условий
Датасет должен показывать объект или персонажа:
с разных ракурсов (фронтальный, три четверти, боковой, сзади);
в разном освещении (студийный свет, естественный свет, разный фон);
разных масштабов (общий план и близкий крупный план).
Если все фотографии сделаны с одного ракурса и на одном фоне, LoRA "запомнит" не только сам объект, но и фон вместе с ним, и при генерации в других сценах результат будет менее гибким.
Качество изображений
Изображения должны быть чёткими, без сильного шума, размытия или артефактов сжатия. Функция Resize dataset images в FluxGym позволяет автоматически привести все фотографии к единому размеру перед обучением – это упрощает подготовку и снижает нагрузку на обработку данных. Если исходные фото сильно разного разрешения и соотношения сторон, включение этой опции почти всегда полезно.
Captions – подписи к изображениям
Для каждого изображения в датасете нужен текстовый файл (.txt) с описанием – caption. FluxGym поддерживает автоматическую генерацию подписей через встроенный AI-инструмент captioning, но их всё равно стоит проверять и корректировать вручную.
Главные правила для captions:
В начало каждого описания ставится trigger word – уникальное слово-ключ, не встречающееся в обычном языке (например, a100pciezz вместо просто "gpu" или "card").
Описание должно фиксировать именно те характеристики, которые различаются между фото: ракурс, фон, освещение – а не то, что должно стать частью самого объекта.
Не стоит писать длинные художественные описания. Лишние подробности в captions часто "приклеиваются" к объекту, и модель начинает воспроизводить их даже там, где это не нужно.
Пример короткого caption (подписи) для объектной LoRA:
a100pciezz nvidia a100 pcie accelerator card, front three-quarter view, studio lighting
Trigger word: как выбрать
Trigger word – это своего рода "имя" вашей LoRA внутри модели. Он должен быть:
коротким и легко запоминающимся;
уникальным, чтобы не пересекаться с обычными словами, которые модель уже знает;
одинаковым во всех captions датасета.
Именно trigger word потом используется в положительном промпте при генерации, чтобы активировать выученный объект.
Триггер должен быть уникальным и не содержать общеупотребимых слов, иначе модель будет опираться на уже существующие в базовой модели образы вместо того, чтобы учиться вашему конкретному объекту.
Используйте бессмысленные комбинации букв и цифр, аббревиатуры или искажённые слова, которых точно нет в словаре модели. Это гарантирует, что FLUX будет ассоциировать триггер именно с вашим датасетом, а не с общими концепциями.
Подробный разбор настроек обучения
После загрузки датасета в FluxGym нужно настроить параметры тренировки. Разберём каждый подробно.
Repeat trains per image (повторы на изображение)
Этот параметр определяет, сколько раз каждое изображение "показывается" модели за одну эпоху обучения. Если поставить значение 12, модель за одну эпоху увидит каждую картинку 12 раз – фактически это работает как виртуальное умножение размера датасета.
Чем выше значение, тем сильнее модель "впитывает" именно этот небольшой набор изображений – это полезно, когда картинок мало, но одновременно повышает риск переобучения. Стандартный диапазон значений – 10–30, в зависимости от размера датасета и желаемой силы LoRA.
Max Train Epochs (максимум эпох)
Одна эпоха – это один полный проход по всему датасету. Параметр Max Train Epochs определяет, сколько таких полных проходов будет выполнено за всё обучение.
Если Repeat trains per image – это сила давления внутри одного круга, то Max Train Epochs – это то, сколько таких кругов будет сделано всего. Слишком маленькое значение приводит к недообучению (модель не успевает выучить объект), а слишком большое – к переобучению (модель начинает "залипать" на конкретные тренировочные примеры и хуже обобщает).
Expected training steps (ожидаемые шаги обучения)
Это расчётное значение, которое показывает общее количество шагов обучения – то есть сколько раз произойдёт обновление весов модели за весь тренинг. Оно вычисляется по формуле:
Количество шагов = число изображений × repeats × epochs
Например, при 14 изображениях, 12 повторах и 24 эпохах получится 4032 шага. Это значение помогает заранее оценить, насколько длинной будет тренировка, ещё до её запуска. Впрочем формулу запоминать не обязательно: FluxGym обычно сам высчитывает и показывает количество предстоящих шагов.
network_dim (размерность LoRA)
Один из самых важных параметров. network_dim определяет размерность или ранг LoRA-адаптера – то есть его "ёмкость" для запоминания деталей объекта. По-русски этот параметр правильнее называть размерностью или рангом LoRA.
Чем выше значение, тем мощнее LoRA и тем больше деталей она способна выучить, но одновременно растёт размер итогового файла и риск переобучения. Практический пример роста размера файла: dim 4 даёт примерно 40 МБ, dim 8 – около 81 МБ, dim 16 – около 162 МБ, dim 32 – около 324 МБ.
Рекомендации по выбору:
4–8 – лёгкие, гибкие LoRA для простых объектов или стилей;
8–16 – стандартный диапазон для большинства задач, включая объектные и портретные LoRA;
16–32 – усиленный вариант для сложных концептов, где нужно сохранить много деталей.
network_alpha
Этот параметр идёт в паре с network_dim и регулирует, как сильно применяются выученные веса LoRA относительно базовой модели. Чем меньше значение alpha относительно dim, тем крупнее должны быть внутренние веса сети для достижения того же эффекта – на практике это влияет на итоговую "силу" LoRA при одинаковой размерности.
Save every N epochs (сохранение чекпоинтов)
Этот параметр определяет, как часто во время обучения сохраняются промежуточные версии модели (чекпоинты). Например, значение 1 означает, что чекпоинт будет сохраняться после каждой эпохи.
Частое сохранение критически важно для длинных и агрессивных тренировок: финальный чекпоинт не всегда оказывается лучшим – иногда модель на середине обучения даёт более сбалансированный результат, а к концу тренировки уже начинает переобучаться. Имея несколько промежуточных версий, можно выбрать оптимальную, сравнив их между собой.
Sample Image Every N Steps и Sample Image Prompts
Эти два параметра работают в паре и позволяют FluxGym автоматически генерировать тестовые изображения прямо во время обучения, без необходимости запускать отдельную генерацию.
Sample Image Every N Steps задаёт, через сколько шагов делать очередное тестовое изображение.
Sample Image Prompts – это список промптов (обычно с trigger word), по которым эти тестовые изображения генерируются.
Использование этих настроек позволяет визуально следить за прогрессом обучения в реальном времени и вовремя заметить, если модель начинает переобучаться или, наоборот, ещё недостаточно "выучила" объект.
Мягкий, средний и агрессивный подход к обучению
В зависимости от задачи и особенностей датасета можно выбрать разную степень интенсивности обучения:
Мягкий пресет: network_dim 4–8, repeats 8–10, epochs 16 – подходит для простых объектов и большего датасета, снижает риск переобучения.
Средний пресет: network_dim 8, repeats 12, epochs 24 – универсальный баланс между силой и стабильностью.
Агрессивный пресет: network_dim 16, repeats 20, epochs 32 – для случаев, когда объект сложный, а датасет небольшой, и нужно "дожать" сходство при повышенном риске переобучения.
Чем агрессивнее настройки, тем больше нагрузка на видеокарту, длительность обучения и вероятность того, что LoRA станет слишком жёсткой и будет воспроизводить почти одинаковый результат независимо от промпта. В на нашем канале мы наглядно показали разницу между этими пресетами при генерации сложного объекта.
Соотношение видеопамяти и оперативной памяти
Даже если видеокарта обладает большим объёмом VRAM, для стабильной тренировки важен и объём обычной оперативной памяти. Объём системной RAM не должен быть меньше объёма видеопамяти самой мощной установленной карты, иначе именно ОЗУ может стать узким местом при кэшировании данных и загрузке батчей.
Как,например, это вышло у меня. Объём видеопамяти NVIDIA A100, на которой я производил дообучение – 40 ГБ, но объём моей оперативной памяти – всего 16 ГБ. Это значит что я не могу выставить значение превышающее 16 ГБ, несмотря на то что объём видеопамяти разительно больше.
То есть, чтобы задействовать весь объём видеопамяти и не наткнуться на ошибки при работе с NVIDIA A100 оперативной памяти должно быть от 40 ГБ и больше.
Использование готовой LoRA в ComfyUI
После завершения обучения LoRA нужно правильно подключить и вызвать при генерации.
Подключите файл LoRA через соответствующую ноду загрузки в ComfyUI.
В положительном промпте обязательно укажите trigger word – как правило, в начале строки, это наиболее надёжный и предсказуемый вариант для FLUX.
После trigger word добавьте описание сцены: тип съёмки, фон, освещение, ракурс.
Должно получиться примерно вот так.
Пример рабочего промпта для объектной LoRA:
a100pciezz product photo of an NVIDIA A100 PCIe accelerator card, white background, studio lighting, centered composition, front three-quarter view
Более развёрнутый промпт с дополнительными техническими описаниями объекта также допустим и может быть полезен, если LoRA обучена не очень уверенно. Но по мере усиления LoRA обычно эффективнее работают короткие и чистые формулировки, где акцент делается на сцену, а не на повторное описание самого объекта, поскольку сама LoRA уже несёт в себе обученный объект.
Заключение
FluxGym делает процесс обучения LoRA доступным даже без серверного оборудования, но качество результата всё равно определяется тщательностью подготовки датасета и осознанным выбором параметров обучения, а не просто максимальными значениями во всех полях.
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Скидка 1 500 ₽ или бесплатная доставка - уже сейчас 🔥
Мы ценим обратную связь от клиентов. При оформлении заказа вы можете сообщить о своём намерении поделиться впечатлением о работе ServerFlow после получения товара.
* - скидка предоставляется при покупке от 30 000 рублей, в ином случае предусмотрена бесплатная доставка до ПВЗ СДЭК.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.
При оформлении заказа в ServerFlow вы можете сообщить о намерении оставить отзыв о нашей работе после получения товара.
Нам важно ваше честное мнение. Оно помогает развивать сервис и даёт другим клиентам представление о нашей работе.
Вы можете оставить отзыв на удобной для вас платформе:
Google Maps
2GIS
Яндекс Карты
Как работает акция
Применяя промокод, вы подтверждаете намерение поделиться впечатлением о работе ServerFlow после получения заказа. Мы применяем бонус уже к текущему заказу в знак благодарности за обратную связь.
Условия акции:
скидка 1 500 ₽ при заказе от 30 000 ₽
или бесплатная доставка* при заказе до 30 000 ₽
* Бесплатная доставка заказа осуществляется до ПВЗ СДЭК.