Menginstal ModelServer
Menginstal menggunakan Docker
Cara termudah dan paling mudah untuk menggunakan TensorFlow Serving adalah dengan image Docker . Kami sangat merekomendasikan rute ini kecuali Anda memiliki kebutuhan khusus yang tidak dapat diatasi dengan menjalankannya dalam sebuah container.
TIPS: Ini juga cara termudah agar TensorFlow Serving berfungsi dengan dukungan GPU .
Menginstal menggunakan APT
Biner yang tersedia
Biner TensorFlow Serving ModelServer tersedia dalam dua varian:
tensorflow-model-server : Server yang sepenuhnya dioptimalkan yang menggunakan beberapa optimasi kompiler khusus platform seperti instruksi SSE4 dan AVX. Ini seharusnya menjadi pilihan yang disukai sebagian besar pengguna, namun mungkin tidak berfungsi pada beberapa mesin lama.
tensorflow-model-server-universal : Dikompilasi dengan pengoptimalan dasar, tetapi tidak menyertakan set instruksi khusus platform, jadi harus berfungsi pada sebagian besar, jika tidak semua, mesin di luar sana. Gunakan ini jika tensorflow-model-server
tidak berfungsi untuk Anda. Perhatikan bahwa nama binernya sama untuk kedua paket, jadi jika Anda sudah menginstal tensorflow-model-server, Anda harus menghapus instalasinya terlebih dahulu menggunakan
apt-get remove tensorflow-model-server
Instalasi
Tambahkan URI distribusi TensorFlow Serving sebagai sumber paket (penyiapan satu kali)
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 -
Instal dan perbarui TensorFlow ModelServer
apt-get update && apt-get install tensorflow-model-server
Setelah terinstal, biner dapat dipanggil menggunakan perintah tensorflow_model_server
.
Anda dapat meningkatkan versi tensorflow-model-server ke versi yang lebih baru dengan:
apt-get upgrade tensorflow-model-server
Membangun dari sumber
Pendekatan yang disarankan untuk membangun dari sumber adalah dengan menggunakan Docker. Gambar pengembangan TensorFlow Serving Docker merangkum semua dependensi yang Anda perlukan untuk membuat TensorFlow Serving versi Anda sendiri.
Untuk mengetahui daftar dependensi ini, lihat TensorFlow Serving Development Dockerfiles [ CPU , GPU ].
Menginstal Docker
Petunjuk instalasi umum ada di situs Docker .
Kloning skrip build
Setelah menginstal Docker, kita perlu mendapatkan sumber yang ingin kita buat. Kami akan menggunakan Git untuk mengkloning cabang master TensorFlow Serving:
git clone https://github.com/tensorflow/serving.git
cd serving
Membangun
Untuk membangun lingkungan kedap udara dengan semua dependensi ditangani, kita akan menggunakan skrip run_in_docker.sh
. Skrip ini meneruskan perintah build ke container Docker. Secara default, skrip akan dibuat dengan image pengembangan Docker malam terbaru.
TensorFlow Serving menggunakan Bazel sebagai alat pembuatannya. Anda dapat menggunakan perintah Bazel untuk membuat target individual atau keseluruhan pohon sumber.
Untuk membangun keseluruhan pohon, jalankan:
tools/run_in_docker.sh bazel build -c opt tensorflow_serving/...
Biner ditempatkan di direktori bazel-bin, dan dapat dijalankan menggunakan perintah seperti:
bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server
Untuk menguji build Anda, jalankan:
tools/run_in_docker.sh bazel test -c opt tensorflow_serving/...
Lihat tutorial dasar dan tutorial lanjutan untuk contoh lebih mendalam dalam menjalankan TensorFlow Serving.
Membuat versi TensorFlow Serving yang spesifik
Jika Anda ingin membangun dari cabang tertentu (seperti cabang rilis), teruskan -b <branchname>
ke perintah git clone
.
Kami juga ingin mencocokkan lingkungan build untuk cabang kode tersebut, dengan meneruskan skrip run_in_docker.sh
image pengembangan Docker yang ingin kami gunakan.
Misalnya, untuk mem-build TensorFlow Serving versi 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/...
...
Bangunan yang dioptimalkan
Jika Anda ingin menerapkan pengoptimalan yang direkomendasikan secara umum, termasuk memanfaatkan set instruksi khusus platform untuk prosesor, Anda dapat menambahkan --config=nativeopt
ke perintah build Bazel saat membuat TensorFlow Serving.
Misalnya:
tools/run_in_docker.sh bazel build --config=nativeopt tensorflow_serving/...
Dimungkinkan juga untuk mengkompilasi menggunakan set instruksi tertentu (misalnya AVX). Di mana pun Anda melihat bazel build
di dokumentasi, cukup tambahkan tanda yang sesuai:
Set Instruksi | Bendera |
---|---|
AVX | --copt=-mavx |
AVX2 | --copt=-mavx2 |
FMA | --copt=-mfma |
SSE 4.1 | --copt=-msse4.1 |
SSE 4.2 | --copt=-msse4.2 |
Semua didukung oleh prosesor | --copt=-march=native |
Misalnya:
tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
Membangun dengan Dukungan GPU
Untuk membuat versi kustom TensorFlow Serving dengan dukungan GPU, sebaiknya buat dengan image Docker yang disediakan , atau ikuti pendekatan di GPU Dockerfile .
TensorFlow Melayani paket PIP API Python
Untuk menjalankan kode klien Python tanpa perlu membuat API, Anda dapat menginstal paket PIP tensorflow-serving-api
menggunakan:
pip install tensorflow-serving-api