https://repo.continuum.io/pkgs/free/linux-ppc64le/
그러나 여기에 포함되어 있지 않다고 해서 ppc64le에서는 정말 사용할 수 없느냐 하면 그건 아닙니다. 매우 간단히 설치가 가능합니다.
먼저, 그냥 그대로 pip로 xgboost를 설치할 때 어떤 error가 벌어지는지 보시지요. 먼저, pip가 anaconda에서 제공하는 pip인지 확인합니다.
u0017496@sys-87576:~$ which pip
/home/u0017496/miniconda3/bin/pip
u0017496@sys-87576:~$ pip install xgboost
...
Using cached xgboost-0.6a2.tar.gz
Complete output from command python setup.py egg_info:
rm -f -rf build build_plugin lib bin *~ */*~ */*/*~ */*/*/*~ */*.o */*/*.o */*/*/*.o xgboost
g++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
g++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d
g++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/common/common.o src/common/common.cc >build/common/common.d
g++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/metric/metric.o src/metric/metric.cc >build/metric/metric.d
g++: error: unrecognized command line option ‘-msse2’
다음과 같이 pip download 명령으로 xgboost의 source를 download 받습니다.
u0017496@sys-87576:~$ pip download -d "./" xgboost
이것의 압축을 풀고, 관련 Makefile들을 수정합니다. 그냥 -msse2 부분만 빼줘도 되는데, 여기서는 하는 김에 CPU 아키텍처가 POWER8이라는 것을 지정하겠습니다.
u0017496@sys-87576:~$ tar -zxvf xgboost-0.6a2.tar.gz
u0017496@sys-87576:~$ cd xgboost-0.6a2
u0017496@sys-87576:~/xgboost-0.6a2$ vi ./xgboost/Makefile
export CFLAGS= -std=c++0x -Wall -O3 -mcpu=power8 -Wno-unknown-pragmas -funroll-loops -Iinclude $(ADD_CFLAGS) $(PLUGIN_CFLAGS)
#export CFLAGS= -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude $(ADD_CFLAGS) $(PLUGIN_CFLAGS)
u0017496@sys-87576:~/xgboost-0.6a2$ vi ./xgboost/dmlc-core/Makefile
export CFLAGS = -O3 -Wall -mcpu=power8 -Wno-unknown-pragmas -Iinclude -std=c++0x
#export CFLAGS = -O3 -Wall -msse2 -Wno-unknown-pragmas -Iinclude -std=c++0x
u0017496@sys-87576:~/xgboost-0.6a2$ vi ./xgboost/rabit/Makefile
export CFLAGS = -O3 -mcpu=power8 $(WARNFLAGS)
#export CFLAGS = -O3 -msse2 $(WARNFLAGS)
그 다음에 'python setup.py install' 명령을 직접 수행합니다.
u0017496@sys-87576:~/xgboost-0.6a2$ python setup.py install
...
Searching for scipy==0.19.0
Best match: scipy 0.19.0
Adding scipy 0.19.0 to easy-install.pth file
Using /home/u0017496/miniconda3/lib/python3.6/site-packages
Searching for numpy==1.13.0
Best match: numpy 1.13.0
Adding numpy 1.13.0 to easy-install.pth file
Using /home/u0017496/miniconda3/lib/python3.6/site-packages
Finished processing dependencies for xgboost==0.6a2
결과적으로 잘 설치되었습니다. PYTHONPATH로 되어 있는 /home/u0017496/miniconda3/lib/python3.6/site-packages 디렉토리를 확인하면 다음과 같이 해당 directory가 생성된 것을 보실 수 있습니다.
u0017496@sys-87576:~/xgboost-0.6a2$ ls /home/u0017496/miniconda3/lib/python3.6/site-packages | grep xgboost
xgboost-0.6a2-py3.6.egg
또한 conda list 명령으로 보면 pip 명령으로 해당 package가 설치된 것으로 display 되는 것을 확인하실 수 있습니다.
u0017496@sys-87576:~/xgboost-0.6a2$ conda list | grep xgboost
xgboost 0.6a2 <pip>
pip 명령으로 삭제도 정상적으로 됩니다.
u0017496@sys-87576:~/xgboost-0.6a2$ pip uninstall xgboost
Uninstalling xgboost-0.6a2:
/home/u0017496/miniconda3/lib/python3.6/site-packages/xgboost-0.6a2-py3.6.egg
Proceed (y/n)? y
Successfully uninstalled xgboost-0.6a2
댓글 없음:
댓글 쓰기