Henzler等,Generative Modelling of BRDF Textures from Flash Images [SIGGRAPH Asia, 2021] 论文项目环境配置Win10

有时候在配置机器学习、深度学习环境的时候,发现明明自己和项目发布者步骤一致,操作相同,为什么环境却配不出来,各种报错呢?原因是硬件条件和项目发布者不一致,显卡硬件对CUDA版本有着严格的要求。下面介绍了博主在复现论文Generative Modelling of BRDF Textures from Flash Images [SIGGRAPH Asia, 2021] 项目时,配置环境的过程。目的是以此为例,简单介绍对于新手来说深度学习环境该怎么配。

1. 基本背景

  • 该深度学习项目是在Linux系统上部署的,我们想在Windows上部署;
  • 该项目提供了environment.yml文件,用于给出相关依赖库的名称、版本;
  • 该项目基于Cuda和torch实现。

2. 部署方法

这个深度学习项目从Linux平台迁移到Windows平台并没有遇到什么特殊的问题。简要步骤如下 :

Step 1. 确定Cuda可以安装的版本,并安装Cuda

Cuda、torch、python的版本和硬件平台的GPU必须满足匹配条件,否则没办法运行项目。具体确定方法是:先根据GPU型号确定可用的Cuda版本。例如博主硬件是RTX 3090,这里选用了CUDA 11.7。

Step 2. 安装annaconda,用来可视化查看虚拟环境,及安装库的版本

这一步也可以不用做,仅仅是起到可视化的作用,基本操作一般在在cmd里进行。
Henzler等,Generative Modelling of BRDF Textures from Flash Images [SIGGRAPH Asia, 2021] 论文项目环境配置Win10_第1张图片

Step3. 根据environment.yml(后续称之为.yml)文件创建虚拟环境,安装Torch

在这一步为了避免.yml文件中设定的库版本和CUDA版本产生冲突,我直接将版本号删去了:
Henzler等,Generative Modelling of BRDF Textures from Flash Images [SIGGRAPH Asia, 2021] 论文项目环境配置Win10_第2张图片
并采用如下命令创建虚拟环境:

conda env create --name neuralmaterial --file=environment.yml

创建可能会失败,将失败的库,例如ld_impl_linux-64等,直接在.yml文件中注释掉,然后再次采用上述命令创建虚拟环境。如果说提示虚拟环境已经创建好了,就更换下面的命令更新虚拟环境:

conda env update --name neuralmaterial --file=environment.yml

虚拟环境初步创建后,进入虚拟环境:

conda activate neuralmaterial

这个时候所有要安装的库都存到了虚拟环境下,不会影响到其它库。然后根据Cuda版本等信息在Torch官网上获取安装Torch的指令,并在cmd中安装。这一步尤为重要,如果后面Cuda运行不起来,多半是这里的torch和cuda的版本没有匹配上,最好的方法是卸载torch相关的库,重新再用torch网站获取的对的指令安装。额外注意一下,Torch网站也可以获取历史版本的Torch。
Henzler等,Generative Modelling of BRDF Textures from Flash Images [SIGGRAPH Asia, 2021] 论文项目环境配置Win10_第3张图片

Step4. 补全剩余的包

虽然我们目前已经下载好了大部分包,并配置好了CUDA,但是还有部分没装包需要在实际运行程序时才能知道是哪些。在cmd中进入到项目的根目录。然后开始执行测试指令:

python scripts/test.py --model trainings/Neuralmaterial --test_image_id 0280

此时根据输出的信息,把缺少的包使用pip install命令补充。反复重复这个步骤,直到程序得到正确结果。
需要补充一点是,该论文项目的输出文件的目录需要提前手动创建:./outputs/resynthesis/。
这一过程中可能遇到库的版本更新导致在python文件中调用函数时出现问题,例如下图中提示kornia模块缺少gaussian_blur2d方法,实际上这个方法在kornia下的filters中:
Henzler等,Generative Modelling of BRDF Textures from Flash Images [SIGGRAPH Asia, 2021] 论文项目环境配置Win10_第4张图片所以需要在对应的python文件中,将上面提及的错误代码kornia.gaussian_blur2d(xxx),修改为kornia.filters.gaussian_blur2d(xxx),这样就可以了。在import包的时候也会遇到类似的问题,原因就是版本不同模块结构会发生一定调整,需要我们手动适配。

3. 最终结果

你可能感兴趣的:(渲染,论文跟踪,深度学习,python,pytorch,渲染)