ModelServer'ın Kurulumu
Docker kullanarak kurulum
TensorFlow Serving'i kullanmanın en kolay ve en basit yolu Docker görüntüleridir . Bir konteynırda çalıştırılarak karşılanmayan özel ihtiyaçlarınız olmadığı sürece bu rotayı şiddetle tavsiye ediyoruz.
İPUCU: Bu aynı zamanda TensorFlow Sunumunun GPU desteğiyle çalışmasını sağlamanın en kolay yoludur.
APT kullanarak kurulum
Mevcut ikili dosyalar
TensorFlow Serving ModelServer ikili dosyasının iki çeşidi mevcuttur:
tensorflow-model-server : SSE4 ve AVX talimatları gibi bazı platforma özel derleyici optimizasyonlarını kullanan, tamamen optimize edilmiş sunucu. Bu, çoğu kullanıcı için tercih edilen seçenek olmalıdır, ancak bazı eski makinelerde çalışmayabilir.
tensorflow-model-server-universal : Temel optimizasyonlarla derlenmiştir, ancak platforma özel talimat setlerini içermez, bu nedenle mevcut makinelerin tamamında olmasa da çoğunda çalışmalıdır. tensorflow-model-server
işinize yaramazsa bunu kullanın. İkili adın her iki paket için de aynı olduğunu unutmayın; bu nedenle tensorflow-model-server'ı zaten yüklediyseniz, önce onu kullanarak kaldırmalısınız.
apt-get remove tensorflow-model-server
Kurulum
TensorFlow Serving dağıtım URI'sini paket kaynağı olarak ekleyin (tek seferlik kurulum)
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 -
TensorFlow ModelServer'ı yükleyin ve güncelleyin
apt-get update && apt-get install tensorflow-model-server
Kurulduktan sonra ikili dosya tensorflow_model_server
komutu kullanılarak çağrılabilir.
Aşağıdakileri kullanarak tensorflow-model-server'ın daha yeni bir sürümüne yükseltebilirsiniz:
apt-get upgrade tensorflow-model-server
Kaynaktan inşa etmek
Kaynaktan derlemeye yönelik önerilen yaklaşım Docker'ı kullanmaktır. TensorFlow Serving Docker geliştirme görüntüleri, kendi TensorFlow Serving sürümünüzü oluşturmak için ihtiyaç duyduğunuz tüm bağımlılıkları kapsar.
Bu bağımlılıkların listesi için TensorFlow Hizmet Geliştirme Docker Dosyalarına [ CPU , GPU ] bakın.
Docker'ı Yükleme
Genel kurulum talimatları Docker sitesinde bulunmaktadır.
Derleme betiğini klonlayın
Docker'ı kurduktan sonra build yapmak istediğimiz kaynağı almamız gerekiyor. TensorFlow Serving'in ana dalını klonlamak için Git'i kullanacağız:
git clone https://github.com/tensorflow/serving.git
cd serving
İnşa etmek
Tüm bağımlılıkların dikkate alındığı hermetik bir ortamda kurulum yapmak için run_in_docker.sh
betiğini kullanacağız. Bu betik, derleme komutlarını bir Docker kapsayıcısına iletir. Varsayılan olarak komut dosyası, en son gecelik Docker geliştirme görüntüsüyle oluşturulacaktır.
TensorFlow Serving, oluşturma aracı olarak Bazel'i kullanıyor. Bireysel hedefleri veya kaynak ağacın tamamını oluşturmak için Bazel komutlarını kullanabilirsiniz.
Ağacın tamamını oluşturmak için şunu yürütün:
tools/run_in_docker.sh bazel build -c opt tensorflow_serving/...
İkili dosyalar bazel-bin dizinine yerleştirilir ve aşağıdaki gibi bir komut kullanılarak çalıştırılabilir:
bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server
Yapınızı test etmek için şunu yürütün:
tools/run_in_docker.sh bazel test -c opt tensorflow_serving/...
TensorFlow Serving'i çalıştırmaya ilişkin daha ayrıntılı örnekler için temel eğitime ve gelişmiş eğitime bakın.
TensorFlow Sunumunun belirli sürümlerini oluşturma
Belirli bir daldan (bir yayın dalı gibi) derleme yapmak istiyorsanız, git clone
komutuna -b <branchname>
iletin.
Ayrıca, kullanmak istediğimiz Docker geliştirme görüntüsünü run_in_docker.sh
betiğini ileterek bu kod dalı için derleme ortamını da eşleştirmek isteyeceğiz.
Örneğin, TensorFlow Sunumunun 1.10 sürümünü oluşturmak için:
$ 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/...
...
Optimize edilmiş yapı
İşlemciniz için platforma özel talimat setlerinin kullanılması da dahil olmak üzere genel olarak önerilen optimizasyonları uygulamak istiyorsanız TensorFlow Serving'i oluştururken Bazel build komutlarına --config=nativeopt
ekleyebilirsiniz.
Örneğin:
tools/run_in_docker.sh bazel build --config=nativeopt tensorflow_serving/...
Belirli komut setlerini (örn. AVX) kullanarak derlemek de mümkündür. Belgelerde bazel build
gördüğünüz her yere ilgili bayrakları eklemeniz yeterlidir:
Talimat Seti | Bayraklar |
---|---|
AVX | --copt=-mavx |
AVX2 | --copt=-mavx2 |
FMA | --copt=-mfma |
SSE 4.1 | --copt=-msse4.1 |
SSE 4.2 | --copt=-msse4.2 |
Hepsi işlemci tarafından destekleniyor | --copt=-march=native |
Örneğin:
tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
GPU Desteğiyle Oluşturma
TensorFlow Serving'in GPU desteğiyle özel bir sürümünü oluşturmak için, sağlanan Docker görüntüleri ile oluşturmanızı veya GPU Docker dosyasındaki yaklaşımı izlemenizi öneririz.
TensorFlow Python API PIP paketini sunuyor
API oluşturmaya gerek kalmadan Python istemci kodunu çalıştırmak için tensorflow-serving-api
PIP paketini aşağıdakileri kullanarak yükleyebilirsiniz:
pip install tensorflow-serving-api