make_it_3d离线部署(Linux)

应用场景

本文介绍的是在完全离线的linux服务器上部署make it 3d。
(抱一思,因为我也是完全离线的环境,所以效果图截不出来,凑合着看吧~)


准备工作:

1. 导入cuda环境

首先,我默认你装好了cuda,没装的话网上搜一下教程吧。下面这一步一定要干,否则后面可能出错!!!

#下面填你cuda安装的地址
export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH

2.配置基本环境

这一步比较简单,在有网机器中下载make_it_3D,下载requirement.txt里所有的安装包,然后拷到离线环境中。
或者直接在有网环境下pip安装,到时候把site-package拷过去也行。
特别提示:pytorch版本一定要和上一步的cuda版本一致,否则编译tiny cuda nn的时候可能出错。例如 虽然cuda11.7的环境下可以跑torch1.13.1+cu116,但是可能跑不了tiny cuda nn

然后在离线服务器中安装raymaching:

cd Make-It-3D
pip install ./raymarching

3.离线安装高版本cmake

cmake官网下载并拷进离线机器中,
可以下高点的,我下的是3.28的。这个安装过于简单这里就不赘述了。记得export相关的环境变量:

#下面填你cmake安装的地址
export PATH=/usr/local/cmake/bin:$PATH

4.离线安装高版本gcc

在有网机器上从带学of波京宁镜像网下载gcc7.5.2以后的版本,本文所选的是gcc9.2.0
打开该压缩包,查看contrib/download_prerequisites文件找到所需要下载的依赖配置(大概在30-33行)。
下载依赖子包:
https://ftp.gnu.org/pub/gnu/gmp/gmp-6.1.0.tar.bz2
http://mirror.hust.edu.cn/gnu/mpfr/mpfr-3.1.4.tar.bz2
https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
将以上子包丢在gcc-9.2.0文件夹里(不需要解压),然后拷到离线机器上,运行如下命令会自动解压并建立软连接啥的:

./contrib/download_prerequisites  

离线机器上要记得装bzip2哦!没装的想办法装一个。
然后运行如下命令进行安装:

mkdir /usr/local/gcc9 #安装的地址
./configure --prefix=/usr/local/gcc9  --disable-checking  --enable-languages=c,c++  --disable-multilib
make && make install

装完后记得export一下环境变量。

export PATH=/usr/local/gcc9/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc9/lib64:$LD_LIBRARY_PATH

最后,执行gcc -v看看是不是装好了。


安装所需git库:

1.安装tiny-cuda-nn

在有网的机器上,从这里下载tiny-cuda-nn,然后进入tiny-cuda-nn/dependencies下载子库,大致的步骤是:

git clone https://github.com/nvlabs/tiny-cuda-nn
cd tiny-cuda-nn/dependencies
git clone https://github.com/NVIDIA/cutlass.git
git clone https://github.com/fmtlib/fmt.git

然后把tiny-cuda-nn一整个文件夹拷到要离线部署的机器上,运行:

cd tiny-cuda-nn/bindings/torch
python setup.py install

最后pip list看一看是否装好。

2.安装pytorch3d

首先,从有网机器上下载fvcore和iopath的安装包,拷到离线机器上安装好。这俩东西pip就能装好的,有些在你装其他包的时候就帮你装过了,这里就不赘述了。
然后,下载pytorch3d:

git clone https://github.com/facebookresearch/pytorch3d.git

然后拷到离线机器上运行如下命令安装:

cd pytorch3d 
pip install -e .

最运行如下命令看一看是否装好:

python
>>>import torch
>>>import pytorch3d 
>>>from pytorch3d import import _C

3.安装剩余库

下载如下几个库:

git clone https://github.com/openai/CLIP.git
git clone https://github.com/huggingface/diffusers.git
git clone https://github.com/huggingface/huggingface_hub.git
git clone https://github.com/S-aiueo32/contextual_loss_pytorch.git

然后拷进离线机器中,分别cd到这几个包的文件夹下,运行:

python setup.py sdist
cd dist
pip install (dist文件夹里的东西)

最后,pip list看一下是不是都装好了


下载模型权重:

1.下载DPT模型

从make it 3d官网指定的网址下载DPT模型,网址大概是:dpt_hybrid
下载好后直接在Make-It-3D-master下创建一个dpt_weights文件夹并放入其中,注意不是在Make-It-3D-master/DPT/下创建dpt_weights。

2.下载扩散模型相关

以上步骤完成后就可以跑一个demo试试:

python main.py --workspace test1 --ref_path /data/Make-It_3D/demo/astronaut.png --phi_range 135 225 --iters 2000

期间会报一个socket.gaierror的错误,因为还没下载相应的模型。
这些模型对应代码里xxx.from_pretrained()函数,直接一个一个去抱脸下载,然后放在相关位置就行了。
不知道位置的话,可以pdb进去看这个函数cache的位置就行,或者直接改位置,可以参考这篇文章,这个稍微动点脑子就能解决的。

至此,环境配置结束,祝童鞋门玩的开心!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值