tensorflow ubuntu 22.04에서 build 하기

Ubuntu에서 tensorflow를 build하는 방법을 정리한다.

 

1. 필요 패키지 설치

# apt-get install -y wget ca-certificates git lsb-release software-properties-common gnupg

 

2. bazelisk와 LLVM/Clang을 설치

# wget https://github.com/bazelbuild/bazelisk/releases/download/v1.19.0/bazelisk-linux-amd64 -O /usr/local/bin/bazel
# chmod +x /usr/local/bin/bazel

# wget https://apt.llvm.org/llvm.sh
# chmod +x llvm.sh
# ./llvm.sh 16

 

3. tensorflow 소스 설정

# git clone https://github.com/tensorflow/tensorflow.git
# cd tensorflow
# git checkout tags/v2.15.0

 

4. tensorflow Build 하기

# ./configure
# bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

 

필요에 따라 아래와 같이 CPU 지원 flags를 지원하거나 CPU Type을 지정할 수 있다.

# 지원하는 CPU flags 추가
# bazel build --config=opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-msse3 --copt=-msse4.1 --copt=-msse4.2 //tensorflow/tools/pip\_package:build\_pip\_package

# CPU type을 지정하여 flags를 한꺼번에 추가
# bazel build --config=opt --copt=-march=skylake //tensorflow/tools/pip_package:build_pip_package

CPU type에 대한 지원 flags는 "/proc/cpu" 정보를 확인하고, "https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/x86-Options.html#x86-Options" 이걸 참고한다.

 

5. python 패키지 생성

컴파일이 생성되면 아래와 같은 명령어를 실행해서 whl 패키지를 생성한다.

# bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

위와 같이 실행 시, "/tmp/tensorflow_pkg/tensorflow-2.15.0-cp310-cp310-linux_x86_64.whl" 파일이 생성된다.


# bazel-bin/tensorflow/tools/pip_package/build_pip_package --cpu /tmp/tensorflow_pkg

위와 같이 실행 시, "/tmp/tensorflow_pkg/tensorflow_cpu-2.15.0-cp310-cp310-linux_x86_64.whl" 파일이 생성된다.