Open Sora: инструмент для создания видео с открытым исходным кодом для оптимизации согласованности лиц
Общее введение
Open-Sora - это проект с открытым исходным кодом, позволяющий всем желающим эффективно генерировать видео высокого качества. Он разработан командой hpcaitech и предоставляет инструменты для создания видео из текста или изображений, поддерживая различные разрешения и продолжительность. Проект имеет полностью открытый исходный код, что делает весовые коэффициенты модели, код и процесс обучения общедоступными и поощряет вклад сообщества. Последняя версия, Open-Sora 2.0, по производительности близка к лучшим моделям в отрасли, ее обучение стоит всего 200 000 долларов, а видео генерируется быстро и качественно. Пользователи могут бесплатно скачать код, запустить его локально или воспользоваться интерфейсом Gradio компании Hugging Face. Open-Sora предназначена для создателей, разработчиков и исследователей, способствуя популярности и инновациям в создании видео и предоставляя при этом коммерческий продукт:Видео Океан .

Список функций
- Генерация текста в видео: введите текстовое описание, чтобы сгенерировать видео, соответствующее содержанию.
- Генерация изображений в видео: создание динамических видеороликов на основе одного изображения.
- Расширение видео: увеличивает длину видео или добавляет контент.
- Поддержка нескольких разрешений: поддерживается вывод видео с разрешением от 144p до 768p.
- Гибкая продолжительность: генерируйте видео длительностью от 2 секунд до 16 секунд.
- Разнообразные соотношения сторон: поддерживаются форматы 16:9, 9:16, 1:1 и другие.
- Модели и обучение с открытым исходным кодом: предоставление весов моделей и обучающего кода, поддержка разработки под заказ.
- Эффективный вывод: оптимизированные алгоритмы снижают требования к аппаратному обеспечению и позволяют генерировать видео на одном GPU.
- Оптимизация слов подсказок: поддержка GPT-4o для улучшения слов подсказок и повышения качества генерации.
- Скоринг движений: регулируйте динамику видео с помощью скоринга движений.
Использование помощи
Процесс установки
Чтобы использовать Open-Sora, пользователям необходимо настроить свое окружение Python и установить зависимости. Ниже приведены подробные шаги:
- Создание виртуальной среды
Создайте виртуальную среду с Python 3.10, чтобы избежать конфликтов зависимостей:conda create -n opensora python=3.10 conda activate opensora
- Клонирование кодовой базы
Загрузите проект Open-Sora с GitHub:git clone https://github.com/hpcaitech/Open-Sora cd Open-Sora
- Установка зависимостей
Убедитесь, что версия PyTorch выше 2.4.0, выполнив следующую команду:pip install -v .
Если требуется режим разработки, используйте его:
pip install -v -e .
- Установка библиотек ускорения
Использование Open-Soraxformers
ответить пениемflash-attn
Повышение производительности. Устанавливается в соответствии с версией CUDA:pip install xformers==0.0.27.post2 --index-url https://download.pytorch.org/whl/cu121 pip install flash-attn --no-build-isolation
Для ускорения рассуждений можно использовать скомпилированные вручную
flash-attention
::git clone https://github.com/Dao-AILab/flash-attention cd flash-attention/hopper python setup.py install
- Скачать модельные веса
Open-Sora 2.0 поддерживает создание видео в форматах 256p и 768p, а модели можно загрузить с Hugging Face или ModelScope:pip install "huggingface_hub[cli]" huggingface-cli download hpcai-tech/Open-Sora-v2 --local-dir ./ckpts
или использовать ModelScope:
pip install modelscope modelscope download hpcai-tech/Open-Sora-v2 --local_dir ./ckpts
- Проверка установки
Убедитесь, что окружающая среда в норме:python -c "import opensora; print(opensora.__version__)"
Использование
Open-Sora поддерживает преобразование текста в видео, изображения в видео и многие другие функции с простым управлением. Ниже представлено подробное руководство:
Генерация текста в видео
Open-Sora оптимизирует процесс преобразования изображения в видео, но также поддерживает прямое преобразование текста в видео. Для повышения качества рекомендуется использовать конвейер преобразования текста из изображения в видео.
- Подготовка подсказок
Напишите подробное описание текста, например "Океан в шторм, огромные волны бьются о скалы и темные тучи". Чем конкретнее слова подсказки, тем лучше результаты. - Выполните команду generate
Генерирует видео 256x256:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
Генерирует видео 768x768 (требуется несколько графических процессоров):
torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_768px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
- Параметры настройки
--aspect_ratio
: Установите соотношение сторон, например.16:9
возможно1:1
.--num_frames
: Установите количество кадров в диапазоне 4k+1 (максимум 129 кадров).--offload True
: Включите оптимизацию памяти для устройств нижнего ценового диапазона.
- Посмотреть результаты
Созданное видео сохраняется в файлеsamples
папку в формате MP4.
Генерация изображений в видео
- Подготовка эталонных изображений
Загрузите изображение и сохраните его какinput.png
. - Выполните команду generate
Создает видео в формате 256p:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
Создает видео в формате 768p:
torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/768px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
- Оптимизация динамических эффектов
пользоваться--motion-score
Регулирует степень динамики экрана. По умолчанию установлено значение 4. Пример:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A running horse" --ref horse.png --motion-score 7
Оптимизация слов реплики
Open-Sora поддерживает использование GPT-4o для оптимизации слов подсказок и улучшения качества генерации:
- Установите ключ API OpenAI:
export OPENAI_API_KEY=sk-xxxx
- Выполните команду optimise:
torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "raining, sea" --refine-prompt True
Работа с интерфейсом Gradio
Open-Sora предоставляет интерактивный интерфейс Gradio:
- Интерфейс запуска:
python scripts/demo.py --model-type v2-768px
- Доступ в браузере
http://localhost:7860
. - Введите слова или загрузите изображения, настройте разрешение и частоту кадров, нажмите "Generate", чтобы создать видео.
- Можно включить оптимизационную подсказку "Refine prompt" (требуется ключ OpenAI API).
Обучение индивидуальной модели
Пользователи могут обучать модели на основе собственных наборов данных:
- Подготовьте набор данных: CSV-файл, содержащий путь и описание видео.
- Измените файл конфигурации:
configs/opensora-v2/train/stage1.py
Установите путь к данным. - Беговая тренировка:
torchrun --nproc_per_node 8 scripts/train.py configs/opensora-v2/train/stage1.py --data-path your_data.csv
эффективность вычислений
Open-Sora оптимизирует эффективность вычислений, и результаты тестов выглядят следующим образом (H100 GPU, 50 шагов выборки):
- 256x256: один GPU - 60 секунд, память 52,5 ГБ; 4 GPU - 34 секунды, память 44,3 ГБ.
- 768x768: 8 GPU 276 секунд, 44,3 ГБ видеопамяти.
предостережение
- требования к оборудованиюРекомендуется NVIDIA H100 или A100 с не менее чем 24 ГБ видеопамяти. Для устройств низкого класса доступны более низкие разрешения.
- Качество подсказок: Подробные описания могут значительно улучшить результаты видео.
- лицензии: Open-Sora использует лицензию MIT, которая разрешает коммерческое использование, в соответствии с условиями и положениями.
сценарий применения
- Создание коротких видеороликов
Блоггеры могут использовать Open-Sora для создания рекламных видеороликов, например "Огни города мерцают ночью", для размещения на платформах социальных сетей. - Образовательная анимация
Учителя могут создавать анимации, например, "планеты, вращающиеся вокруг солнца", чтобы повысить привлекательность занятий. - Дизайн игровой сцены
Разработчики генерируют динамические сцены на основе концепт-карты для использования в качестве фона или переходов в игре. - Исследование искусственного интеллекта
Исследователи могут модифицировать код модели для тестирования новых алгоритмов или наборов данных, чтобы усовершенствовать методы генерации видео.
QA
- Какова производительность Open-Sora 2.0?
В обзоре VBench, Open-Sora 2.0 и OpenAI Сора Разрыв сокращается до 0,691 TP3T, что близко к HunyuanVideo 11B и Step-Video 30B. - Какие разрешения и продолжительность поддерживаются?
Поддерживаются форматы от 144p до 768p, длительность видео от 2 секунд до 16 секунд, соотношение сторон 16:9, 9:16 и другие. - Как оптимизировать качество генерации?
Используйте подробные подсказки для настройкиmotion-score
(1-7), или включите GPT-4o Оптимизировать слова подсказки. - Могу ли я пользоваться им бесплатно?
Open-Sora - это полностью открытый исходный код, модели и код находятся в свободном доступе под лицензией MIT.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...