昨天我们已经介绍过IDM-VTON这个开源项目了。
通过这个软件可以轻松实现一键换衣服。
昨天,简单演示了一下在线使用。
今天,来演示如何安装到本地电脑上!
本地配置会有一定的专业性,懂的人可以参考下。
不懂得直接拉到最后,动动手指!
我会发一个制作好的离线软件包。
闲话不多说了,直接开干!
确保你本地有显卡(我用的是3090),Windows系统,已经安装Python或者Conda,GIT等软件。
1.获取软件源代码
这是一个开源项目,所以可以使用git命令直接过去源代码。
git clone https://github.com/yisol/IDM-VTON.git
2.创建虚拟环境
如果你只是偶尔用一下Python环境,那么直接装个Python3.10就可以了。不需要这一步。
如果你常玩Python的AI项目,肯定知道用Conda创建一个虚拟环境,隔离不同项目。
常规做法是可以使用项目自带的environment文件,一次性创建虚拟环境并安装依赖。
命令如下:
conda env create -f environment.yaml
但是,environment这种方式,失败率比较高。
实际上,我直接用这条命令也失败了。
所以,换成了先创建虚拟环境。
conda create -n idm python=3.10
conda activate idm
创建虚拟环境之后,记得激活。
3.安装依赖
虚拟环境创建并激活之后,就可以使用pip命令安装依赖了。
我习惯先独立安装torch
cd IDM-VTON
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
然后批量安装其他依赖:
pip install -r req.txt
req.txt是我自己创建的一个文件,文件里面的内容是:
accelerate==0.25.0
torchmetrics==1.2.1
tqdm==4.66.1
transformers==4.36.2
diffusers==0.25.0
einops==0.7.0
bitsandbytes==0.39.0
scipy==1.11.1
opencv-python
gradio==4.24.0
fvcore
cloudpickle
omegaconf
pycocotools
basicsr
av
onnxruntime==1.16.2
执行完成,依赖也就全部安装完成了。从我本地测试的情况来看,所有依赖和指定版本都能正常安装,没有任何冲突或者标红的记录。
4.获取模型
通过上面的步骤,环境配置已经搞定,接下来就是获取模型了。
模型能我简单的把它们划分为两类,一类是基础模型,一类是这个项目的专属模型。
先说专属模型,主要注意如下的目录结构。
ckpt
|-- densepose
|-- model_final_162be9.pkl
|-- humanparsing
|-- parsing_atr.onnx
|-- parsing_lip.onnx
|-- openpose
|-- ckpts
|-- body_pose_model.pth
项目作者已经帮你创建好了这些文件和模型。但是模型文件只是做个样子,并没有实际内容,需要自己下载替换。
基础模型的话,你在第一次启动的时候会自动下载。大概有28G
获取这些模型,可以通过这个地址:
https://huggingface.co/yisol/IDM-VTON/tree/main
对于专属模型,找到对应文件夹里的模型,下载到本地对应的路径就行了。
另外的模型,我就使用如下代码,让它自动加载了。
set HF_HOME=.\cache
python gradio_demo/app.py
这里需要注意,第一行代码很重要,可以防止你的C盘爆掉!
第二行代码其实是启动webui,由于启动过程会先加载模型,所以可以用这个来下载模型。
由于模型比较大,即便是网络比较好,也需要一些时间。
5.运行WEBUI
模型加载完成之后会自动启动WEBUI,以后如果要手动启动,还是执行同样的命令即可。
set HF_HOME=.\cache
python gradio_demo/app.py
输入命令之后会输出一些内容。看到如下信息基本就是成功启动了。
Running on local URL: http://127.0.0.1:7860
复制上面的地址,在浏览器中打开,然后就可以愉快地玩耍了。
打开后的界面,和昨天介绍的网页版一模一样。
所以用法也相同,为了文章的可读性。我还是简单介绍一下使用方法。
大概步骤是 ①模特照片,②上传服装,点击③试穿即可。
服装照片自然是选择最干净的平面照片,模特的话,只要衣服和其他内容比较容易区分即可。
6.离线运行
按理说,本地配置完成之后,模型已经缓存到了本地。软件应该就可以断网执行了。但是由于代码中是通过huggingface加载模型,所以即便本地有缓存,还是需要连线加载。
为了解决这个问题,我尝试使用了离线变量。
set HF_HUB_OFFLINE=1
set TRANSFORMERS_OFFLINE=1
但是不知道什么原因,一直出错。
后来想到的办法是直接拷贝下载好的模型缓存文件到另一个文件夹。
一个小发现,拷贝缓存文件中的软链接,可以直接拷贝对应的文件。
然后修改app.py中的代码:
base_path = 'cache\IDM-VTON'
修改完成之后,就可以彻底离线加载本地模型了。
7.离线的一键运行包
安装配置都讲完了,如果你比较擅长配置,同时本地网络流畅,硬盘读写快。
那么只要复制一下命令,就可以快速完成配置了。
但是对大部分人,大部分情况可能没有这么顺畅。
比如,就我这台电脑,光制作7z的压缩包,就花了2个小时。打包完20GB,上传到网盘也要不少时间!
前面的配置和试错时间肯定就更多了。
所以,制作一个打包好的软件包就非常有必要。给以后的我省时间,也给大家省时间。
下面就简单说一下软件包的使用方法。
首先获取软件包,获取之后会得到一个**.7z**的压缩包。
然后用解压软件解压,解压过程需要输入密码,密码看网盘里的说明。
解压完成之后,双击”启动.exe” 。
启动过程如下:
首先会有一个提示信息,然后等到跳出URL信息,跳出之后会自动打开本地的默认浏览器。
浏览器上就可以看到如下界面了:
用法还是和之前讲的一模一样,上传模特照片和衣服照片,点击试穿。等待一会儿,就可以在右上方看到最终的效果图了。
等待时间,会因为电脑配置不同,而有巨大的差异。
比如我在装3060显卡的电脑,跑一张图好像要几个小时….我感觉是加载模型的时候用到了共享内存,或者其他资源不够,所以特别慢。
但是在装3090显卡的电脑上就挺快,第一次用了54秒,第二次只用14秒。
14秒一次的话,完全在可接受的范围内啊。
今天的文章大概就是这样了,如果安装配置有困难的可以相互交流下。
如果是直接用软件包,应该没啥问题,只要保证你的电脑配置够强就行了。
软件包获取方式:
给公众号“托尼不是塔克”发送”idm“ 就会收到下载链接!
版权归原作者 托尼不是塔克 所有, 如有侵权,请联系我们删除。