AI搓图第二弹,咱们搓视频
继续使用继续用Stable系列产品stable-video-diffusion
为啥使用这个,总结两点
①开源
②免费
提前BB:需要GPU!!!需要GPU!!!需要GPU!!!如果没有GPU基本上也可以放弃,或者可以使用colab。然后进行玩耍。等后续huggingface大佬们更新了,也许Mac M1及以上也可以继续玩耍了~
一、让我们荡起双桨
打开命令行,输入
git clone https://github.com/Stability-AI/generative-models.git
可能会遇到一些奇葩的报错,没事,多试几次。就好了。
如果 安装失败,出现fatal之类错误,基本上就是2个问题
1、文件太大,去改一下git的设置 git config --global http.postBuffer 2097152000
就是缓冲区
2、就是网络问题,修改hosts之类就可以了
然后
cd generative-models
再然后(这一步主要是,安装一些包)
mac版本命令
python3 -m venv .pt2
source .pt2/bin/activate
pip3 install -r requirements/pt2.txt
windows版本命令
python3 -m venv .pt2
cd .pt2/Scripts
activate
然后cd .. 两次 回到generative-models 目录
再
pip3 install -r requirements/pt2.txt
安装过程中可能会遇到下述问题,也可能两个都遇到
这两个都是python版本问题。改成python3 的3.10就可以搞定。
(如果下面triton这个问题,在修改python版本之后还是无效
打开requirements/pt2.txt
这个文件
然后注释掉 triton==2.0.0 这一行,就是这一行前面加 # 就可以,或者直接删除这行)
操作步骤如下
1. 再开一个命令行(不新开也行)
windows。就去python官网下载3.10.x版本,然后安装就好。。
Mac输入 brew link python@3.10
如果你的mac默认还有其他的python版本,这样可能也不行,那么,继续
输入
which python3
查看一下你的python3在哪里
然后
open ~/.bash_profile
弹出的文本编辑器里,加入
alias python=“上面which python3 的地址"
alias python3=“上面which python3 的地址"
然后保存,关闭文本编辑器
命令行输入
source ~/.bash_profile
然后 关闭当前命令行,重新打开一个命令行。重新输入上面的安装命令,就可以了。
离奇的情况就是,这样改了,哪怕pip和pip3都改了,还是会以大于python3.10的版本去执行,那就用最后的方法
which python3的地址 -m venv .pt2
source .pt2/bin/activate
pip3 install -r requirements/pt2.txt
如果遇到
因为你没有这个rust compiler,这个错误一般是在安装transformers或者tokenizers的时候,也不是绝对的,总之,仔细查看错误日志吧~
curl --proto '=https' --tlsv1.2 -sSf sh.rustup.rs | sh
安装一下rust就好
然后再一次 pip3 install -r requirements/pt2.txt 遇到
这个是rust版本太低,去升级一下。
就
rustup toolchain install 1.72.0
rustup default 1.72.0
rustc --version 这里查看一下,发现版本已经是1.72.0就搞定了。
再一次pip3 install -r requirements/pt2.txt
如果还是不行,那就是版本的事情
tokenizers>=0.14.1,<0.19
transformers>=4.36
改一下这两个的版本
修改之后,再一次运行 install -r requirements/pt2.txt
mac下
遇到报错,往上翻一翻,如果看到下面这个图。。。
根据mac.r-project.org/openmp/#do
mac不跟这玩意儿玩了。。所以。。。
curl -O https://mac.r-project.org/openmp/openmp-14.0.6-darwin20-Release.tar.gz
sudo tar fvxz openmp-14.0.6-darwin20-Release.tar.gz -C /
然后 brew install llvm
安装成功后 他会提示你一些信息
命令行 open ~/.zshrc
然后复制粘贴进去
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
export CC="/opt/homebrew/opt/llvm/bin/clang"
export CXX="/opt/homebrew/opt/llvm/bin/clang++"
然后 source ~/.zshrc
再一次 pip3 install requirements/pt2.txt
然后看到
恭喜你
如果是windows用户,理论上没有这个问题的。。。
继续安装
pip3 install .
(切记,这里有个点 . 别忽略了)
还得装
pip3 install -e git+github.com/Stability-A…
如果上面安装顺利,到这里就可以运行了
streamlit run scripts/demo/video_sampling.py
这样就可以运行了,这里用的是默认端口也就也是8501 ,你也可以自定义
streamlit run scripts/demo/video_sampling.py --server.port <your_port>
因为一些神秘力量,导致安装的时候,会遇到一些不可阻挡的问题出现。所以,可以考虑使用镜像去安装,镜像也不是说就一定能完全安装好。
deactivate
rm -rf .pt2
/opt/homebrew/bin/python3.10 -m venv .pt2
source .pt2/bin/activate
pip3 install -r requirements/pt2.txt -i 镜像地址
二、让我们浪起来
顺利的话,运行streamlit那一串之后,你就可以看到这个界面了,
默认选中的svd,就是StableVideoDiffusion
sv3d_u :基于图片生成轨道视频
sv3d_p:拓展了sv3d_u的功能,可以用图片和轨道视频一起生成新的。
选择你想玩耍的,模型,然后勾选下面的Load Model
可以看到页面变成
然后看你刚才启动 streamlit的控制台
问题不大,就是忘记下载模型了。。。(huggingface.co/stabilityai…
如果打不开这个链接,基本上就是因为一种来自东方的神秘力量在阻挡。也简单,找一个镜像就好。必须找到的镜像是aa.bb,就把上面的链接修改成
然后就可以正常打开,找到上面图片中的svd模型下载就好
下载完模型,然后在当前目录下创建一个checkpoints文件夹,再把下载的模型丢进去。然后ctrl+C 退出刚才的进程,重新运行streamlit xxx
这个不要慌,这个意思是,你在编译torch的时候,CUDA(Compute Unified Device Architecture)没启用,
命令行输入 python,
然后出来的>>>后 输入 import torch
下一个>>>后 输入 torch.cuda.is_available()
啊这。。。怎么false了。。。那就是没安装cuda。。。 mac可以comman+D退出
windows可以 输入quit() 退出
所以需要去nvidia下载安装cuda。。。
developer.nvidia.com/cuda-downlo…
然后就会发现。
macOS10.13以后 包括唢呐吗被抛弃了。。。
如果你是高版本macos,
那么:可以放弃了。。。因为hugging face官方没有出完整的支持m1 及以上可运行的版本,有兴趣,可以看pr和issues,根据里面三哥和官方人员的pr来修改源码。。。。
因为本身代码里没有mps相关的东西,直接增加mps逻辑或者把cuda/cpu改成mps相关逻辑,会直接报错。
window的可以继续玩耍~
下载一个cuda版本,然后安装就行。(过程中可能需要安装visual Studio,不是vscode。)
安装之后,streamlit那行
如果安装了cuda之后,还是报错
那就是pytorch的版本跟当前cuda不匹配
打开pytorch官网pytorch.org/
复制 pip3 install 这一段,然后命令行运行
之后再streamlit xxx
可能会发现
这也是由于一股来自东方的神秘力量在阻挡,所以,让我们打开编辑器,
找到这个constants.py 搜索endpoint,修改成上面找到的镜像地址aa.bb
就是EDNPOINT=”aa.bb”
然后ctrl+C 退出刚才的进程,重新运行streamlit xxx
如果。。。我说如果,你的电脑不是英伟达的GPU,那基本上到这里就停止了,因为这个需要GPU,如果修改成CPU去运行,跑不动这个。。。
但是呢,还有最后一个大招,那就是colab具体不过多介绍,问度娘,或者谷哥吧,这个是谷哥的开放平台,嗯,可以白嫖,你愿意花钱也不是不行。
但是白嫖的话。。会受限,问题不大,每天有白嫖限额的。。。所以,如果当前不用,记得删除会话,不然会一直占用。
colab代码,记得分段,前面几步搭建环境跟最后的运行拆开,这样的话,不用每次都要安装了。(或者直接去github里看也行。这里用的是github里大佬的,可以直接打开一个临时外链。)
# 下载项目代码以及安装所需
!git clone https://github.com/Stability-AI/generative-models.git
!cd generative-models
!pip3 install -r generative-models/requirements/pt2.txt
# 安装模型
!mkdir generative-models/checkpoints
!wget -O generative-models/checkpoints/svd.safetensors 'https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/tree/main/svd.safetensors?download=true' &>/content/logs.txt &
这一步就是生成一个外部链接,打开链接,就是之前启动的服务了
!wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
!chmod +x cloudflared-linux-amd64 !nohup /content/cloudflared-linux-amd64 tunnel --url http://localhost:8501 &
!grep -o 'https://.*\.trycloudflare.com' nohup.out | head -n 1 | xargs -I {} echo "Your tunnel url {}"
这里运行的是图片生视频,你也可以运行scripts/demo下的其他文件
!cd generative-models && streamlit run scripts/demo/video_sampling.py &>/content/logs.txt &
不管哪种方式,成功之后,你会看到
不要慌 一定不要慌。。。这个只是因为你没上传图片而已
把你想玩耍的图片丢上去
图片上传了,点击sample了
然后等待。。就可以看到成品的视频了,然后播放就好。。。
streamlit后面可以拼很多在项目里的其他文件,文字生视频等都是可以的,找到对应的文件,然后strreamlit起服务就好。
话外的话
顺带说一句,。。上一次的StableDiffusion,如果Mac用户“不慎”升级了,macos14唢呐吗,导致搓不了图了,
可以
pip3 install --upgrade --pre torch torchvision --index-url download.pytorch.org/whl/nightly…
然后找到webui.sh修改
export TORCH_COMMAND="pip install --pre torch==2.2.0.dev20231012 torchvision==0.17.0.dev20231012 --index-url download.pytorch.org/whl/nightly…"
然后就可以继续正常搓图炼丹了。。。
同样的,C站老大哥,还是给我们提供了很大的便利,让我们可以肆意的浪起来。
所以,记得打开屏蔽,不然NSFW会社死~
简单说两句这里有很多的模型可以玩,不单单是上次说的图片模型以及lora等,现在已经有了视频相关的。需要啥,可以自行在C站探索~
转载自:https://juejin.cn/post/7374452765273882659