generative-models projects from stability.ai
195
作者:魏文应 时间:2024-04-19
根据 generative-models 项目说明进行配置。以下是各版本说明:
| 版本 | 说明 | 备注 |
|---|---|---|
| base-environment | 基础环境 | |
| SVD | 图生视频 | |
| SV3D | 图生3D |
| 条目 | 说明 | 备注 |
|---|---|---|
| 基础镜像 | nuvic/pytorch:2.2.0-python3.10-cuda11.2.2-ubuntu20.04 | |
| 系统OS | ubuntu20.04 | |
| NVIDIA Driver | NVIDIA-SMI 460.106.00 Driver Version: 460.106.00 CUDA Version: 11.2 | |
| CUDA | 11.8 | |
| miniconda | 24.1.0 | |
| pytorch | 2.2.0 | |
| generative-models | main(2024-04-16) |
使用本镜像创建容器:
# docker run --gpus 指定物理GPU -it --name 自定义容器名称 镜像名称:版本(相应版本要求物理机nvidia driver支持) bash
docker run --network host --gpus '"device=0,1"' -it --name sgm nuvic/generative-models:base-environment bash
然后在容器中,执行下面命令(测试图生视频任务):
# 这里写你的代理
export HTTP_PROXY=socks5://192.168.10.232:10808
export HTTPS_PROXY=socks5://192.168.10.232:10808
export ALL_PROXY=socks5://192.168.30.107:10808
cd /root/workspace/generative-models/
mkdir -p checkpoints
tsocks huggingface-cli download stabilityai/stable-video-diffusion-img2vid svd.safetensors --local-dir=checkpoints/
# 当抛出如下异常时:
# urllib.error.URLError: <urlopen error Remote end closed connection without response>
# 则执行以下命令去除科学上网代理:
# unset HTTP_PROXY && unset HTTPS_PROXY && unset ALL_PROXY
# 然后再重新执行下面命令:
PYTHONPATH=. streamlit run scripts/demo/video_sampling.py --server.port 10234
然后在浏览器中,打开链接(如 http://192.168.10.144:10234/) ,上传图,并点击sample即可。
启动容器:
# docker run --gpus 指定物理GPU -it --name 自定义容器名称 镜像名称:版本(相应版本要求物理机nvidia driver支持) bash
docker run --network host --gpus '"device=6,7"' -it --name SV3D nuvic/pytorch:2.2.0-python3.10-cuda11.2.2-ubuntu20.04 bash
执行上面命令后,此时已经进入了容器,在容器执行 python,查看pytorch是否可以正常调用GPU:
import torch
print(torch.cuda.is_available()) # 返回True表明正常
添加你的科学上网代理工具:
# 这里写你的代理
export HTTP_PROXY=socks5://192.168.10.232:10808
export HTTPS_PROXY=socks5://192.168.10.232:10808
export ALL_PROXY=socks5://192.168.30.107:10808
cd /root/workspace/
git clone https://github.com/Stability-AI/generative-models.git
cd generative-models/
执行下面命令,安装Python环境:
# TypeError: TiffWriter.write() got an unexpected keyword argument 'fps'
pip install scikit-image==0.20.0 imageio==2.19.3 imageio-ffmpeg==0.4.7
conda install ffmpeg=4.2.2
# https://github.com/facebookresearch/xformers
# xformers的版本要求比较严格,安装时要注意cuda相关库是否在下载,如果在下载,说明版本和当前Pytorch版本不匹配
conda install xformers -c xformers
conda install torchaudio torchmetrics torchvision
conda install transformers matplotlib scipy pandas pillow
conda install httpx[socks] # 代理工具需要
conda install streamlit-keyup
pip install torchdata
pip install -e git+https://github.com/openai/CLIP.git@main#egg=clip
pip install pytorch_lightning==2.2.0
pip install opencv-python==4.6.0.66
pip install einops gradio
pip install omegaconf open-clip-torch
pip install webdataset wandb
pip install tensorboardx pudb rembg
pip install ninja natsort kornia
pip install invisible-watermark fsspec
pip install fire fairscale chardet black
执行下面命令,配置一下gradio:
# 这里配置你的科学上网代理工具
vim /etc/tsocks.conf
# 配置完成后,下载一个文件
tsocks wget https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64 && \
mv frpc_linux_amd64 frpc_linux_amd64_v0.2 && \
chmod +x frpc_linux_amd64_v0.2 && \
mv frpc_linux_amd64_v0.2 /root/miniconda3/lib/python3.10/site-packages/gradio/
图生视频模型,进行测试,先下载 svd.safetensors 文件:
mkdir -p checkpoints
tsocks huggingface-cli download stabilityai/stable-video-diffusion-img2vid svd.safetensors --local-dir=checkpoints/
然后执行下面命令:
# 当抛出如下异常时:
# urllib.error.URLError: <urlopen error Remote end closed connection without response>
# 则执行以下命令去除科学上网代理:
# unset HTTP_PROXY && unset HTTPS_PROXY && unset ALL_PROXY
# 然后再重新执行下面命令:
PYTHONPATH=. streamlit run scripts/demo/video_sampling.py --server.port 10234
加载svd模型后,可能会抛出如下异常:
# 不影响,这是因为没有上传图片,就自动运行导致的,上传图片即可
TypeError: randn_like(): argument 'input' (position 1) must be Tensor, not NoneType
接着随便上传一张图片,然后点击 sampling ,生成得到视频。执行无误后,生成的图片在 /root/workspace/output 目录下。执行下面命令,清除缓存:
# 清除生成结果
rm -rf /root/workspace/generative-models/outputs
rm -rf /root/.cache/huggingface/
# 清除代理
unset HTTP_PROXY && unset HTTPS_PROXY && unset ALL_PROXY
# 清除pip和conda缓存
pip cache purge && conda clean -y --all
exit
在物理机命令行中,执行下面命令,提交镜像:
# docker commit 容器名称 镜像名称
docker commit SV3D nuvic/generative-models:base-environment
# docker login
docker push nuvic/generative-models:base-environment
| 条目 | 说明 | 备注 |
|---|---|---|
| 基础镜像 | nuvic/generative-models:base-environment | |
| 系统OS | ubuntu20.04 | |
| NVIDIA Driver | NVIDIA-SMI 460.106.00 Driver Version: 460.106.00 CUDA Version: 11.2 | |
| CUDA | 11.8 | |
| miniconda | 24.1.0 | |
| pytorch | 2.2.0 | |
| generative-models | main(2024-04-16) |
使用本镜像创建容器:
# docker run --gpus 指定物理GPU -it --name 自定义容器名称 镜像名称:版本(相应版本要求物理机nvidia driver支持) bash
docker run --network host --gpus '"device=0,1"' -it --name SVD nuvic/generative-models:SVD bash
然后在容器中,执行下面命令(测试图生视频任务):
cd /root/workspace/generative-models/
PYTHONPATH=. streamlit run scripts/demo/video_sampling.py --server.port 10234
然后在浏览器中,打开链接(如 http://192.168.10.144:10234/) ,上传图,并点击sample即可。
启动容器:
# docker run --gpus 指定物理GPU -it --name 自定义容器名称 镜像名称:版本(相应版本要求物理机nvidia driver支持) bash
docker run --network host --gpus '"device=6,7"' -it --name SV3D nuvic/generative-models:base-environment bash
执行上面命令后,此时已经进入了容器,在容器执行 python,查看pytorch是否可以正常调用GPU:
import torch
print(torch.cuda.is_available()) # 返回True表明正常
添加你的科学上网代理工具:
# 这里写你的代理
export HTTP_PROXY=socks5://192.168.10.232:10808
export HTTPS_PROXY=socks5://192.168.10.232:10808
export ALL_PROXY=socks5://192.168.30.107:10808
图生视频模型,进行测试,先下载 svd.safetensors 文件:
cd /root/workspace/generative-models/
mkdir -p checkpoints
tsocks huggingface-cli download stabilityai/stable-video-diffusion-img2vid svd.safetensors --local-dir=checkpoints/
然后执行下面命令:
# 当抛出如下异常时:
# urllib.error.URLError: <urlopen error Remote end closed connection without response>
# 则执行以下命令去除科学上网代理:
# unset HTTP_PROXY && unset HTTPS_PROXY && unset ALL_PROXY
# 然后再重新执行下面命令:
PYTHONPATH=. streamlit run scripts/demo/video_sampling.py --server.port 10234
加载svd模型后,可能会抛出如下异常:
# 不影响,这是因为没有上传图片,就自动运行导致的,上传图片即可
TypeError: randn_like(): argument 'input' (position 1) must be Tensor, not NoneType
接着随便上传一张图片,然后点击 sampling ,生成得到视频。执行无误后,生成的图片在 /root/workspace/output 目录下。执行下面命令,清除缓存:
# 清除生成结果
rm -rf /root/workspace/generative-models/outputs
# 清除代理
unset HTTP_PROXY && unset HTTPS_PROXY && unset ALL_PROXY
# 清除pip和conda缓存
pip cache purge && conda clean -y --all
exit
在物理机命令行中,执行下面命令,提交镜像:
# docker commit 容器名称 镜像名称
docker commit SVD nuvic/generative-models:SVD
# docker login
docker push nuvic/generative-models:SVD
| 条目 | 说明 | 备注 |
|---|---|---|
| 基础镜像 | nuvic/generative-models:base-environment | |
| 系统OS | ubuntu20.04 | |
| NVIDIA Driver | NVIDIA-SMI 460.106.00 Driver Version: 460.106.00 CUDA Version: 11.2 | |
| CUDA | 11.8 | |
| miniconda | 24.1.0 | |
| pytorch | 2.2.0 | |
| generative-models | main(2024-04-16) | |
| 功能 | 单图像输入生成轨道视频,无需相机调节。 |
使用本镜像创建容器:
# docker run --gpus 指定物理GPU -it --name 自定义容器名称 镜像名称:版本(相应版本要求物理机nvidia driver支持) bash
docker run --network host --gpus '"device=0,1"' -it --name SVD_u nuvic/generative-models:SVD_u bash
然后在容器中,执行下面命令(测试图生视频任务):
cd /root/workspace/generative-models/
PYTHONPATH=. streamlit run scripts/demo/video_sampling.py --server.port 10234
然后在浏览器中,打开链接(如 http://192.168.10.144:10234/) ,上传图,并点击sample即可。
启动容器:
# docker run --gpus 指定物理GPU -it --name 自定义容器名称 镜像名称:版本(相应版本要求物理机nvidia driver支持) bash
docker run --network host --gpus '"device=6,7"' -it --name SV3D nuvic/generative-models:base-environment bash
执行上面命令后,此时已经进入了容器,在容器执行 python,查看pytorch是否可以正常调用GPU:
import torch
print(torch.cuda.is_available()) # 返回True表明正常
添加你的科学上网代理工具:
# 这里写你的代理
export HTTP_PROXY=socks5://192.168.10.232:10808
export HTTPS_PROXY=socks5://192.168.10.232:10808
export ALL_PROXY=socks5://192.168.30.107:10808
图生视频模型,进行测试,先下载 sv3d_u.safetensors 文件:
cd /root/workspace/generative-models/
mkdir -p checkpoints
# 下载前要登录huggingface
tsocks huggingface-cli login
tsocks huggingface-cli download stabilityai/sv3d sv3d_u.safetensors --local-dir=checkpoints/
然后执行下面命令:
# 当抛出如下异常时:
# urllib.error.URLError: <urlopen error Remote end closed connection without response>
# 则执行以下命令去除科学上网代理:
# unset HTTP_PROXY && unset HTTPS_PROXY && unset ALL_PROXY
# 然后再重新执行下面命令:
PYTHONPATH=. streamlit run scripts/demo/video_sampling.py --server.port 10234
加载svd模型后,可能会抛出如下异常:
# 不影响,这是因为没有上传图片,就自动运行导致的,上传图片即可
TypeError: randn_like(): argument 'input' (position 1) must be Tensor, not NoneType
接着随便上传一张图片,然后点击 sampling ,生成得到视频。执行无误后,生成的图片在 /root/workspace/output 目录下。执行下面命令,清除缓存:
# 删除huggingface token
rm /root/.cache/huggingface/token
# 清除生成结果
rm -rf /root/workspace/generative-models/outputs
# 清除代理
unset HTTP_PROXY && unset HTTPS_PROXY && unset ALL_PROXY
# 清除pip和conda缓存
pip cache purge && conda clean -y --all
exit
在物理机命令行中,执行下面命令,提交镜像:
# docker commit 容器名称 镜像名称
docker commit SV3D nuvic/generative-models:SV3D_u
# docker login
docker push nuvic/generative-models:SV3D_u
Content type
Image
Digest
sha256:2622b13d2…
Size
22.4 GB
Last updated
over 2 years ago
docker pull nuvic/generative-models:SVD