服务器部署stable-dreamfusion,text-3D模型

Posted on 2024-04-27 23:23  章序  阅读(16)  评论(0编辑  收藏  举报

硬件:autodl服务器 V100
环境:Ubuntu20.04 cuda11.6 torch1.12
GitHub开源代码:https://github.com/ashawkey/stable-dreamfusion

先说遇到的问题:

  1. 首先是硬件和cuda,最开始用的是4090 24GB,cuda12.1,torch2.1,在编译gridencoder,raymarching,freqencoder的时候直接报错,如图

    之后根据GitHub上的issue找到了相同问题,所以换了硬件和cuda版本,完美解决。

  2. 其次是跑的时候会报错stable-diffusion无法连接之类的,这是因为huggingface被ban了,可以直接从huggingface下载权重,也可以修改系统变量,在终端运行echo 'export HF_ENDPOINT="https://hf-mirror.com"' >> ~/.bashrc然后运行source ~/.bashrc即可。此时再运行就不会报错。

  3. 最后是成功运行后,如果想重新生成,需要在bash命令里面把workplace修改成其他的文件名,否则将会判断原文件夹中已有训练的结果,不会重新生成。比如,原命令是python main.py --text "a hamburger" --workspace trial -O,如果想生成其他的东西,需要把trial修改成其他名字,运行命令就会新建文件夹,比如修改为python main.py --text "a car" --workspace car -O

然后是部署的流程:
首先,代码没有任何问题,无需修改,也完全可以直接在linux服务器运行
代码按照github上面的方法下载到服务器上,然后配置python环境,我使用的是miniconda,python版本3.8.19
依赖在作者提供的requirement里面,可以根据作者指示直接安装,我是先把torch删掉,先去pytorch官网下载1.12+cu116的版本,之后再pip requirement,下载完注意依赖是否完整,我没遇到这个问题,可以查阅其他博客。
环境搭建好后需要下载权重,即原作者所说的三个权重,第一个可以直接下载,也可以在本地用梯子下载完传到服务器上,后两个因为需要gdown,我选择直接下载到本地,然后上传服务器,注意这两个权重的文件夹要新建。

硬件、环境、权重都没问题后就可以尝试运行,根据github上的usage可以直接运行,例如python main.py --text "a hamburger" --workspace trial -O,就可以得到mp4的深度和rgb文件,在trial文件夹中。

整个过程其实并不难,但是难免遇到非常个性化的问题,需要花费一定时间去试错。

参考博客:https://blog.csdn.net/m0_52250683/article/details/136815206