การติดตั้ง

การติดตั้งด้วย 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 ให้ทำตามขั้นตอนเหล่านี้:

  1. เตรียมสภาพแวดล้อมของคุณ

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/bin/activate
    
  2. ตัดสินใจเลือกเวอร์ชัน 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.
    
  3. จัดทำแพ็คเกจงานสร้าง

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS
    
  4. แพ็คเกจสามารถพบได้ใน decision-forests/dist/

การคอมไพล์ข้ามสำหรับ Intel CPU

หากคุณมีเครื่อง MacOS ที่มี Apple CPU ให้ข้ามคอมไพล์ TF-DF สำหรับเครื่อง MacOS ที่มี CPU Intel ดังต่อไปนี้

  1. เตรียมสภาพแวดล้อมของคุณ

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/source/activate
    
  2. ตัดสินใจว่าคุณต้องการใช้และรันเวอร์ชัน 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.
    
  3. จัดทำแพ็คเกจงานสร้าง

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
    
  4. แพ็คเกจสามารถพบได้ใน decision-forests/dist/ โปรดทราบว่ายังไม่ได้ทดสอบ และควรทดสอบก่อนจำหน่าย

หน้าต่าง

บิลด์ Windows ถูกสร้างขึ้นสำเร็จแล้วในอดีต แต่ยังไม่ได้รับการบำรุงรักษา ณ จุดนี้ ดู tools/test_bazel.bat และ tools/test_bazel.sh สำหรับตัวชี้ (อาจล้าสมัย) สำหรับการคอมไพล์บน Windows

สำหรับผู้ใช้ Windows YDF มี Windows builds อย่างเป็นทางการและฟังก์ชันการทำงานส่วนใหญ่ (และอีกมากมาย!) ของ TF-DF