검색결과 리스트
글
몇년 전부터 딥러닝(DeepLearning)이 유행하기 시작했습니다.
조금 공부해 보시면, 그 역사와 왜 몇년전부터 다시 재조명 받기 시작했는지 아실겁니다.
그래서~
요즘 저도 딥러닝에 관심이 많이 생겼습니다. 물론 1~2년 늦은감은 있습니다. ㅠㅠ
모쪼록 그래서 시작해보려 합니다.
딥러닝!
TensorFlow 설치하기
현재 딥러닝 관련된 프레임워크가 많이 있습니다.
Caffe 라든지 mxnet, paddle, torch, pytorch 그리고 구글의 TensorFlow 가 있지요.
아무래도 구글이 미래기술이라든지 머신쪽 관련해서 많은 인력을 확보하고 선두주자가 될거라는 생각에
저는 TensorFlow 로 시작하려고 합니다.
지금 글을 작성하고 있는 시점에 TensorFlow 는 Python 을 주력으로 지원하고 있으며, C++ 을 얼마전부터 슬슬 지원하고 있습니다. 다시말해서 아직 Python 만큼은 완벽하지 않습니다. 자세한건 홈페이지에 가시보면 있습니다.
https://www.tensorflow.org/api_docs/
참고로 제가 설치하는 환경은 CentOS 6.6(Final) 입니다.
Bazel 설치하기
먼저 TensorFlow 설치를 하기 위해서는 Bazel 을 설치해야 합니다. 저도 처음 써보는데 구글에서 자체적으로 만든 범용 빌드툴이라고 합니다.
그런데 이걸 설치하려면, 또 먼저 설치해야 할것들이 있습니다 ^^;
http://blog.abysm.org/2016/06/building-tensorflow-centos-6/
- JDK 8
- Developer Toolset
- Software Collections (contos-release-scl)
- Developer Toolset
- Python 2.7
sudo yum install java-1.8.0-openjdk-devel
sudo yum install centos-release-scl
3. 파이썬
yum install python27 python27-numpy swig python27-python-devel python27-python-wheel
Install Developer Toolset
이제 빌드환경을 셋업 합니다.
scl enable devtoolset-4 bash
이제야 Bazel 을 설치할 수 있는 환경이 구축되었습니다.
Enter Software Collection environment with Developer Toolset.
1.
1 | scl enable devtoolset-4 bash |
사실 Bazel 은 우분투면 설치가 쉽습니다. CentOS 는 소스를 직접 빌드해야 합니다.
https://github.com/bazelbuild/bazel/releases
위 주소에 들어가서 최신 버전을 다운로드 합니다.
Download bazel-<VERSION>-dist.zip
아래처럼 다운로드를 받은 뒤에 압축을 풀고 install 합니다.
미리 말씀드리자면.. 시간이 오래 걸립니다.
두손모아 기도합시다.
http://blog.abysm.org/2016/06/building-tensorflow-centos-6/
이제야 TensorFlow 를 빌드 할 환경이 구축되었습니다.
1. 빌드환경을 아래처럼 변경합니다.
scl enable devtoolset-4 python27 bash
2. TensorFlow 소스를 다운로드 합니다.
git clone --recursive https://github.com/tensorflow/tensorflow
2 3 4 5 6 | # clone source code repository git clone https://github.com/tensorflow/tensorflow.git cd tensorflow # select version (optional) git checkout v0.12.0 |
3. CentOS6 에서는 GNU C 라이브러리의 버전이 2.17 이하라서 아래처럼 수정을 합니다.
-lrt 를 사용해야 합니다.
800 라인 근처에 보면 아래의 코드가 있습니다. 다음처럼 수정합니다.
1 2 | def tf_extension_linkopts(): return [] # No extension link opts |
1 2 | def tf_extension_linkopts(): return ["-lrt"] |
4. 환경 설정을 해줍니다.
./configure 를 호출하면 각종 설정들이 나옵니다.
GPU 쓸꺼냐, CUDA 쓸꺼냐 등등. 알아서 설정해 줍니다.
5. 빌드!!!
이제 C++ 로 빌드할겁니다. Python 설정은 기존에 나온게 많으니까 그거 참고해주세요
bazel build -c opt --config=cuda //tensorflow:libtensorflow_cc.so
이렇게 하고나면 뭔가 나옵니다. 결과물이. SharedLibrary 형태로 나오죠.
http://memo.saitodev.com/home/tensorflow/build/
https://github.com/cjweeks/tensorflow-cmake
이런 애들보면 so 파일과 include 용 header 파일들을 어디다가 넣어야 하는지 나옴
sudo cp bazel-bin/tensorflow/libtensorflow_all.so /usr/local/lib
Copy the source to /usr/local/include/google
and remove unneeded items:
sudo mkdir -p /usr/local/include/google/tensorflow
sudo cp -r tensorflow /usr/local/include/google/tensorflow/
sudo find /usr/local/include/google/tensorflow/tensorflow -type f ! -name "*.h" -delete
Copy all generated files from bazel-genfiles:
sudo cp bazel-genfiles/tensorflow/core/framework/*.h /usr/local/include/google/tensorflow/tensorflow/core/framework
sudo cp bazel-genfiles/tensorflow/core/kernels/*.h /usr/local/include/google/tensorflow/tensorflow/core/kernels
sudo cp bazel-genfiles/tensorflow/core/lib/core/*.h /usr/local/include/google/tensorflow/tensorflow/core/lib/core
sudo cp bazel-genfiles/tensorflow/core/protobuf/*.h /usr/local/include/google/tensorflow/tensorflow/core/protobuf
sudo cp bazel-genfiles/tensorflow/core/util/*.h /usr/local/include/google/tensorflow/tensorflow/core/util
sudo cp bazel-genfiles/tensorflow/cc/ops/*.h /usr/local/include/google/tensorflow/tensorflow/cc/ops
Copy the third party directory:
sudo cp -r third_party /usr/local/include/google/tensorflow/
sudo rm -r /usr/local/include/google/tensorflow/third_party/py
# Note: newer versions of TensorFlow do not have the following directory
sudo rm -r /usr/local/include/google/tensorflow/third_party/avro
대충 요런식이죠.
근데 이게 runtime library 형태로 하고 쓸때보면,, Protobuf 랑 Eigen 같은걸 설치해야 됩니다.
https://github.com/cjweeks/tensorflow-cmake
여기 보면 잘 나와 있어요.
'딥러닝(DeepLearning)' 카테고리의 다른 글
Perceptual Losses for Real-Time Style Transfer (0) | 2017.06.09 |
---|---|
[CentOS 7] TensforFlow 설치 (0) | 2017.06.09 |
TensorFlow 를 Windows 에서 빌드하기 (0) | 2017.02.14 |
2. TensorFlow Install On Mac (0) | 2017.02.11 |
1. TensorFlow Install On Windows (0) | 2017.02.10 |
RECENT COMMENT