Write the Code. Change the World.

4月 30

官方地址:https://github.com/TMElyralab/MuseV

在这里,可以看到生成的样例。这里总结下部署和安装,几乎和官网一样。

环境准备

开始

  1. 先创建一个项目目录, museVtask。将 github 代码拉下来。
    git clone --recursive https://github.com/TMElyralab/MuseV.git 这里一定要加上recursive参数,这样会将 diffusers 等子模块一起下载下来。

  2. 下载模型文件。这里不使用 git 下载,毕竟模型文件 32.3 G。使用 huggingface cli,还得要梯子。huggingface-cli download --resume-download TMElyralab/MuseV --local-dir ./MuseV/checkpoints

  3. 在下载的同时,可以将 docker-compose 配置文件搞起来。先创建 Dockerfile 文件,代码如下:

FROM anchorxia/musev:latest  

# 设置工作目录  
WORKDIR /workspace/MuseV  

# 将宿主机的 MuseV 目录复制到容器的对应目录  
COPY ./MuseV /workspace/MuseV  

# 设置 PYTHONPATH 环境变量  
ENV PYTHONPATH=/workspace/MuseV:${PYTHONPATH}  
ENV PYTHONPATH=/workspace/MuseV/MMCM:${PYTHONPATH}  
ENV PYTHONPATH=/workspace/MuseV/diffusers/src:${PYTHONPATH}  
ENV PYTHONPATH=/workspace/MuseV/controlnet_aux/src:${PYTHONPATH}  

# 这里可以设置默认的命令,但如果你想要 bash 交互式 shell,则不需要  
# CMD ["python", "your_script.py"]  

再创建 docker-compose.yaml 文件,代码如下:

services:
  musev:
    build:
      context: .
      dockerfile: Dockerfile
    image: musev
    container_name: musev-latest
    runtime: nvidia
    restart: always
    volumes:
      - ./MuseV:/workspace/MuseV
    stdin_open: true
    tty: true

如果报错 docker: Error response from daemon: unknown or invalid runtime name: nvidia,请参考 https://blog.vini123.com/1206

  1. 生成 docker 镜像。这个镜像也很大。docker-compose build

上边就 git clone 下载下来的文件最小,其他文件都很大,可以同时进行。这个要快的网络,还要有梯子。上边这些都准备好了之后,就可以运行了。先看看此时文件的目录构成情况。

.
├── Dockerfile
├── MuseV
│   ├── CHANGES
│   ├── Dockerfile
│   ├── LICENSE
│   ├── MMCM
│   ├── README-zh.md
│   ├── README.md
│   ├── checkpoints
│   ├── configs
│   ├── controlnet_aux
│   ├── data
│   ├── diffusers
│   ├── environment.yml
│   ├── musev
│   ├── output
│   ├── requirements.txt
│   ├── scripts
│   └── setup.py
├── Readme.md
└── compose.yaml
  1. 运行镜像,生成容器。 docker-compose up -d
  2. 查看容器。 docker ps, 找到 musev 的容器 id。
  3. 进入容器。 docker exec -it xxx bash。 其中,xxx 是 musev 容器 id 的前三位。
  4. 进入容器后,执行下边命令,开始生成视频。

python scripts/inference/text2video.py --sd_model_name majicmixRealv6Fp16 --unet_model_name musev_referencenet --referencenet_model_name musev_referencenet --ip_adapter_model_name musev_referencenet -test_data_path ./configs/tasks/example.yaml --output_dir ./output --n_batch 1 --target_datas yongen --vision_clip_extractor_class_name ImageClipVisionFeatureExtractor --vision_clip_model_path ./checkpoints/IP-Adapter/models/image_encoder --time_size 12 --fps 12

这个直接从官方 github 上复制过来的。如果有需要,可以自行修改配置。

  1. 等待视频生成。等了两个小时。视频也生成了,就是样例上的第一个。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注