Döşeme

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 tümü 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

  1. 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 -
    
  2. 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:

Komut 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