Вышла Pyramid Flow — нейросеть с открытым исходным кодом для генерации видео

Исследователи из Пекинского университета, китайской компании Kuaishou Technology и Пекинского университета почты и коммуникации представили модель машинного обучения Pyramid Flow с открытым кодом. Она предназначена для генерации видео.

Нейросеть может генерировать 10-секундные видео с разрешением 768p и частотой кадров 24 FPS. Поддерживаются режимы text-to-video и image-to-video. Разработчики отмечают, что обучали модель на открытых датасетах в течение 20 тыс. GPU-часов. Для обучения использовали графические ускорители Nvidia A100.

Тесты разработчиков показывают, что Pyramid Flow превосходит имеющиеся открытые модели для генерации видео, включая Kling и Gen-3 Alpha.

Также команда проекта провела сравнительные тесты, в которых приняли участие более 20 человек. На графиках видно, что респонденты чаще отмечают плавность видео, сгенерированных с помощью Pyramid Flow.

Модели опубликованы на площадке Hugging Face, также на портале доступно демоприложение. Инструкции по запуску можно найти на GitHub.

Инференс модели в режиме text-to-video выглядит следующим образом:

prompt = "A movie trailer featuring the adventures of the 30 year old space man wearing a red wool knitted motorcycle helmet, blue sky, salt desert, cinematic style, shot on 35mm film, vivid colors"with torch.no_grad(), torch.cuda.amp.autocast(enabled=True, dtype=torch_dtype):    frames = model.generate(        prompt=prompt,        num_inference_steps=[20, 20, 20],        video_num_inference_steps=[10, 10, 10],        height=768,             width=1280,        temp=16,                    # temp=16: 5s, temp=31: 10s        guidance_scale=9.0,         # The guidance for the first frame, set it to 7 for 384p variant        video_guidance_scale=5.0,   # The guidance for the other video latent        output_type="pil",        save_memory=True,           # If you have enough GPU memory, set it to `False` to improve vae decoding speed    )export_to_video(frames, "./text_to_video_sample.mp4", fps=24)

Инференс модели в режиме image-to-video:

image = Image.open('assets/the_great_wall.jpg').convert("RGB").resize((1280, 768))prompt = "FPV flying over the Great Wall"with torch.no_grad(), torch.cuda.amp.autocast(enabled=True, dtype=torch_dtype):    frames = model.generate_i2v(        prompt=prompt,        input_image=image,        num_inference_steps=[10, 10, 10],        temp=16,        video_guidance_scale=4.0,        output_type="pil",        save_memory=True,           # If you have enough GPU memory, set it to `False` to improve vae decoding speed    )export_to_video(frames, "./image_to_video_sample.mp4", fps=24)

Материал опубликован при поддержке сайта habr.com
Комментарии

    Актуальные новости по теме "Array"