Ошибка установки XGBoost с поддержкой графического процессора: невозможно скопировать xgboost \ lib: не существует или не является обычным файлом - PullRequest
0 голосов
/ 28 мая 2018

Похожие не повторяющиеся записи:

Я просмотрел несколько сообщений Stack Overflow об установке xgboostдля Python на Windows 10, но ни один из них не упомянул проблему, с которой я столкнулся.Кроме того, все сообщения, похоже, об установке xgboost без поддержки графического процессора.

Я также обнаружил, что официальное руководство по установке довольно сложно соблюдать, так как оно пропускает некоторые изменения в каталогах и имеет несколько различных параметров, которые нарушают поток команд.Ниже приведены шаги, которые я использовал для установки xgboost с поддержкой графического процессора в Windows 10 с Python 3.6.4:

Необходимое программное обеспечение

Первым шагом является установка следующего программного обеспечения, которое потребуетсядля этой установки:

  • CMake , добавление CMake в вашу систему PATH
  • Visual Studio 2015 с обновлением 3 и Visual C ++
  • Git для Windows , обязательно добавив его в переменную PATH
  • CUDA Примечание: версия должна быть не ниже 8.0.Я использовал 9.0 из-за проблем совместимости с более новыми версиями и Tensorflow

Убедитесь, что установлены следующие пакеты:

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

Шаг 1. Клонирование репозитория

Запустите следующую команду в командной строке VS2015 x64 Native Tools, которая поставляется вместе с VS2015 в режиме администратора, в папке, в которую вы хотите поместить папку xgboost:

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

Шаг 2. Создание.Файл sln с CMake

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 голосов
/ 28 мая 2018

Редактировать xgboost/python-package/setup.py и изменить строку 38 следующим образом ( source ):

include_package_data=False

Теперь он должен быть установлен без каких-либо проблем.Чтобы убедиться, что все работает нормально, просто запустите следующую команду, и, если она работает без ошибок, хорошо идти:

python -c "import xgboost"

Вы можете запустить дополнительные тесты после установки, используя пакет nose со следующимикоманда, выполненная из корневого каталога xgboost/:

nosetests tests/python

Чтобы дополнительно подтвердить, что он установлен с поддержкой графического процессора, вы можете использовать сценарии бенчмаркинга , входящие в комплект установки:

алгоритм gpu_hist:

python tests/benchmark/benchmark_tree.py

Вывод:

Train Time: 46.25219774246216 seconds

Гистологический алгоритм без графического процессора:

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

Вывод:

Train Time: 84.04853415489197 seconds
...