TensorFlow source 빌드 방법
2020. 4. 14. 21:48ㆍDevelop
텐서플로 internal source를 수정하고 컴파일하여 사용하고 싶은 경우엔 pip install을 통해서 설치하는 것이 아니라 source를 통해 빌드를 해서 사용해야 한다. https://www.tensorflow.org/install/source에 자세한 설명이 있지만 없는 내용을 포함해서 따로 정리를 해두려한다.
# bazel 설치파일 다운로드
$ wget https://github.com/bazelbuild/bazel/releases/download/2.0.0/bazel-2.0.0-installer-linux-x86_64.sh
# bazel 바이너리 파일이 설치될 폴더 생성
$ mkdir ~/bin
$ echo export PATH=$HOME/bin:$PATH >> .zshrc
# 패키지 종속성 설치
$ pip install -U --user pip six numpy==1.18.0 wheel setuptools mock 'future>=0.17.1'
$ pip install -U --user keras_applications --no-deps
$ pip install -U --user keras_preprocessing --no-deps
# 설치 파일 실행
$ bash ./bazel-2.0.0-installer-linux-x86_64.sh --user
$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow
$ git checkout [원하는 브랜치]
$ ./configure # 이후엔 원하는 옵션대로 y/n 선택
# 다음 옵션을 넣어줘야 처음부터 빌드하지 않고 이전 빌드 시점부터 빌드를 함
$ echo startup --max_idle_secs=0 >> .bazelrc
# whl 파일이 저장될 폴더 생성
$ mkdir ~/whls
$ bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package ~/whls
$ pip install ~/whls/tensorflow-*.whl
현재 numpy 최신 버전인 1.19.0이 제대로 지원되고 있지 않은 상황이므로 더 낮은 버전으로 설치를 진행해야 한다. (#40688)
Trouble Shooting
만약 빌드 중에 에러가 발생한다면 꼭 bazel clean 을 하고 다시 빌드를 하는 것이 좋다.
Bazel Version
아래 링크를 참고하여 빌드하려는 TensorFlow 버전에 맞는 bazel을 설치해야 한다.
'Develop' 카테고리의 다른 글
VSCode 유용한 Extension 목록 (0) | 2020.05.29 |
---|---|
Root 권한 없이 local에 CUDA 설치하기 (1) | 2020.04.06 |
ctypes를 통해 c++ array를 python list로 변환하기 (4) | 2020.03.01 |
PyTorch를 ONNX로 export하기 (2) | 2020.02.08 |
[Linux/Mac] vim을 IDE처럼! zsh 설정부터 vim 플러그인 설정까지 총 정리 (2) | 2020.02.07 |