การติดตั้งด้วย Pip
ติดตั้ง TensorFlow Decision Forests โดยเรียกใช้:
# Install TensorFlow Decision Forests.
pip3 install tensorflow_decision_forests --upgrade
จากนั้นตรวจสอบการติดตั้งด้วยการรัน:
# Check the version of TensorFlow Decision Forests.
python3 -c "import tensorflow_decision_forests as tfdf; print('Found TF-DF v' + tfdf.__version__)"
สร้างจากแหล่งที่มา
รายละเอียดทางเทคนิค
TensorFlow Decision Forests (TF-DF) ใช้การดำเนินการที่กำหนดเองสำหรับ TensorFlow ดังนั้นจึงขึ้นอยู่กับ ABI ของ TensorFlow เนื่องจาก ABI สามารถเปลี่ยนระหว่างเวอร์ชันต่างๆ ได้ เวอร์ชัน TF-DF ใดๆ จึงเข้ากันได้กับเวอร์ชัน TensorFlow เวอร์ชันเดียวเท่านั้น
เพื่อหลีกเลี่ยงการคอมไพล์และจัดส่ง TensorFlow ทั้งหมดด้วย TF-DF, ลิงก์ TF-DF กับไลบรารีที่ใช้ร่วมกัน libtensorflow ที่แจกจ่ายด้วยแพ็คเกจ Pip ของ TensorFlow คอมไพล์เพียงส่วนเล็กๆ ของ Tensorflow และการคอมไพล์ใช้เวลาเพียงประมาณ 10 นาทีบนเวิร์กสเตชันที่แข็งแกร่ง (แทนที่จะใช้เวลาหลายชั่วโมงในการรวบรวม TensorFlow ทั้งหมด) เพื่อให้แน่ใจว่าใช้งานได้ เวอร์ชันของ TensorFlow ที่คอมไพล์จริงและไลบรารีที่แบ่งใช้ libtensorflow จะต้องตรงกันทุกประการ
สคริปต์ tools/test_bazel.sh
กำหนดค่าโครงสร้าง TF-DF เพื่อให้แน่ใจว่าเวอร์ชันของแพ็คเกจที่ใช้ตรงกัน สำหรับรายละเอียดเกี่ยวกับกระบวนการนี้ โปรดดูซอร์สโค้ดของสคริปต์นี้ เนื่องจากการคอมไพล์ TensorFlow มีการเปลี่ยนแปลงบ่อยครั้ง จึงรองรับเฉพาะการสร้างด้วยเวอร์ชัน TensorFlow ล่าสุดและทุกคืนเท่านั้น
ลินุกซ์
สร้างนักเทียบท่า
วิธีที่ง่ายที่สุดในการสร้าง TF-DF บน Linux คือการใช้ build docker ของ TensorFlow เพียงทำตามขั้นตอนต่อไปนี้เพื่อสร้าง:
./tools/start_compile_docker.sh # Start the docker, might require root
export RUN_TESTS=1 # Whether to run tests after build
export PY_VERSION=3.9 # Python version to use for build
# TensorFlow version to compile against. This must match exactly the version
# of TensorFlow used at runtime, otherwise TF-DF may crash unexpectedly.
export TF_VERSION=2.16.1 # Set to "nightly" for building with tf-nightly
./tools/test_bazel.sh
ซึ่งจะวางโค้ด C++ ที่คอมไพล์แล้วไว้ในไดเร็กทอรี bazel-bin
โปรดทราบว่านี่คือลิงก์สัญลักษณ์ที่ไม่ได้เปิดเผยภายนอกคอนเทนเนอร์ (เช่น โครงสร้างหายไปหลังจากออกจากคอนเทนเนอร์)
ในการทำล้อให้วิ่ง
tools/build_pip_package.sh ALL_VERSIONS INSTALL_PYENV
สิ่งนี้จะติดตั้ง Pyenv และ Pyenv-virtualenv ภายในนักเทียบท่าและใช้เพื่อติดตั้ง Python ในเวอร์ชันที่รองรับทั้งหมดสำหรับการสร้าง ล้อถูกวางไว้ใน dist/
ไดเร็กทอรีย่อย
สร้างด้วยตนเอง
การสร้าง TF-DF โดยไม่มีนักเทียบท่าอาจทำได้ยากกว่า และทีมงานก็อาจจะไม่สามารถช่วยได้
ความต้องการ
- บาเซล >= 6.3.0
- หลาม >= 3
- คอมไพล์
- Pyenv, Pyenv-virtualenv (เฉพาะในกรณีที่บรรจุภัณฑ์สำหรับ Python หลายเวอร์ชัน)
อาคาร
ดาวน์โหลด TensorFlow Decision Forests ดังต่อไปนี้:
# Download the source code of TF-DF.
git clone https://github.com/tensorflow/decision-forests.git
cd decision-forests
ทางเลือก: TensorFlow Decision Forests ขึ้นอยู่กับ Yggdrasil Decision Forests หากคุณต้องการแก้ไขโค้ด Yggdrasil คุณสามารถโคลนที่เก็บ Yggdrasil และเปลี่ยนเส้นทางตามนั้นใน third_party/yggdrasil_decision_forests/workspace.bzl
คอมไพล์และรันการทดสอบหน่วยของ TF-DF ด้วยคำสั่งต่อไปนี้ โปรดทราบว่า test_bazel.sh
ได้รับการกำหนดค่าสำหรับคอมไพเลอร์เริ่มต้นบนเครื่องของคุณ แก้ไขไฟล์โดยตรงเพื่อเปลี่ยนการกำหนดค่านี้
# Build and test TF-DF.
RUN_TESTS=1 PY_VERSION=3.9 TF_VERSION=2.16.1 ./tools/test_bazel.sh
สร้างและทดสอบแพ็คเกจ pip ด้วยคำสั่งต่อไปนี้ แทนที่ python3.9 ด้วยเวอร์ชันของ python ที่คุณต้องการใช้ โปรดทราบว่าคุณไม่จำเป็นต้องใช้ Python เวอร์ชันเดียวกันกับในสคริปต์ test_bazel.sh
หากการกำหนดค่าของคุณเข้ากันได้กับ manylinux2014 จะมีการสร้างแพ็คเกจ pip ที่เข้ากันได้กับ manylinux2014
หากการกำหนดค่าของคุณเข้ากันไม่ได้กับ manylinux2014 จะมีการสร้างแพ็คเกจ pip ที่เข้ากันได้กับ manylinux2014
และการตรวจสอบขั้นสุดท้ายจะล้มเหลว ไม่สำคัญว่าคุณต้องการใช้ TF-DF บนเครื่องของคุณเองหรือไม่ วิธีง่ายๆ ในการสร้างความเข้ากันได้ของ build manylinux2014 คือการใช้นักเทียบท่าที่กล่าวถึงข้างต้น
# Build and test a Pip package.
./tools/build_pip_package.sh python3.9
คำสั่งนี้จะติดตั้งแพ็คเกจ TF-DF pip และเรียกใช้ตัวอย่างใน examples/minimal.py
แพ็คเกจ Pip อยู่ในไดเร็กทอรี dist/
หากคุณต้องการสร้างแพ็คเกจ Pip สำหรับ Python เวอร์ชันอื่นที่เข้ากันได้ ให้รัน:
# Install the other versions of python (assume only python3.9 is installed; this is the case in the build docker).
sudo apt-get update && sudo apt-get install python3.9 python3-pip
# Create the Pip package for the other version of python
./tools/build_pip_package.sh python3.9
หรือ คุณสามารถสร้างแพ็คเกจ pip สำหรับ python เวอร์ชันที่เข้ากันได้ทั้งหมดโดยใช้ pyenv โดยการรันคำสั่งต่อไปนี้ ดูส่วนหัวของ tools/build_pip_package.sh
สำหรับรายละเอียดเพิ่มเติม
# Build and test all the Pip package using Pyenv.
./tools/build_pip_package.sh ALL_VERSIONS
แมคโอเอส
ตั้งค่า
ความต้องการ
- เครื่องมือบรรทัดคำสั่ง XCode
- Bazel (แนะนำ Bazelisk )
- แพ็คเกจ Homebrew: GNU coreutils, GNU sed, GNU grep
- Pyenv (สำหรับการสร้างแพ็คเกจ Pip ด้วย Python หลายเวอร์ชัน)
ซีพียู Arm64
สำหรับระบบ MacOS ที่มี CPU ARM64 ให้ทำตามขั้นตอนเหล่านี้:
เตรียมสภาพแวดล้อมของคุณ
git clone https://github.com/tensorflow/decision-forests.git python3 -m venv venv source venv/bin/activate
ตัดสินใจเลือกเวอร์ชัน Python และเวอร์ชัน TensorFlow ที่คุณต้องการใช้และเรียกใช้
cd decision-forests bazel clean --expunge # Remove old builds (esp. cross-compiled). export RUN_TESTS=1 # Whether to run tests after build. export PY_VERSION=3.9 # Python version to use for build. # TensorFlow version to compile against. This must match exactly the version # of TensorFlow used at runtime, otherwise TF-DF may crash unexpectedly. export TF_VERSION=2.16.1 ./tools/test_bazel.sh # Takes ~15 minutes on a modern Mac.
จัดทำแพ็คเกจงานสร้าง
# Building the packages uses different virtualenvs through Pyenv. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS
แพ็คเกจสามารถพบได้ใน
decision-forests/dist/
การคอมไพล์ข้ามสำหรับ Intel CPU
หากคุณมีเครื่อง MacOS ที่มี Apple CPU ให้ข้ามคอมไพล์ TF-DF สำหรับเครื่อง MacOS ที่มี CPU Intel ดังต่อไปนี้
เตรียมสภาพแวดล้อมของคุณ
git clone https://github.com/tensorflow/decision-forests.git python3 -m venv venv source venv/source/activate
ตัดสินใจว่าคุณต้องการใช้และรันเวอร์ชัน Python ใด
cd decision-forests bazel clean --expunge # Remove old builds (esp. cross-compiled). export RUN_TESTS=0 # Cross-compiled builds can't run tests. export PY_VERSION=3.9 # Python version to use for build. # TensorFlow version to compile against. This must match exactly the version # of TensorFlow used at runtime, otherwise TF-DF may crash unexpectedly. export TF_VERSION=2.16.1 export MAC_INTEL_CROSSCOMPILE=1 # Enable cross-compilation. ./tools/test_bazel.sh # Takes ~15 minutes on a modern Mac.
จัดทำแพ็คเกจงานสร้าง
# Building the packages uses different virtualenvs through Pyenv. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
แพ็คเกจสามารถพบได้ใน
decision-forests/dist/
โปรดทราบว่ายังไม่ได้ทดสอบ และควรทดสอบก่อนจำหน่าย
หน้าต่าง
บิลด์ Windows ถูกสร้างขึ้นสำเร็จแล้วในอดีต แต่ยังไม่ได้รับการบำรุงรักษา ณ จุดนี้ ดู tools/test_bazel.bat
และ tools/test_bazel.sh
สำหรับตัวชี้ (อาจล้าสมัย) สำหรับการคอมไพล์บน Windows
สำหรับผู้ใช้ Windows YDF มี Windows builds อย่างเป็นทางการและฟังก์ชันการทำงานส่วนใหญ่ (และอีกมากมาย!) ของ TF-DF