XGBoost与GPU支持安装错误:无法复制'xgboost \ lib':不存在或不存在常规文件

时间:2018-05-27 22:33:44

标签: python installation xgboost

类似的非重复帖子:

我浏览了几篇关于在Windows 10上为Python安装xgboost的Stack Overflow帖子,但没有人提到我遇到过的问题。此外,所有帖子似乎都是关于在没有GPU支持的情况下安装xgboost

我还发现official installation guide很难遵循,因为它省略了某些目录更改,并且有一些不同的选项会破坏命令流。以下是我使用Python 3.6.4在Windows 10上使用GPU支持安装xgboost的步骤:

必要的软件

第一步是安装此安装所需的以下软件:

  • CMake,将CMake添加到您的系统PATH
  • Visual Studio 2015 with Update 3和Visual C ++
  • Git for Windows,确保将其添加到PATH变量
  • CUDA注意:版本必须至少为8.0。我使用9.0是因为与新版本和Tensorflow的兼容性问题

确保安装了以下软件包:

conda install -y numpy scipy pandas matplotlib nose scikit-learn graphviz python-graphviz

第1步:克隆回购

在VS2015以管理员模式安装的VS2015 x64 Native Tools命令提示符中,在您希望xgboost文件夹所在的文件夹中运行以下命令:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git submodule init
git submodule update

步骤2:使用CMake生成.sln文件

mkdir build
cd build
cmake .. -G "Visual Studio 14 2015 Win64" -DUSE_CUDA=ON
cmake --build . --target xgboost --config Release

第3步:安装Python包

如果上述内容完整且没有任何错误,请运行以下命令:

cd ../python-package
python setup.py install

错误:

此时,我收到以下错误,安装失败:

error: can't copy 'xgboost\lib': doesn't exist or not a regular file

请参阅下面的答案以获取我的解决方案,如果您找到更好的方法来解决此问题,请发布另一个答案。

1 个答案:

答案 0 :(得分:1)

修改xgboost/python-package/setup.py并将第38行更改为以下内容(source):

include_package_data=False

现在应该安装没有任何问题。要看到它一切正常,只需运行以下命令,如果它运行没有错误,那么它很有用:

python -c "import xgboost"

您可以在安装后使用nose包运行其他测试,并在根xgboost/目录中执行以下命令:

nosetests tests/python

要进一步确认它是否支持GPU,您可以使用安装中附带的benchmarking scripts

gpu_hist算法:

python tests/benchmark/benchmark_tree.py

输出:

Train Time: 46.25219774246216 seconds
没有GPU的

hist算法:

python tests/benchmark/benchmark_tree.py --tree_method hist

输出:

Train Time: 84.04853415489197 seconds