การติดตั้ง

การติดตั้งโมเดลเซิร์ฟเวอร์

การติดตั้งโดยใช้ Docker

วิธีที่ง่ายที่สุดและตรงไปตรงมาที่สุดในการใช้ TensorFlow Serving คือการใช้ อิมเมจ Docker เราขอแนะนำเส้นทางนี้เป็นอย่างยิ่ง เว้นแต่คุณจะมีความต้องการเฉพาะที่ไม่ได้รับการแก้ไขโดยการทำงานในคอนเทนเนอร์

เคล็ดลับ: นี่เป็นวิธีที่ง่ายที่สุดในการทำให้ TensorFlow Serving ทำงานร่วมกับ การรองรับ GPU

การติดตั้งโดยใช้ APT

ไบนารีที่มีอยู่

ไบนารี TensorFlow Serving ModelServer มีให้เลือกสองรูปแบบ:

tensorflow-model-server : เซิร์ฟเวอร์ที่ได้รับการปรับปรุงอย่างเต็มที่ซึ่งใช้การปรับแต่งคอมไพเลอร์เฉพาะแพลตฟอร์มบางอย่าง เช่น คำสั่ง SSE4 และ AVX นี่ควรเป็นตัวเลือกที่ต้องการสำหรับผู้ใช้ส่วนใหญ่ แต่อาจใช้ไม่ได้กับเครื่องรุ่นเก่าบางเครื่อง

tensorflow-model-server-universal : คอมไพล์ด้วยการเพิ่มประสิทธิภาพพื้นฐาน แต่ไม่รวมชุดคำสั่งเฉพาะแพลตฟอร์ม ดังนั้นควรใช้งานได้กับเครื่องส่วนใหญ่หากไม่ใช่ทุกเครื่อง ใช้สิ่งนี้หาก tensorflow-model-server ใช้งานไม่ได้สำหรับคุณ โปรดทราบว่าชื่อไบนารีจะเหมือนกันสำหรับทั้งสองแพ็คเกจ ดังนั้นหากคุณติดตั้ง tensorflow-model-server แล้ว คุณควรถอนการติดตั้งก่อนโดยใช้

apt-get remove tensorflow-model-server

การติดตั้ง

  1. เพิ่ม URI การกระจายการให้บริการ TensorFlow เป็นแหล่งแพ็คเกจ (การตั้งค่าครั้งเดียว)

    echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stable tensorflow-model-server tensorflow-model-server-universal" | sudo tee /etc/apt/sources.list.d/tensorflow-serving.list && \
    curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | sudo apt-key add -
    
  2. ติดตั้งและอัปเดต TensorFlow ModelServer

    apt-get update && apt-get install tensorflow-model-server
    

เมื่อติดตั้งแล้ว ไบนารี่สามารถเรียกใช้ได้โดยใช้คำสั่ง tensorflow_model_server

คุณสามารถอัปเกรดเป็น tensorflow-model-server เวอร์ชันใหม่กว่าได้ด้วย:

apt-get upgrade tensorflow-model-server

การสร้างจากแหล่งที่มา

แนวทางที่แนะนำในการสร้างจากแหล่งที่มาคือการใช้ Docker อิมเมจการพัฒนา TensorFlow Serving Docker จะสรุปการขึ้นต่อกันทั้งหมดที่คุณต้องการเพื่อสร้าง TensorFlow Serving เวอร์ชันของคุณเอง

หากต้องการทราบว่าการขึ้นต่อกันเหล่านี้คืออะไร โปรดดูที่ TensorFlow Serving Development Dockerfiles [ CPU , GPU ]

การติดตั้งนักเทียบท่า

คำแนะนำในการติดตั้งทั่วไปอยู่ ที่ไซต์ Docker

โคลนสคริปต์บิลด์

หลังจากติดตั้ง Docker แล้ว เราจำเป็นต้องได้รับซอร์สที่เราต้องการสร้าง เราจะใช้ Git เพื่อโคลนสาขาหลักของ TensorFlow Serving:

git clone https://github.com/tensorflow/serving.git
cd serving

สร้าง

เพื่อสร้างในสภาพแวดล้อมที่ปิดสนิทโดยมีการพึ่งพาทั้งหมด เราจะใช้สคริปต์ run_in_docker.sh สคริปต์นี้ส่งคำสั่ง build ไปยังคอนเทนเนอร์ Docker ตามค่าเริ่มต้น สคริปต์จะสร้างด้วยอิมเมจการพัฒนา Docker ทุกคืนล่าสุด

TensorFlow Serving ใช้ Bazel เป็นเครื่องมือสร้าง คุณสามารถใช้คำสั่ง Bazel เพื่อสร้างแต่ละเป้าหมายหรือแผนผังต้นทางทั้งหมดได้

หากต้องการสร้างทั้งแผนผัง ให้ดำเนินการ:

tools/run_in_docker.sh bazel build -c opt tensorflow_serving/...

ไบนารีถูกวางไว้ในไดเร็กทอรี bazel-bin และสามารถรันได้โดยใช้คำสั่งเช่น:

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

หากต้องการทดสอบบิลด์ของคุณ ให้ดำเนินการ:

tools/run_in_docker.sh bazel test -c opt tensorflow_serving/...

ดู บทช่วยสอนพื้นฐาน และ บทช่วยสอนขั้นสูง สำหรับตัวอย่างเชิงลึกเพิ่มเติมของการเรียกใช้ TensorFlow Serving

การสร้าง TensorFlow Serving เวอร์ชันเฉพาะ

หากคุณต้องการสร้างจากสาขาเฉพาะ (เช่น สาขา release) ให้ส่ง -b <branchname> ไปยังคำสั่ง git clone

นอกจากนี้ เรายังต้องการจับคู่สภาพแวดล้อมการสร้างสำหรับสาขาของโค้ดนั้น โดยการส่งสคริปต์ run_in_docker.sh ไปยังอิมเมจการพัฒนา Docker ที่เราต้องการใช้

ตัวอย่างเช่น หากต้องการสร้าง TensorFlow Serving เวอร์ชัน 1.10:

$ git clone -b r1.10 https://github.com/tensorflow/serving.git
...
$ cd serving
$ tools/run_in_docker.sh -d tensorflow/serving:1.10-devel \
  bazel build tensorflow_serving/...
...
โครงสร้างที่ปรับให้เหมาะสม

หากคุณต้องการใช้การเพิ่มประสิทธิภาพที่แนะนำโดยทั่วไป รวมถึงการใช้ชุดคำสั่งเฉพาะแพลตฟอร์มสำหรับโปรเซสเซอร์ของคุณ คุณสามารถเพิ่ม --config=nativeopt ให้กับคำสั่ง Bazel build เมื่อสร้าง TensorFlow Serving

ตัวอย่างเช่น:

tools/run_in_docker.sh bazel build --config=nativeopt tensorflow_serving/...

นอกจากนี้ยังสามารถคอมไพล์โดยใช้ชุดคำสั่งเฉพาะ (เช่น AVX) เมื่อใดก็ตามที่คุณเห็น bazel build ในเอกสารประกอบ เพียงเพิ่มแฟล็กที่เกี่ยวข้อง:

ชุดคำสั่ง ธง
เอวีเอ็กซ์ --copt=-mavx
AVX2 --copt=-mavx2
เอฟเอ็มเอ --copt=-mfma
สสส.4.1 --copt=-msse4.1
สสส.4.2 --copt=-msse4.2
ทั้งหมดรองรับโดยโปรเซสเซอร์ --copt=-march=native

ตัวอย่างเช่น:

tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
การสร้างด้วยการรองรับ GPU

ในการสร้าง TensorFlow Serving เวอร์ชันที่กำหนดเองพร้อมการรองรับ GPU เราขอแนะนำให้สร้างด้วย อิมเมจ Docker ที่ให้มา หรือปฏิบัติตามแนวทางใน GPU Dockerfile

แพ็คเกจ TensorFlow ให้บริการ Python API PIP

หากต้องการเรียกใช้โค้ดไคลเอ็นต์ Python โดยไม่จำเป็นต้องสร้าง API คุณสามารถติดตั้งแพ็คเกจ PIP tensorflow-serving-api ได้โดยใช้:

pip install tensorflow-serving-api