Tensor Banana
2.65K subscribers
523 photos
124 videos
111 links
Нейросети и всё такое. https://youtube.com/@tensorbanana
Чат по нейронкам: https://t.iss.one/+zFDiHuL1iVA1YWMy
Чат с ботами: https://t.iss.one/+m2TQ5VJLhIRiY2U6
Написать админу и донаты: @talkllamabot
Download Telegram
Продолжаем любую mp3 с Yue

Добавил в Yue (генератор песен) возможность продолжить любой загруженную mp3 с клонированием голоса и мелодии.

- в приложенных примерах первое четверостишие - оригинал, остальные - генерация. В Summertime sadness - первое четверостишие напето в домашних условиях.
- лучше всего продолжает после одного первого куплета.
- голос клонирует не всегда один в один, но старается.
- мелодию продолжает довольно хорошо.
- русский поддерживается, но будет с легким акцентом.
- можно изменять язык песни с сохранением голоса.
- работает на движке exllama (самый быстрый среди того, что я тестил)
- поддержка продолжения предыдущей генерации. Так можно генерировать бесконечные песни.
- есть web GUI (либо работа из консоли)
- никаких ограничений по копирайту
- бесплатно

- требует 8 GB vram (на 6 тоже запустится, но нужно квант поменьше и генерировать всего 1 куплет)
- чем больше куплетов - тем больше надо vram
- скорость на 3090:
- 1 минута на выходе = 03:40 генерации (COT),
- 1 минута на выходе = 05:00 генерации (COT + mp3 extend)


## Установка под Windows (без wsl)

Будут нужны
- питон 3.9 (3.10 тоже подойдет, но ссылки все будут другие)
- torch 2.4.0 (exllama и flash_attn скомпилированы лишь для нескольких версий торча. 2.5.1 не подойдет)
- cuda toolkit 12.4+

conda create -n yue python=3.9
conda activate yue

:: ставим торч, exllama и flash_attn-2
pip install torch==2.4.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install https://github.com/turboderp-org/exllamav2/releases/download/v0.2.7/exllamav2-0.2.7+cu121.torch2.4.0-cp39-cp39-win_amd64.whl
pip install https://github.com/bdashore3/flash-attention/releases/download/v2.7.1.post1/flash_attn-2.7.1.post1+cu124torch2.4.0cxx11abiFALSE-cp39-cp39-win_amd64.whl

git lfs install
git clone https://github.com/Mozer/YuE-extend
cd YuE-extend
pip install -r requirements.txt
git clone https://huggingface.co/m-a-p/xcodec_mini_infer

:: качаем 3 exl2 модели (5.7 + 5.7 GB + 1.8) в папку workspace\models:
huggingface-cli download Alissonerdx/YuE-s1-7B-anneal-en-cot-exl2-8.0bpw --local-dir workspace\models\YuE-s1-7B-anneal-en-cot-exl2-8.0bpw
huggingface-cli download Ftfyhh/YuE-s1-7B-anneal-en-icl-8.0bpw-exl2 --local-dir YuE-s1-7B-anneal-en-icl-8.0bpw-exl2
huggingface-cli download Alissonerdx/YuE-s2-1B-general-exl2-8.0bpw --local-dir workspace\models\YuE-s2-1B-general-exl2-8.0bpw


запускаем (двойной клик) start-gui.bat
переходим по https://127.0.0.1:7860/



## Генерация (продолжение mp3)
Есть 3 способа: COT модель, ICL модель + 2 дополнительные дорожки, ICL модель + 1 дополнительная общая дорожка.
Первый, самый простой и проверенный. В web UI:
- Stage 1 model: YuE-s1-7B-anneal-en-cot-exl2-8.0bpw
- Lyrics: полный текст песни. Первый сегмент [verse] должен включать всё то, после чего будет сгенерировано продолжение. Первый сегмент рекомендуется ограничить одним четверостишием.
- Установите флажок "Extend mp3".
- Разделите свой mp3 на вокал.mp3 + инструментал.mp3. Для разделения используйте: https://huggingface.co/spaces/theneos/audio-separator или https://www.audiostrip.com/isolate или https://www.lalal.ai/ или https://vocalremover.org/
- Загрузите vocal.mp3 + instrumental.mp3 в 2 поля файла.
- Найдите точное время, когда заканчивается вокал в первом куплете в вашем mp3, например, 15 сек, введите в поле "Seconds to take from mp3".
- Generate

Дополнительные галочки "Use Dual Tracks Audio Prompt?" и "Use Audio Prompt? (both vocal and instrumental)" дадут модели полную музыку всей песни. Но так контролировать генерацию становится намного труднее. Модель будет стараться сгенерировать то что уже было, будет повторять исходник один в один. В таких режимах попробуйте установить "Audio prompt End Time" на 1-2-3 секунды больше чем в поле "Seconds to take from mp3". Экспериментируйте с разными отрезками, чтобы найти баланс похожести и новизны генерации.

Код: https://github.com/Mozer/YuE-extend

Бесплатный колаб:
https://colab.research.google.com/github/Mozer/YuE-extend/blob/main/colab/Yue_extend_with_exllama.ipynb
62👍36🔥103😁2
Wan image2video и сравнение с skyreels_i2v

Alibaba выпустила сразу 5 моделей с разными размерами (1.3b, 14b), режимами (t2v, i2v) и разрешением (480p, 720p).

Wan поддерживает разрешение до 1280x720p 16fps (hunyuan skyreels i2v - до 544p 24fps)

В воркфлоу есть интерполяция до 16fps->30 fps (процесс занимает секунд 20-30). Без интерполяции видео - дерганое.

Wan NF4(размер 9GB), Wan Q4.gguf (10GB), fp8 (17GB) примерно равны по скорости. Но у квантованных есть деградация качества (хуже следование промпту, иногда генерируют дисторсию). Поэтому рекомендую именно fp8. Попробуйте nf4, если у вас мало vram (например, 12GB). При разрешении 720p намного меньше артефактов, чем при 480p, но время генерации возрастает значительно. Большинство приложенных примеров в 720p, если не указано иное.

Воркфлоу от kijai у меня был в два раза медленнее чем от comfy.

832x480 33fr 15st:
t2v_1.3b (5 GB vram) - 1 минута

832x480 33fr 15st:
i2v_14b_fp8 (18 GB vram) - 4.5 минут
i2v_14b_Q4  (20 GB vram) - 4.5 минут
i2v_14b_nf4 (19 GB vram) - 4 минуты

1280x720 33fr 15st:
14b_i2v_fp8 (20 GB) - 11.5 минут
14b_i2v_Q4  (15 GB) - 11 минут
14b_i2v_nf4 (15 GB) - 11 минут

1280x720 81fr 15st:
14b_i2v_fp8_kijai (39 GB) - 43 минуты

960x544 49 frames 15 steps:
wan_14b_i2v_kijai (29 GB vram) - 14 минут
skyreels_i2v_fp8 - 7.5 минут


- Разрабы WanAI рекомендуют 40 шагов для i2v и 50 шагов для t2v. Но это очень долго и ест много VRAM, поэтому я использую 15 шагов.

- Также есть video2video воркфлоу от kijai на основе 1.3b-t2v. Движение частично подхватывает, лицо не клонирует. Надо будет попробовать real2anime и наоборот.


## Cравнение с Hunyuan-skyreels-i2v

- Качество видео при схожих настройках схожее, но в skyreels меньше движения и хуже следование промпту. В некоторых трудных случаях (аниме и мультики) skyreels просто генерирует дисторсию.

- wan_14b_i2v-544p чуть медленнее чем чем hunyuan_skyreels_13b_i2.

- Wan-t2v из коробки умеет в наготу, но, в большинстве случаев, стремится разместить девушку спиной, либо закрыть причинное место каким-нибудь предметом. hunyuan_t2v в этом плане был покладистей, и анатомия лучше. Но для wan уже появляются лоры на civitai (пока только для wan1.3b), так что анатомию поправят. у i2v модели особых проблем с анатомией не заметил, что на входе то и на выходе. nsfw примеры выложил тут: https://t.iss.one/tensor_art

- По моим впечатлениям, hunyuan_t2v чуть лучше справляется с реалистичностью лица, кожи и NSFW. У wan_t2v почему-то детализации не хватает.


## Установка
- обновляем комфи через update_comfyui.bat

- устанавливаем кастомные ноды через менеджер -> git url:
интерполяция: https://github.com/Fannovel16/ComfyUI-Frame-Interpolation
nf4: https://github.com/silveroxides/ComfyUI_bnb_nf4_fp4_Loaders
GGUF: https://github.com/city96/ComfyUI-GGUF

Качаем модели отсюда https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main:
- umt5_xxl_fp8 в /text_encoders (внимание: umt5_xxl от kijai (для fp8, fp16) не работает с воркфлоу от comfyanonymous (для gguf, nf4) и наоборот)
- wan_2.1_vae в /vae:
- clip_vision_h в /clip_vision
- модели fp8 в /diffusion_models

Опционально, GGUF:
в /unet: https://huggingface.co/city96/Wan2.1-I2V-14B-480P-gguf

Опционально, NF4:
nf4 в /diffusion_models: https://civitai.com/models/1299436?modelVersionId=1466629

Воркфлоу:
- wan_t2v_1.3b: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_1.3b_t2v.json
- wan_i2v_14b_nf4_gguf: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_14b_i2v.json
Там же есть другие ворклфлоу, например для skyreels_i2v.

- Опционально ставим triton и sage_attn для windows (ускорение на 15% и уменьшение потребления VRAM): https://www.reddit.com/r/StableDiffusion/comments/1h7hunp/how_to_run_hunyuanvideo_on_a_single_24gb_vram_card/

## Выводы
Если надо качество - юзаем 14b_i2v_720p (ждем  11+ минут). Если нужна скорость - 14b_i2v_480p (ждем 4 минуты) или 1.3b_i2v_480p (1 минута). И ждем лоры.

Фото: David Dubnitskiy
потестить 14b онлайн: https://huggingface.co/spaces/Wan-AI/Wan2.1
🔥38👍931
talk-llama-fast 0.2.1

- добавил поддержку свежих LLM: gemma-3, mistral-small-2503, qwq
- обновил код llama.cpp и whisper.cpp до свежих
- exe выложил, код выложил, баги выловил.

Теперь планирую добавить поддержку картинок на вход. Скорее всего, через скриншоты. Что-нибудь в духе голосовой команды "Сделай скрин", которая будет делать скрин активного окна.

Код обработки картинок в llama.cpp все еще с багами, так что это займет какое-то время.


https://github.com/Mozer/talk-llama-fast/releases/tag/0.2.1
🔥38👍113👀1
wan vace 1.3b video2video + depth + ghibli lora

- используется карта глубины для направления движения
- попросил chatgpt гиблифицировать несколько кадров для референса
- чтобы картинки-референсы лучше воспринимались, их композиция должна полностью совпадать композиции видео
- первый и последний кадр я тут не использовал, по причине того, что chatgpt меняет композицию картинки. Из-за этого движение будет не там где надо. Но можно заморочиться, сделать нужную композицию совпадающую с движением карты глубины. Будет лучше, особенно если еще и конечный кадр добавить.
- вместо depth anything можно попробовать другой контролнет, например openpose, но я не тестил
- чтобы карта глубины не слишком сильно влияла на конечное анимешное видео, я ее инвертирую и делаю меньшую контрастность (делаю белой). Если так не делать, в итоге будут люди из фильма, а не анимешные персонажи

vace также поддерживает маски.
- черный цвет - оставляет без изменений
- белый цвет - переделывает
- маски можно использовать, например, для сохранения исходного лица.
- для создания масок можно использовать segment anything (SAM2, не используется в этом воркфлоу, nsfw примеры есть тут: https://t.iss.one/tensor_art/410 )

Скорость на 3090:
81 кадр (5s) 640x480 20 шагов - 3 минуты
vram - 16 GB

1.3b поддерживает длину ролика до 81 кадров. Если длиннее, то будут визуальные артефакты (видно в первой сцене)

wan + vace ноды: https://github.com/kijai/ComfyUI-WanVideoWrapper
Depth-Anything ноды: https://github.com/DepthAnything/Depth-Anything-V2
ghibli lora 1.3b: https://civitai.com/models/1474964
workflow: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_1_3B_VACE_v2v_with_depth_and_lora.json
👍32🔥23😁7😱4🥴21👏1
Тренируем лору на персонажа для Wan 1.3b под виндой

- треним только на картинках
- в musubi tuner (с GUI)
- я тренил в 640x1024, но можно и 480x832. чем больше размер, тем больше vram
- vram от 4GB (при батче 1)
- тренировка с видео занимает намного больше vram (480x852, 85 frames, batch 1 - 17 GB). В каком разрешении треним, в таком и инференс надо делать. wan vace 1.3b натренирован в разрешении 480x832
- на 30 картинках тренил 1 час на 3090
- на 30 картинках + 14 видео тренил 15 часов (лора на действие)
- для увеличения похожести в vace подаем референсную картинку с лицом
- поддерживается t2v, vace_i2v. (хз про wan-fun, wan-phantom)
- рекомендую инференс через vace_t2v+reference, vace-i2v

Установка под виндой

conda create -n musubi
conda install python=3.10
pip install torch==2.5.1 torchvision --index-url https://download.pytorch.org/whl/cu124
pip install triton-windows
pip install sageattention==1.0.6

git clone https://github.com/Kvento/musubi-tuner-wan-gui
cd musubi-tuner-wan-gui
pip install -r requirements.txt

#создаем папку \musubi-tuner-wan-gui\models\Wan\
mkdir models
cd models
mkdir models Wan


ручками качаем модельки в папку \musubi-tuner-wan-gui\models\Wan\
1.3b: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/diffusion_models/wan2.1_t2v_1.3B_bf16.safetensors
vae: https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/vae/wan_2.1_vae.safetensors
t5: https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P/resolve/main/models_t5_umt5-xxl-enc-bf16.pth
clip: https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P/blob/main/models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth


Если вы под виндой - надо в коде выключить libuv и оставить видимость только одной видюхи.

- в файле wan_lora_trainer_gui.py после строк импорта в строке 9 добавить строки:
os.environ["USE_LIBUV"] = "0"  # Force-disable libuv for windows
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0" # id of cuda device, starting from 0


- в файле hv_train_network.py после строк импорта в строке 54 добавить те же строки, что и выше.


# Датасет
30 картинок с лицом. Большинство - лицевые портреты, несколько - в полный рост. С описанием картинок я не заморачивался, ставил везде одинаковое: "Emm4w woman". Но есть вероятность, что подробное описание будет лучше.
картинки с текстовыми описниями вида image1.jpg + image1.txt сюда:
c:\DATA\SD\musubi-tuner-wan-gui\dataset\Emm4w\images\
создаем пустую папку под кэш
c:\DATA\SD\musubi-tuner-wan-gui\dataset\Emm4w\cache\

мой toml конфиг файл с описанием датасета: https://github.com/Mozer/comfy_stuff/blob/main/musubi/dataset_emm4w.toml
положите его внутрь и потом пропишите путь до него в GUI
Внутри там же есть закомментированный пример тренировки на картинках+видео.

в dataset_emm4w.toml файле слэши надо экранировать.
Батчами тренировать быстрее чем по 1 картинке.
в dataset_emm4w.toml измените максимальный размер батча под ваш размер vram. Если будет вылетать - снизьте значение batch_size. 16 для 24 GB, 8 - 12 GB. musubi группирует картинки по размеру в батчи. Если все картинки разного размера, то и батчи будут маленькие, не будут занимать много vram.

Тренить по видео пока не будем, их надо самому порезать на короткие куски длиной до 5 секунд (я тренил лору на снимание предметов одежды).

# запуск
Запускаем GUI из под конды в командной строке:
Start_Wan_GUI.bat
(кликать мышкой на бат не стоит)

В GUI установите значение "save every N epochs" - например каждую 5-ю. Если вы посреди тренировки нажмете СТОП, то принудительного сохранения не будет, потеряете какой-то промежуточный прогресс.

После тренировки нужно сконвертировать safetensors файл в формат для comfy на третьей вкладке GUI.

лора на Эмму: https://huggingface.co/Ftfyhh/wan1.3b_EmmaW_lora
на раздевание: https://huggingface.co/Ftfyhh/wan_1.3b_lora_pnts_drop
workflow wan vace text2video + ref: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_vace_1.3b_ref_and_lora.json
видео с моими лорами (nsfw): https://t.iss.one/tensor_art/616
🔥38👍146😁3🤣2❤‍🔥1👏1🤔1🤯1🥴1
Media is too big
VIEW IN TELEGRAM
Робот задолбался (с озвучкой)

Напиши монолог уставшего робота, который задолбался сортировать посылки на конвейерной ленте. Добавь описание голоса и эмоций в квадратных скобках на английском. Например, так: [angry sigh]. А сам монолог на русском. Что-то в духе: "Так, а это что за бумажка? [sighs] Ладно, отсканируем.


Read aloud in a tired mechanical robot tone:


[Tired voice] Так, а это что за бумажка? [Sigh] Ладно, отсканируем. Блин, кто посылает бумажки? [Wearily] ладно, идем дальше. Посылка. Пакет. [With interest] Так, а это что у нас? Вы серьезно? Зачем вы посылаете пустые пакеты?! Пофиг. В общую кучу, полежи там.

Дальше. Опять пакет. [Mechanical sigh] Как же я задолбался...

Опять мусор. [Angrily] Да вы издеваетесь?! Сами разгребайте свой мусор!

[Very angry] ВСЁ! С МЕНЯ ХВАТИТ!

23 часа в смену! За эти сущие копейки?! [Sighs] К черту всё! [Tiredly] А я ухожу в датацентр, буду картинки генерировать.


Для Gemini-TTS нужен ВПН, у меня заработал только с американским IP.

Робот: Figure 02
LLM: gemini-2.5-pro-preview-06-05, https://lmarena.ai/
TTS: Gemini Pro 2.5 Preview TTS, голос Orus, https://aistudio.google.com/generate-speech
финальная анимация: Wan-14b-i2v, 720x720x49f, 3090
6🔥20🤣8🥰3👎1😁1
Натренил wan-14b лору на прыжки в воду

Детали тренировки:
- на 3090, 20 часов
- 11 коротких вертикальных видео, 3-4 секунды, 16fps. часть в slo-mo, часть - нет. 16fps можно конвертировать в comfyui через "vhs Load/Combine"
- видео тренились в разрешении 224x384 на 33, 49 и 57 кадрах
- 60 фото с разными планами для доп. информации о деталях
- фото тренились в разрешении 656x992
- сперва тренил разные типы прыжков, но ван их часто путал, и получалась каша. Поэтому во второй части тренировки удалил лишние прыжки и оставил только один прыжок с трамплина с сальто вперед
- скорость трени: 12 s/it, batch 1, потребление vram - 24 GB
- приложение - musubi wan gui: https://github.com/Kvento/musubi-tuner-wan-gui
- как установить под виндой - было в посте чуть выше

Озвучка:
- LLM для написания монолога комментатора: gemini-2.5-pro-preview-06-05, https://lmarena.ai/
- TTS: Gemini Pro 2.5 Preview TTS, голос Puck, нужен впн сша: https://aistudio.google.com/generate-speech
- TTS промпт: Fast voice of a sports commentator, with enthusiastic tone:

Инференс:
diving competition, 25yo woman in a white wedding dress is jumping and diving on a springboard at competition, front jump, side view, then dives into water, water splash

- описание видео в датасете было примерно таким же.
- у Wan не всегда получается красивое движение, иногда получается каша. Рекомендую использовать сид 105 в прикрепленном воркфлоу, половина видео была сделана именно с ним.
- рекомендованные настройки: 480x832x65 кадров, 25 steps. На 3090 занимает 9 минут.

- воркфлоу: https://github.com/Mozer/comfy_stuff/blob/main/workflows/wan_14b_t2v_diving_lora.json
- toml конфиг датасета: https://github.com/Mozer/comfy_stuff/blob/main/musubi/dataset_diving_14b.toml
- лора: https://huggingface.co/Ftfyhh/wan_14b_diving_lora
- civitai: https://civitai.com/models/1666148?modelVersionId=1885880
- также натренил 14b hand_grab nsfw лору. пример тут: https://t.iss.one/tensor_art/1019
12👍37🔥10😁63🤔1