Я промышляю генерациями картинок. Оцените.
>>209866 >Оцените 10/10
>>209866 NaN/10 Лора нет, истории нет, характера нет, мессаджа нет, намерения нет, квалии нет.
>>209868 Согласен. >>209869 Начинается. >Лора нет, истории нет, характера нет Если ты не знаком с персонажем это не значит что всего этого у него нет. >мессаджа Месседж в аниме-картинке, смешно. >намерения Что это? >квалии нет У нейронки? Нету, а что? Во-первых, у карандаша ее тоже нет, во-вторых она и не нужна.
キタ━━━(゚∀゚)━━━!!
>>209868 А что тебе больше всего понравилось в картинке?
>>209870 Я знаком с тохами хотя не являюсь тохофагом. Ну потому что вокруг люди, которые рассказывают их истории. У сгенерированного набора пикселов есть история, которую рассказывают люди? >Месседж в аниме-картинке, смешно. Т.е. ты утверждаешь что в аниме нет смысла. Nice. >Что это? У любого художника в первую очередь есть намерение передать что-то через своё творчество. Хотя бы свои мокрые фантазии. За это мы творчество и любим. >У нейронки? Нету, а что? Да ни чо, просто как тогда оценивать набор байт, если у него ничего нет? NaN/10, автомат отработал без сегфолтов.
>>209873 Не понял к чему претензия. Мегуми Като это известный персонаж, ее история остается, нарисуешь ты ее оэкаки или сгенерируешь нейросетью. >Т.е. ты утверждаешь что в аниме нет смысла. Довольно нелепая подмена понятия, речь ведь шла пор якобы месседж. Чем бы оно не являлось, художник может его и не закладывать в свой рисунок. Иногда основной смысл рисунка просто чтобы было приятно глазу. А смысл есть везде, в любом осмысленном рисунке. >У любого художника в первую очередь есть намерение передать что-то через своё творчество. В таком случае есть. Нейросеть довольно точно изобразила мою композицию из головы, как Мегуми одиноко сидит на крыше, а я прерываю ее размышления внезапным появлением. Но а главное, конечно, хорошо передана ее неземная красота. >Да ни чо, просто как тогда оценивать набор байт, если у него ничего нет? У человеческих рук и карандаша тоже "ничего нет", тем не менее они рисуют, потому что есть связь с квалиа. У нейросети связь с квалиа через промпты, инпейнт-маски и прочие инструменты. Но опять же, участие сознания в творчестве необязательно, AGI будет способен на придумывание собственных композиций и идей, и рисовать/генерировать их сам. Советую пересмотреть взгляд на этот пафосный эссенциалистический взгляд на творчество, оно уже трещит по швам.
>>209874 >просто чтобы было приятно глазу. Это значит что художник, как минимум, вложил своё чувство прекрасного в картинку.
>>209875 Все так. Но нейросети тоже это позволяют, просто другими средствами.
Не объясняйте.
Продолжим объяснять, не глядя в пол.
>>209866 Почему ее трясет?
>>210041 Ты бы ещё спросил, почему взгляд расфокусирован.
>>210947 Mizgol eto ti?
>>210948 Как бы не так. Мицгол уж лет 40 как седой.
Мицгол родился ещё в XIX-ом веке!
Я не промышляю генерациями картинок. Оцѣните.
+1
Это не Хацуне, а Пальцуне Мику.
Дополнительно сообщаю, что промпт для >>211423 был таким: «Спасибо, а теперь перерисуй её в стиле какой-нибудь ведьмы из Puella Magi Madoka Magica».
>>211427 >промпт был таким: «Спасибо
>>211428 В современном мире смысл этого слова такой же как и у ACK.
Результат генерации моделью anima-turbo-v1.1 (по адресу https://huggingface.co/circlestone-labs/Anima взятою) по промпту «masterpiece, best quality, highres, 1girl, @tamikko, kayari buta, watermelon slice, torii, rice field, rural Japan, airplane trail, mountains, cumulonimbus calvus» за три минуты.
FullHD той же моделью по тому же промпту >>213702 за 17 минут. (Но эти замѣры времени предлагаю не считать показательными, так как параллельно на том же CPU происходило видеокодирование AV1.)
> rural Japan Отчего не rural Russia? Неужели черноглазые суккубы превратили русского националиста в расового предателя?
(В строгом-то смысле не fullHD, а WUXGA, конечно.)
>>213704 Аниме меняет людей.
>>213704 >>213706 Просто возвращайтеся ужé в то мѣсто, из которого вы повылазили на 410чан. (Кто считал бы, что ему никоим образом нельзя любоваться сельскими видами Японии, тот был бы не русский националист, а какой-нибудь патриот концлагерашечки. Вы, однако же, и так уж хорошо выучили это там, откудова люди выносят пару-тройку-другую готовых таких вопросиков с подковырочкою, да и заново дивиться в 2026 году тутошней стороне моих интересов может только персонаж весьма внѣшній по отношению к 410чану.)
Нейросѣтевая иллюстрация (той же модели) к первому из моих стихотворений 2015 года, по адресу https://ii.yakuji.moe/a/res/1106058.html#1109334 расположенных. (Она сгенерирована за 13 минут, потому что в этот раз параллельно ей никакое видеокодирование не совершалося.)
>>213707 Да мне тебя подколоть-то по этому или смежному поводу последние лет 8 периодически хотелось. Потому что и в самом деле интересно, как одно сочетается с другим, и то, как ты будешь отвечать, если не я, а настоящий "патриот концлагерашечки" решит всерьёз докопаться.
>>213709 Всё прекрасно сочетается. По-моему, совершенно ꙫчевидно, что именно в рамках русскаго націонализма можно пристально смотрѣть на Японию как на страну во многом образцовую и с которой брать примѣръ или хотя бы видѣть предмет сопоставления: мигрантов там минимум, высокá этническая однородность, Императора никто не утащил на разстрѣлъ, Хинамидзава не Матёра (см. пикрилэйтид), есть два типа цивилизаций (см. картинки https://twitter.com/heywildrich/status/1114702768206438404 и затѣмъ https://twitter.com/skelemundo/status/1194974674142351366 ещё) и проч. Буквально аниме про японскую школу смотрѣть съ нѣкоторымъ восторгомъ: «дѣтей базовым понятиям там учат» в значении https://krylov.cc/prnt.php?id=7070 При этом, ясное дѣло, не идеализировать Японию (то есть видѣть и недостатки ея, а не только достоинства), никоим образом не считать народ ея сколько-нибудь благожелательным к нам и проч. Но всё это не относится к вопросам нейрогенерирования.
Двѣ недѣли назадъ, а именно 20 сентября, по адресу https://qwen.ai/blog?id=qwen-image-2.1 объявлено было о том, что вѣсá нейромодели Qwen-Image-2.1 обнародованы. Прилагаю для примѣра изображение, этой моделью сгенерированное по промпту «A man in an informal attire sits on a chair in front of a computer display. The background (behind the display) is a carpet. The computer display glows with the only one large word: 410chan».
Изображение, моделью >>213711 сгенерированное по промпту «A white European man in an informal attire sits on a chair in front of a computer display. The background (behind the display) is a carpet. The computer display glows with the only one large word: 410chan».
Мицу вкотился в тему...
Кошкодѣвочка 1344×768 пикселов (≈WXGA), сгенерированная моделью MiniMax-H3 (способной одновременно генерировать и видео, и звук) по промпту «a lovely catgirl (dressed in a nightgown) purrs». Замѣтимъ, что указаннаго мурчанія не получилось. На днях я увидал на форчане гиперссылку на сайт https://neta.art/use-cases/en/h3-1000-prompt-list съ цѣлою тыщщею примѣровъ генераций этой модели, сопровождаемых исходными промптами немалой длины. По содержимому промптов видно, что работа промпт-инженера в этой области приблизительно подобна работе голливудскаго сценариста, только с ещё болѣе подробным расписыванием каждой сцены, не оставляющим почти ничего на волю режиссёрскаго ви́денія и опыта конкретнаго постановщика. Видно также, что как у меня «указаннаго мурчанія не получилось», так и на этом сайте есть сцены, в которых не прорендерены какие-нибудь указанныя подробности (скажем, жестяныя банки на крыше, которыя на бѣгу должен был задѣть персонаж), да есть и сцены, в которых кое-что прорендерено странновато (напримѣръ, неожиданно рвётся металлическая цѣпь, во время погони за мотоциклом на него накинутая, и звенья ея, разлетаясь, выглядят не как должны звенья такой цѣпи въ реальномъ мірѣ).
Майкрософтовская модель https://huggingface.co/microsoft/Mage-Flow в настоящее время отсутствует на сайте HuggingFace, однако по адресу https://huggingface.co/Comfy-Org/Mage-Flow сохранился варіантъ ея, адаптированный под ComfyUI и оттого невозбранно запускаемый и в stable-diffusion.cpp также. Прилагаю для примѣра изображение, этой моделью сгенерированное по промпту >>213712.
Кошкодѣвочка, от >>213715 отличающаяся сгенерированностью по болѣе длинному промпту «2D-animated in modern slice-of-life anime style with sharp cel shading. Japanese 1LDK interior. A lovely catgirl (dressed in a nightgown) smiles happily. The cat purring fills the room.». Мурчание еле слышно в первую треть секунды.
Кошкодѣвочка, от >>213717 отличающаяся сгенерированностью с параметрами «--cache-mode cache-dit --cache-option "Fn=8,Bn=1,threshold=0.1,warmup=5"», отчего работа нейросѣти ускоряется почти в два раза, но менѣе строгимъ становится слѣдованіе промпту. В итоге вокруг кошкодѣвочки летают какие-то жёлтые лепестки, невѣсть откудова взявшіяся (ну технически-то понятно откудова — из latent space), а голос въ послѣднюю секунду приобретает хоровóе звучание.
Кошкодѣвочка, от >>213717 отличающаяся сгенерированностью с параметром «--cache-mode spectrum». Рѣзко ускоренною от этого оказывается не половина шагов генерации, как в случае >>213718, но всё же 45% их (9 из 20), а эффект того ускорения выглядит болѣе мягкимъ (видеогаллюцинацій и аудіогаллюцинацій нѣтъ такихъ замѣтныхъ, какими жёлтые лепестки и хоровой голос в >>213718 были, а что же есть тогда? — ну, всего лишь чуть менѣе стабильны мелкія детали). Слѣдовательно, результат этот можно уж не отбрасывать в ужасе и отчаяніи, а мягонько донастраивать — напримѣръ, накатить параметр «--cache-option "stop=0.84"» въ слѣдующій разъ.
А есть вообще нормальные туториалы, как генерировать? Я как-то смотрел краткое введение в ComfyUI и чуть не блеванул от вьетнамских флешбеков из Блендера. Зачем там 500 нейронок одновременно и граф узлов? Почему нельзя просто дать промпт и 1-2 референсных картинок? Вот, например, элементарная задача "отфотошопать картинку". Есть нейронка Qwen-Image. Какую роль там выполняет ComfyUI? Я с агентами для кодинга разобрался играючи, а вот это вот всё выглядит крайне запутано и неинтуитивно.
Поскольку я редко занимаюсь подобными вещами, для меня выглядит гораздо проще создание короткого Python-скрипта под промпт, как в readme https://huggingface.co/Qwen/Qwen-Image-2.1-Turbo вместо изучения какого-то странного интерфейса.
> накатить параметр «--cache-option "stop=0.84"» И накатил. Теперь ускоренными остаются 8 шагов из двадцати, но стабильность мелких деталей видеокадра существенно не улучшилася. В другой раз попробую «--cache-option "warmup=5"».
>>213722 > Почему нельзя просто дать промпт и 1-2 референсных картинок? Так ведь можно, и всегда можно было. Только промпт тоже придётся сочинять и писать так, чтобы модель поняла, а не проигнорировала. Комфи и графы - для продвинутых (и даже им приходится потом фотошопом проходиться). Остальным — https://en.wikipedia.org/wiki/Automatic1111. > Зачем там 500 нейронок одновременно Детайлеры, рефайнеры, апскейлеры, лоры...
> --cache-option "warmup=5" С этим параметром ускоренными оказываются девять шагов из двадцати, небольшие детали кадра неприемлемо повреждены (даже столь значимыя, как детали контура глаз кошкодѣвочки).
По итогам шагов >>213721 и >>213724 и >>213726 я ужé подготовлен был к выводу о том, что любое «кэширование» (рѣзкое ускореніе нѣсколькихъ очередных шагов генерации) губительно для мелких деталей видеокадров, моделью MiniMax H3 создаваемых. Однако с параметрами «--cache-mode spectrum --cache-option "stop=0.78"» всё же нащупал нѣкоторый баланс: ускоренными остаются семь шагов из двадцати (чуть больше одной трети их), но ни один из четырёх послѣднихъ — и это, по-видимому, даёт MiniMax H3 время для достаточной окончательной стабилизации мелких деталей видеокадров. Итог прилагаю. Ну, «достаточной» на мой взгляд: видеокадры-то всё ещё отличаются от неускоренного варіанта >>213717, но теперича это отличие я могу стерпеть. Всё ещё остаётся вопрос о том, в каких случаях само существование отличия (хотя бы и терпимого ввиду малозамѣтности) вообще стóит того, чтобы ускорить процесс всего только в полтора раза (реально — ещё меньше, потому что ну не только же из шагов генерации он состоит). Предварительно я умозаключаю, что готов буду «уплачивать эту цѣну» при генерациях многократно болѣе продолжительных (чѣмъ этѣ трёхсекундныя) и с многократно бóльшим размѣромъ кадра (чѣмъ этѣ 640×352 пикселов) — и готов оттого, что тогда никакого же терпения моего не хватит на менѣе чѣмъ улиточную скорость их.
>>213723 Если графические интерфейсы типа ComfyUI кажутся малопонятными, то тогда предлагаю пользоваться командною строкою. Пошаговая инструкция по использованию Qwen Image Edit: ① На странице https://github.com/leejet/stable-diffusion.cpp/releases скачиваем послѣдній подходящий релиз. Так как подробности аппаратнаго и программнаго обеспéченія не названы, то по умолчанию предполагаю готовность погонять нейросѣть под Windows и на CPU, так что скачивать буду https://github.com/leejet/stable-diffusion.cpp/releases/download/master-956-1b0ba10/sd-master-1b0ba10-bin-win-cpu-x64.zip (но с пониманием того обстоятельства, что для видюхи NVIDIA архив https://github.com/leejet/stable-diffusion.cpp/releases/download/master-956-1b0ba10/sd-master-1b0ba10-bin-win-cuda12-x64.zip подошёл бы гораздо лучше, тогда как архив https://github.com/leejet/stable-diffusion.cpp/releases/download/master-956-1b0ba10/sd-master-1b0ba10-bin-Linux-Ubuntu-24.04-x86_64-vulkan.zip сгодился бы под Убунту, etc.). ② Скачанный архив полностью распаковываем в чистый подкаталог файловой системы. ③ В тот же подкаталог скачиваем файл https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors?download=true ④ В тот же подкаталог скачиваем файл https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors?download=true ⑤ В тот же подкаталог скачиваем файл https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct-GGUF/resolve/main/Qwen3VL-8B-Instruct-F16.gguf?download=true ⑥ В тот же подкаталог скачиваем файл https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct-GGUF/resolve/main/mmproj-Qwen3VL-8B-Instruct-F16.gguf?download=true ⑦ Скачиваем файл https://410chan.org/b/src/179091996395.jpg и сохраняем под именем «Весна.jpg». ⑧ Скачиваем файл, мною здѣсь прилагаемый, и сохраняем под именем «AcademyCityHD.png». ⑨ Подаём в том же подкаталоге такую команду: sd-cli.exe --diffusion-model qwen_image_2.1_int8_convrot.safetensors --llm Qwen3VL-8B-Instruct-F16.gguf --llm_vision mmproj-Qwen3VL-8B-Instruct-F16.gguf --vae qwen_image_2.1_vae_bf16.safetensors --threads 32 --steps 20 --cfg-scale 6 --fa --sampling-method euler --output edited_by_Qwen2.png --ref-image Весна.jpg --ref-image AcademyCityHD.png --prompt "Replace the background in <image1> with the city from <image2>" и ждём часа три с лишним.
Поработав с 6:43 до 9:49 (то есть три часа с небольшим), командная строка >>213730 выдала тот результат, который я здѣсь прилагаю. Высота кадра подросла до 1088 пикселов, потому что Qwen Image мыслит квадратиками по 32×32 пиксела. Фон выглядит не в точности взятым из AcademyCityHD.png, а додуманным. Естественно, три часа — это много; современная видюха типа RTX 5090 управилась бы с этой задачею раз в восемнадцать быстрѣе (по причинам, по адресу https://t.me/ReadMithgol/1581 посчитанным).
Другой способ ускорить всё дѣло — использовать модель Qwen Image Turbo, обнародованную по адресу https://huggingface.co/Qwen/Qwen-Image-2.1-Turbo позавчера (в пятницу 9 октября, в 5:19:14 по времени GMT). Командная строка приобретает такой вид: sd-cli.exe --diffusion-model qwen_image_2.1_turbo_int8_convrot.safetensors --llm Qwen3VL-8B-Instruct-F16.gguf --llm_vision mmproj-Qwen3VL-8B-Instruct-F16.gguf --vae qwen_image_2.1_vae_bf16.safetensors --threads 32 --steps 8 --cfg-scale 1 --fa --sampling-method euler --sigmas "1.0,0.978453,0.95418,0.926626,0.89508,0.845148,0.704534,0.414568,0.0" --output edited_by_Qwen2Turbo.png --ref-image Весна.jpg --ref-image AcademyCityHD.png --prompt "Replace the background in <image1> with the city from <image2>" Обратите внимание на использование «тайнаго знанія» — того значения параметра sigmas, которое изложено в фичреквесте https://github.com/leejet/stable-diffusion.cpp/issues/2125 на Гитхабе. Необходимый для запуска этой команды файл «qwen_image_2.1_turbo_int8_convrot.safetensors» может быть взят по адресу https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_turbo_int8_convrot.safetensors?download=true на сайте HuggingFace. Проработав с 9:50 до 10:35 (около ¾ часа), эта команда достигает того результата, который я здѣсь прилагаю. Мы можем видѣть, что Turbo-варіантъ этой модели не только натренирован на достижение ≈вчетверо большей скорости работы, но и лучше справился с подстановкою желаемого фона, и на картинкѣ «Весна.jpg» при вырѣзаніи фона оставил больше объектов передняго плана (считая таковыми и дополнительное содержимое на блюде, и даже стул). По-видимому, впредь Qwen-Image-2.1-Turbo слѣдуетъ предпочитать.
>>213723 ComfyUI не столько для "закинул короткий промпт в нейронку", сколько для автоматизации более сложных штук. Я генерил STL-модельки для своего 3D-принтера через кастомный workflow, было очень грустно.
Попытки ускоренного генерирования видеозаписей кошкодѣвочекъ, в сообщениях >>213718 и >>213721 и >>213724 и >>213726 и >>213728 предпринятыя, закончились пониманием того, что из двадцати шагов работы модели MiniMax H3 можно при помощи так называемого «кэширования» (переиспользования результатов) отказаться от семи шагов и оставить тринадцать, а если больше — качество начинает замѣтно страдать. (Ну и не совсѣмъ «отказаться» — вернѣе сказать, что шаги эти сильно оказываются ускоренными.) Однако есть проекты, нацѣленные на ускорение гораздо болѣе сильное, при котором результат достигается не болѣе чѣмъ за 4—8 шагов при помощи LoRA (это слово означает «low-rank adaptation» — прилагаемые к основной модели дополнительные вѣсá меньшаго объёма, являющіеся результатом дотренировки ея). На возможность такого ускорения для MiniMax H3 моё внимание обратило состоявшееся 18 октября принятие pull-реквеста https://github.com/leejet/stable-diffusion.cpp/pull/2159 съ обѣщаніемъ поддержки LoRA в формате Diffusers. (Diffusers — это название нѣкоторой нейросѣтевой библиотеки на языке Python, насколько я понимаю. И этот pull request полезен ввиду того, что многие LoRA создаются для вызова из Python в этом формате, и лишь позже оказываются перепреобразованными в формат, болѣе подходящий для употребления в ComfyUI и в stable-diffusion.cpp.) В поисках LoRA в формате Diffusers я обратил внимание на репу https://huggingface.co/InstantX/MiniMax-H3-Turbo-Lora-Diffusers с результатами преобразования в формат «Diffusers / PEFT» той LoRA для MiniMax H3, которая по адресу https://huggingface.co/larryvrh/MiniMax-H3-Turbo-Lora располагается. Хотя имя файла https://huggingface.co/InstantX/MiniMax-H3-Turbo-Lora-Diffusers/resolve/main/minimax_h3_turbo_4step_ckpt500_diffusers.safetensors?download=true может показаться обѣщающимъ создание видео (со звуком) за четыре шага («4step»), на практике я обнаружил необходимость нарастить количество шагов хотя бы до пяти для того, чтобы не «плыли» мелкие детали кадра. Также проявилась проблема, противоположная наблюдавшейся в сообщении >>213717: если там мурчание прекращалося слишком рано, то теперь кошкодѣвочка норовила не только помурчать, но и пообщаться голосом — но так как без промпта о конкретных словах ея, то получался бред на несуществующем языке. Подумав, я дополнил промпт предложением, явно запрещающим недозволенныя рѣчи кошкодѣвочки, придав промпту такой вид: «2D-animated in modern slice-of-life anime style with sharp cel shading. Japanese 1LDK interior. A lovely catgirl (dressed in a nightgown) smiles happily. The cat purring fills the room. The catgirl does not say anything, her smiling mouth remains closed, only the cat purring continues.». В итоге съ разрѣшеніемъ ≈nHD (640×352 пиксела) удалось сгенерировать прилагаемую кошкодѣвочку за пять шагов. Видно, что качество генерации — не очень хорошее: и над ухом, и между головою и хвостом вылазят нейроартефакты.
Без особой надежды повторив подход и промпт >>213850 в большем разрѣшеніи ≈WXGA (1344×768 пикселов), я обнаружил картинку генерирующеюся совершенно без артефактов, если только не считать таковыми появление нѣкихъ нэко-бакенбардов у кошкодѣвочки. Результат прилагаю. Необходимость большего числа пикселов для большей стабильности картинки, ускоренно генерируемой, не может меня радовать, поскольку создание большего видео происходит медленнѣе и «съѣдаетъ» собóю всё ускорение.
Далѣе я обратил внимание на то обстоятельство, что в имени файла https://huggingface.co/InstantX/MiniMax-H3-Turbo-Lora-Diffusers/resolve/main/minimax_h3_turbo_4step_ckpt500_diffusers.safetensors?download=true фрагмент «ckpt500» говорит нам, что кодирован в нём промежуточный результат — очередной (а именно пятисотый) чекпойнт ещё не завершившагося, ещё продолжающагося процесса натренировывания LoRA. О том же ещё яснѣе говорит на странице https://huggingface.co/InstantX/MiniMax-H3-Turbo-Lora-Diffusers абзац, словами «⚠️ Early prototype» начинающийся. Между тѣмъ на странице https://huggingface.co/larryvrh/MiniMax-H3-Turbo-Lora предлагается уж и не прототип, а готовая LoRA даже не первой уж версии (v4), и с шестью сотнями шагов натренированности — а файл «minimax_h3_turbo_4step_ema_ckpt500.safetensors» упоминается там как ранний и мягкий вариант старой (первой) версии. Оказывается, есть репозиторий https://github.com/noahark/minimax-h3-v100-deploy трёхнедѣльной давности (послѣднія коррективы туда вносили 29 сентября) о том, как эту LoRA заставить работать именно в stable-diffusion.cpp при помощи небольшого преобразования, скриптом на Пиѳонѣ совершающагося. Оттуда я почерпнул здравую мысль о запуске stable-diffusion.cpp с параметром «--mmap» для того, чтобы не держать в RAM одновременно двѣ копіи модели (одну — неизбѣжно создаваемую операціонною системою в буфере чтения файла, а другую — копию, с которою работает нейросѣть), а расшарить сам буфер и довѣрить системе понимание того, когда его частично стирать для экономии RAM, когда заново читать с диска и проч. Там же я увидал мрачное наблюдение насчёт того, что stable-diffusion.cpp не бранит LoRA за неподходящий формат, а молча не примѣняетъ. (Ужас.) В той же репе рекомендуется 4—6 шагов не использовать: качество, дескать, на глаз видно, что невысокое. Руководясь этими указаниями, я установил Python, сконвертировал LoRA, деинсталлировал Python, использовал LoRA и за семь шагов сгенерировал прилагаемую кошкодѣвочку. Нетрудно увидать, что въ разрѣшеніи ≈nHD (640×352 пиксела) детали фона остаются нестабильными, особенно замѣтно пульсирует контур кухонной вытяжки.
Первым из побуждений моих въ дѣлѣ наращиванія стабильности фона было простѣйшее наращиваніе же числа шагов генерации до восьми — это их количество в репе https://github.com/noahark/minimax-h3-v100-deploy называется потолком качества, так как на странице https://huggingface.co/larryvrh/MiniMax-H3-Turbo-Lora говорится, что послѣ восьми шагов LoRA перестаёт помогать и начинает показывать артефакты чрезмѣрнаго контраста (то есть начинает, так сказать, перешарпливать). Получилася прилагаемая кошкодѣвочка, за хвостом у которой холодильник (ну или бѣлый шкафъ) у своего лѣваго верхняго угла всё ещё слишком замѣтно мерцает вдоль контура.
Затѣмъ я начал думать в другую сторону: может быть, мерцаніе контуров так замѣтно только оттого, что видеокадр является статическим (неподвижным)? Подъ вліяніемъ этой мысли я пошёл по адресу https://aigency.moscow/camera.html прочесть шпаргалку о том, как в промптах выражать английскими словами движения виртуальной видеокамеры. Сохраняя число шагов видеогенерации равным восьми, я привёл промпт к такому виду: «2D-animated in modern slice-of-life anime style with sharp cel shading. Japanese 1LDK interior. A lovely catgirl (dressed in a nightgown) smiles happily while the camera orbits around her (80-degree arc, counterclockwise). The cat purring fills the room. The catgirl does not say anything, her smiling mouth remains closed, only the cat purring continues.». Сгенерированную кошкодѣвочку прилагаю. К сожалению, наблюдается аудиоартефакт в духе >>213718 (звучание кошкодѣвочки въ первыя секунды — это хоровóе звучание). К сожалению, я увлёкся и поставил кошкодѣвочку генерироваться в большем разрѣшеніи ≈WXGA (1344×768 пикселов), так что достигнутый результат ничего не говорит нам о стабильности фона въ разрѣшеніи ≈nHD (640×352 пиксела).
Въ разрѣшеніи ≈nHD (640×352 пиксела) также удалось этим способом (то есть отходом от статическаго видеокадра) добиться появления относительно безартефактной кошкодѣвочки по промпту «2D-animated in modern slice-of-life anime style with sharp cel shading. Japanese 1LDK interior. A lovely catgirl (dressed in a nightgown) smiles happily while the camera orbits around her (80-degree arc, counterclockwise). The cat purring fills the room. That cat purring is monophonic (never a chorus). The catgirl does not say anything, her smiling mouth remains closed, only the cat purring continues.», в котором также содержится явное указание на нехоровóе мурчание кошкодѣвочки. Результат прилагаю. Как нетрудно слышать, мурчание кошкодѣвочки наконец не сопровождается голосом ея. Впредь я намѣренъ оставаться на этой LoRA, покуда не найду чего получше, и примѣнять её (как и здѣсь) на протяжении 8 шагов, что на моём CPU даёт 107 кадров (4,458 секунды) за два часа реального времени в случае ≈nHD (640×352 пиксела), то есть в среднем по одному видеокадру каждые 67 секунд. Я зарáне чую, что в первые годы существования AV2 примѣрно этакая же величина терпения (считая её по соѿношенію затраченнаго реальнаго времени и полученнаго видеовремени) понадобится и просто для видеокодирования AV2. Для сравнения можно указать, что по адресу https://en.wikipedia.org/wiki/Larry_Cuba пишут, что создание нѣкоторыхъ кинокадров кинофильма «Звёздныя войны» в 1977 году занимало по двѣ минуты компьютернаго времени, то есть по порядку величины требуемое терпеніе неожиданно выглядит мало перемѣнившимся за полвѣка. (Естественно, впечатление это иллюзорно въ томъ смыслѣ, что при наличіи современнаго GPU мнѣ не пришлось бы быть столь же терпеливым — но впечатление это неожиданно полезно, потому что даёт вѣское основаніе провозгласить, что RAMагеддон «откинул нас на полвѣка назадъ», когда сдѣлал современные GPU не столь доступными по цѣнѣ, как прежде.)
В то время, которое 410чан провёл закрытым, я сгенерировал ещё одну кошкодѣвочку по слѣдующему промпту: «2D-animated in modern slice-of-life anime style with sharp cel shading. Japanese 1LDK dining room interior. A lovely catgirl (dressed in a nightgown) smiles happily while the camera orbits around her 80-degree arc to our right, revealing a dining table in the same room and a window. The cat purring fills the room. That cat purring is monophonic (never a chorus). The catgirl does not say anything, her smiling mouth remains closed, only the cat purring continues.» Сравнивая этот промпт с >>213856 и затѣмъ ещё с >>213857, вы можете догадываться (и совершенно справедливо) о том, что я обратил пристальное внимание на то обстоятельство, что движением «камеры» (точки зрѣнія) игнорируется та часть промпта, которая указывала направление «counterclockwise» движению камеры — так что теперь я попробовал переформулировать это указание, придав ему вид «to our right». Но по прилагаемой кошкодѣвочкѣ вы можете видѣть, что и этот приём оказался для меня безуспѣшнымъ. В связи с этим я обратил внимание на официальное пособие https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_base_en.md#43-camera-motion-motion-type--amplitude--speed и с превеликим неудовольствием увидал там, что для однотипных (но противоположных друг другу) движений там приводится ожидаемая моделью «киношная» терминология попарно: «zoom in» и «zoom out», «push in» и «push out», «pan left» и «pan right», «truck left» и «truck right», «tilt up» и «tilt down», «pedestal up» и «pedestal down» (всё это соѿвѣтствуетъ и болѣе общему, без привязки к конкретной нейромодели, пособию по «киношному» языку видеопроптов, по адресу https://aigency.moscow/camera.html на русском языке излагаемому) — но как только пособие по MiniMax H3 подходит к движению камеры вокруг персонажицы, так говорит просто «arc shot» без указания направления. По-видимому, модель эта не способна руководиться (даже приблизительно) и указаніемъ конкретнаго количества градусов дуги, а в указанном мѣстѣ пособія там рекомендованы общія словá «with large amplitude» и «with small amplitude». Всё это печально.
В поисках выхода из тупика >>213867 я прежде всего призадумался о том, что сам подход изучения мастерства промптов по пособиям (конкретному https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_base_en.md для модели MiniMax H3 или болѣе общему https://egorappolonov.com/camera.html для видеомоделей как таковых) мог быть ошибочным, а учиться слѣдовало на примѣрахъ (подобно тому, как представление о японском искусстве танка лучше даёт не какой-либо учебник поэтическаго мастерства, а подборки по принципу «Сто стихотворений ста поэтов» — прежде всего «Огура Хякунин Иссю»). По отношению к видеомодели MiniMax H3 непревзойдённою подборкою примѣровъ считается сайт https://neta.art/use-cases/en/h3-1000-prompt-list с тысячею промптов и видеорезультатов. Сайт этот очень удобен как средство поиска, позволяя одновременно выбрать желаемый стиль (напримѣръ, «Anime») и тему (напримѣръ, «Horror & supernatural») для сужения области поиска. К сожалению, этот сайт гораздо менѣе удобен как средство сослаться на результаты конкретнаго промпта — так, скажем, первый же из результатов одновременнаго поиска по «Anime» и «Horror & supernatural» не только открывается как диалоговое окошко, но и помѣщаетъ уточнённый адрес https://neta.art/use-cases/en/h3-1000-prompt-list#000385 в адресную строку браузера, однако неудачною окажется всякая наивная попытка записать этот адрес и затѣмъ в новой вкладке браузера перейти по этому адресу: браузер покажет не итоги работы промпта №385, а заглавную страницу сайта (на которой, стало быть, «#номер» не прочитывается и не обрабатывается джаваскриптом — по крайней мѣрѣ, в Firefox). К счастью, сайт этот является, по-видимому, не болѣе чѣмъ альтернативною визуализациею подборки, изначально на сайте HuggingFace по адресу https://huggingface.co/datasets/ostris/minimax_h3_1k выложенной. Исходною визуализациею ея является видеоролик, на Ютьюбе по адресу https://youtu.be/akkwj9d943Y выложенный — это склейка всей тысячи результатов тысячи промптов, причём каждая сцена пронумерована. И там, напримѣръ, кто увидит ужé во второй сцене нѣчто в духе нуарнаго детектива, тот может тотчас же по весьма удобному адресу https://huggingface.co/datasets/ostris/minimax_h3_1k/raw/main/000002.txt получить и исходный промптъ ея, этим способом узнав (или просто напомнивъ себѣ) словá и словосочетания «chiaroscuro shadows», «belted trench coat», «frosted-glass office door», «manila dossier», «window sash» и проч. С живым интересом припадая к этому живительному источнику, я ужé въ первыя двѣ минуты с половиною успѣлъ замѣтить модель MiniMax H3 частично игнорирующею почти каждый промпт, а иногда и удаляющеюся от реализма (в сцене 11 полицейский принуждён раздвинуть beaded curtain пред собою, тогда как преслѣдуемый имъ мужчина пробёг там без задержки; в сцене 17 по рельсам метро плечом к плечу спѣшатъ вперёд только что спрыгнувшіе туда метрополицейские, и если один прыгнул с перрона, то другому для прыжка в такую позицию пришлось бы материализоваться в воздухе у стены тоннеля на уровне перрона; в сцене 18 взломщица ну никак не смогла бы вывернуть лѣвую руку показанным способом; в сцене 21 гимнастическія движенія похитительницы короны противорѣчатъ законам природы; в сцене 29 положение шасси самолёта мгновенно мѣняется на противоположное), как наконец замѣтилъ в сцене 23 приблизительно желаемое (на небольшой угол) движение видеокамеры вокруг speedboat — в промпте https://huggingface.co/datasets/ostris/minimax_h3_1k/raw/main/000023.txt мнѣ показался описывающим это движение текст «The camera rolls clockwise with small amplitude at fast speed as the boat banks through the turn». Подумавши, я попробовал сгенерировать кошкодѣвочку вот по какому промпту: «2D-animated in modern slice-of-life anime style with sharp cel shading. Japanese 1LDK dining room interior. A lovely catgirl (dressed in a nightgown) smiles happily. The camera rolls clockwise in a 80-degree arc shot around the catgirl, revealing a dining table in the same room and a window. The cat purring fills the room. That cat purring is monophonic (never a chorus). The catgirl does not say anything, her smiling mouth remains closed, only the cat purring continues.» Увы, нейромоделью MiniMax H3 термин «camera roll» оказался понятым как вращение камеры вокруг своей же продольной оси (результат прилагаю), а не вокруг кошкодѣвочки. И постфактум я вижу, что неудача была достаточно предсказуемою — в частности, ужé третий изъ примѣровъ по адресу https://egorappolonov.com/camera.html придаёт тот же смысл этому термину.
Время генерации >>213708 уменьшилося вдвое (было около 13 минут, а теперь составляет шесть минут с небольшим) благодаря упомянутому в сообщении >>213853 приёму — использованию параметра «--mmap» для чтения с диска напрямую в память нейросѣти.