AI试衣IDM-VTON,Windows11本地安装配置记录!

 

昨天我们已经介绍过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“ 就会收到下载链接!

 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================