Cài đặt với Pip
Cài đặt TensorFlow Decision Forests bằng cách chạy:
# Install TensorFlow Decision Forests.
pip3 install tensorflow_decision_forests --upgrade
Sau đó, kiểm tra cài đặt bằng cách chạy:
# Check the version of TensorFlow Decision Forests.
python3 -c "import tensorflow_decision_forests as tfdf; print('Found TF-DF v' + tfdf.__version__)"
Xây dựng từ nguồn
Linux
Cài đặt
Yêu cầu
- Bazel >= 3.7.2
- Trăn >= 3
- Git
- Gói Python: gấu trúc tenorflow numpy
Thay vì cài đặt các phụ thuộc bằng tay, bạn có thể sử dụng TensorFlow Build docker . Nếu bạn chọn tùy chọn này, hãy cài đặt Docker:
- docker .
biên soạn
Tải xuống TensorFlow Decision Forests như sau:
# Download the source code of TF-DF.
git clone https://github.com/tensorflow/decision-forests.git
cd decision-forests
Tùy chọn: Rừng quyết định TensorFlow phụ thuộc vào Rừng quyết định Yggdrasil . Nếu muốn chỉnh sửa mã Yggdrasil, bạn có thể sao chép Yggdrasil github và thay đổi đường dẫn tương ứng trong third_party/yggdrasil_decision_forests/workspace.bzl
.
Tùy chọn: Nếu bạn muốn sử dụng tùy chọn docker, hãy chạy tập lệnh start_compile_docker.sh
và tiếp tục bước tiếp theo. Nếu bạn không muốn sử dụng tùy chọn docker, hãy tiếp tục trực tiếp bước tiếp theo.
# Optional: Install and start the build docker.
./tools/start_compile_docker.sh
Biên dịch và chạy thử nghiệm đơn vị của TF-DF bằng lệnh sau. Lưu ý rằng test_bazel.sh
được định cấu hình cho python3.8
và trình biên dịch mặc định trên máy của bạn. Chỉnh sửa tệp trực tiếp để thay đổi cấu hình này.
# Build and test TF-DF.
./tools/test_bazel.sh
Tạo và kiểm tra gói pip bằng lệnh sau. Thay thế python3.8 bằng phiên bản python bạn muốn sử dụng. Lưu ý rằng bạn không phải sử dụng cùng một phiên bản Python như trong tập lệnh test_bazel.sh
.
Nếu cấu hình của bạn tương thích với manylinux2014 , gói pip tương thích với manylinux2014
sẽ được tạo.
Nếu cấu hình của bạn không tương thích với manylinux2014, thì gói pip không tương thích với manylinux2014
sẽ được tạo và lần kiểm tra cuối cùng sẽ không thành công. Không thành vấn đề nếu bạn muốn sử dụng TF-DF trên máy của mình. Một cách dễ dàng để làm cho bản dựng manylinux2014 tương thích là sử dụng docker đã đề cập ở trên.
# Build and test a Pip package.
./tools/build_pip_package.sh python3.8
Lệnh này sẽ cài đặt gói pip TF-DF và chạy ví dụ trong examples/minimal.py
. Gói Pip nằm trong thư mục dist/
.
Nếu bạn muốn tạo gói Pip cho phiên bản Python tương thích khác, hãy chạy:
# Install the other versions of python (assume only python3.8 is installed; this is the case in the build docker).
sudo apt-get update && sudo apt-get install python3.7 python3.9 python3-pip
# Create the Pip package for the other version of python
./tools/build_pip_package.sh python3.7
./tools/build_pip_package.sh python3.9
Ngoài ra , bạn có thể tạo gói pip cho tất cả phiên bản tương thích của python bằng pyenv bằng cách chạy lệnh sau. Xem tiêu đề của tools/build_pip_package.sh
để biết thêm chi tiết.
# Build and test all the Pip package using Pyenv.
./tools/build_pip_package.sh ALL_VERSIONS
Hệ điều hành Mac
Cài đặt
Yêu cầu
- Công cụ dòng lệnh XCode
- Bazel (khuyên dùng Bazelisk )
- Trăn >= 3,8
- Git
- Pyenv (để xây dựng các gói Pip với nhiều phiên bản Python)
Xây dựng / Đóng gói (CPU của Apple)
Nếu bạn có máy MacOS với CPU Apple, bạn có thể xây dựng theo hướng dẫn sau.
Sao chép ba kho lưu trữ và điều chỉnh đường dẫn.
git clone https://github.com/tensorflow/decision-forests.git git clone https://github.com/google/yggdrasil-decision-forests.git git clone --branch boost-1.75.0 https://github.com/boostorg/boost.git (cd boost && git submodule update --init --checkout --force) # Adjust path TF-DF --> YDF perl -0777 -i.original -pe 's/ http_archive\(\n name = "ydf",\n urls = \["https:\/\/github.com\/google\/yggdrasil-decision-forests\/archive\/refs\/heads\/main.zip"\],\n strip_prefix = "yggdrasil-decision-forests-main",\n \)/ native.local_repository\(\n name = "ydf",\n path = "..\/yggdrasil-decision-forests",\n \)/igs' decision-forests/third_party/yggdrasil_decision_forests/workspace.bzl # Adjust path YDF --> Boost perl -0777 -i.original -pe 's/ new_git_repository\(\n name = "org_boost",\n branch = branch,\n build_file_content = build_file_content,\n init_submodules = True,\n recursive_init_submodules = True,\n remote = "https:\/\/github.com\/boostorg\/boost",\n \)/ native.new_local_repository\(\n name = "org_boost",\n path = "..\/boost",\n build_file_content = build_file_content,\n \)/igs' yggdrasil-decision-forests/third_party/boost/workspace.bzl
Bạn có thể cần điều chỉnh tập lệnh test_bazel.sh theo cách thủ công để sửa mã băm cam kết Tensorflow, vì mã này đôi khi bị hỏng đối với các bản dựng MacOS.
(Tùy chọn) Tạo một môi trường ảo mới và kích hoạt nó
python3 -m venv venv source venv/source/activate
Điều chỉnh phụ thuộc TensorFlow cho CPU Apple
perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
Quyết định phiên bản Python nào bạn muốn sử dụng và chạy
cd decision-forests # This will compile with the latest Tensorflow version in the tensorflow-macos repository. RUN_TESTS=1 PY_VERSION=3.9 TF_VERSION=mac-arm64 ./tools/test_bazel.sh
Xây dựng các gói Pip
# First, we deactivate our virtualenv, since the Pip script uses a different one. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS_MAC_ARM64
Các gói có thể được tìm thấy trong
decision-forests/dist/
.
Biên dịch chéo cho CPU Intel
Nếu bạn có máy MacOS với CPU của Apple, hãy biên dịch chéo TF-DF cho máy MacOS có CPU Intel như sau.
Làm theo Bước 1-3 và 5 của hướng dẫn dành cho CPU Apple, bỏ qua Bước 4 . Bạn có thể cần chạy lệnh
bazel --bazelrc=tensorflow_bazelrc clean --expunge
để dọn dẹp thư mục bản dựng của mình.Quyết định phiên bản Python nào bạn muốn sử dụng và chạy
cd decision-forests # This will compile with the latest Tensorflow version in the tensorflow-macos repository. RUN_TESTS=0 PY_VERSION=3.9 TF_VERSION=mac-intel-crosscompile ./tools/test_bazel.sh
Xây dựng các gói Pip
# First, we deactivate our virtualenv, since the Pip script uses a different one. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
Các gói có thể được tìm thấy trong
decision-forests/dist/
.
lưu ý cuối cùng
Biên dịch TF-DF dựa vào gói TensorFlow Pip và phần phụ thuộc TensorFlow Bazel. Chỉ một phần nhỏ của TensorFlow sẽ được biên dịch. Biên dịch TF-DF trên một máy trạm mạnh duy nhất mất ~10 phút.