Windows pytorch编译安装SoftPool

Win11 编译安装SoftPool报错error: identifier “inf” is undefined解决

编译安装准备

Windows上将基于CUDA的SoftPool编译安装为pytorch的工具库,需要实现安装配置完Cmake、MinGW64编译工具软件

安装配置Cmake

官方下载链接
https://cmake.org/download/
一般在Latest Release部分下载(64bit Windows系统)对应的版本,安装过程中直接勾选“路径加入系统环境变量Path”的选项即可,免得后续手动添加麻烦;

安装配置MinGW64

Cmake要通过命令make方式编译还需要另外安装MinGW的编译工具,针对系统位数版本(x64)下载MinGW64并安装,官方下载链接:
https://github.com/niXman/mingw-builds-binaries/releases
在其中,鉴于Win11 (x64bit),故选择 x86_64-12.2.0-release-win32-seh-rt_v10-rev0.7z并下载解压,然后设置环境变量Path:只需把bin文件夹的路径 C:\MinGW\bin 放到用户变量中去;
此外,由于一般要使用make命令,还需要打开MinGW的安装目录,打开bin文件夹,将mingw32-make.exe重命名为make.exe;

详细配置参考:
https://blog.csdn.net/weixin_39506322/article/details/91978490

下载编译SoftPool

貌似有其它不需要编译就可以用的.py脚本,但之前没注意就找了这个需要编译安装的,项目源码链接如下:
https://github.com/alexandrosstergiou/SoftPool
下载项目到本地后,按照README.md中的操作去编译,或者使用命令python setup.py install去编译安装;
在Linux上,一切都进展很顺利,无报错,但是在Windows上会莫名报错提示:【共有4处】
SoftPool-master\pytorch\CUDA\limits.cuh(119): error: identifier “inf” is undefined
按照GitHub上原项目链接一个问题讨论【https://github.com/alexandrosstergiou/SoftPool/issues/45】说换用pytorch 1.7的环境就可以解决,但觉得比较麻烦,毕竟不想换环境了;
看样子是变量或者宏未定义,就参考别的文章在include指令后面定义了个整型数inf并赋值为很大的数:
const int inf=0x3f3f3f3f
相关设定参考:
https://www.cnblogs.com/JHASH/p/15138484.html

你可能感兴趣的:(pytorch,windows,深度学习)