1

我正在尝试按照以下说明安装 xgboost gpu 支持版本。xgboost-gpu-支持

我使用的是 Windows 10,Visual Studio 2017。不支持 GPU 的版本工作正常。但是对于支持 gpu 的版本,当我从 Visual Studio 发布模式时,它输出错误 LINK : fatal error LNK1181: cannot open input file “Release\gpuxgboost.lib”。

前面的步骤一切顺利。我该如何解决这个问题?提前致谢。

(我的项目是D:\Software\xgboost\xgboost\build\ALL_BUILD.vcxproj,没有空间。所以这个解决方案不起作用。lnk1181-error-message-when-you-build-a-manag

4

2 回答 2

5

正如我看到许多人努力正确构建支持 GPU 的 xgboost 库一样,鉴于我认为有关此问题的文档至少不完整,因此我决定分享我的经验。首先,这个过程在 Windows 10 x64 平台上是成功的。我使用的工具是:

  1. Microsoft Visual Studio 2015 速成版,https://www.visualstudio.com/vs/visual-studio-express/
  2. Cmake,https: //cmake.org/
  3. Git(Windows 版 Git),https://git-for-windows.github.io/

为了构建支持 GPU 的 xgboost 库,您应该首先检查您的显卡与 xgboost 要求的兼容性。xgboost 支持 8.0 及更高版本的 CUDA 版本。具有 3.0 及以上计算能力的显卡满足此要求。你可以在这里检查:

https://developer.nvidia.com/cuda-gpus

然后,您必须为您的系统下载并安装适当的 CUDA SDK。你可以在这里找到它:

https://developer.nvidia.com/cuda-downloads

您可以使用 SDK 附带的示例项目来检查它们是否可以在您的系统中正确构建和运行。

这一步对于构建支持 GPU 的库是必不可少的(至少在我的情况下是这样)。进入Microsoft Visual Studio 2015的安装目录VC/bin子目录。在这:

  1. 将子目录 x86_amd64 的所有内容复制到子目录 amd64 中。

  2. 在 amd64 子目录中,将文件 vcvarsx86_amd64.bat 重命名为 vcvars64.bat。

然后,打开 Git Bash,输入以下命令:

  1. git clone --recursive https://github.com/dmlc/xgboost
  2. cd xgboost
  3. git子模块初始化
  4. git子模块更新
  5. mkdir 构建
  6. 光盘构建
  7. cmake .. -G"Visual Studio 14 2015 Win64" -DUSE_CUDA=ON

cmake 完成后,使用 Visual Studio 2015 打开 ALL_BUILD.vcxproj。选择解决方案配置“发布”和解决方案平台“x64”。构建->构建解决方案。构建过程完成后,xgboost.dll 库文件将位于 xgboost/lib 目录中。

最后,您可以继续安装 Python 包或 R 包。

于 2017-11-09T09:28:27.630 回答
0

你可以点安装 catboost。比在 fit 函数中使用参数 tast_type='GPU' 。CatBoost 是最近开源的梯度提升库。在大多数情况下,它比 XGBoost 更准确,并且在 GPU 上快 20 倍。试试看。这是图书馆的网站:https ://catboost.yandex

于 2018-02-08T18:09:05.417 回答