ホーム » TensorFlow Serving » TensorFlow : Deploy : TensorFlow Serving : インストール

TensorFlow : Deploy : TensorFlow Serving : インストール

TensorFlow : Deploy : TensorFlow Serving: インストール (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 09/01/2017

* 本ページは、TensorFlow 本家サイトの Deploy : TensorFlow Serving – Installation を翻訳した上で
適宜、補足説明したものです:

* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

要件

TensorFlow Serving をコンパイルして使用するためには、幾つかの要件をセットアップする必要があります。

Bazel (ソースコードをコンパイルする場合のみ)

TensorFlow Serving は Bazel 0.45 またはそれ以上を要求します。Bazel インストレーション手順は ここ で見つかります。

Bazel のための要件を満たす場合、それらの手順は次のステップから成ります :

  1. 関連したバイナリを ここ からダウンロードします。bazel-0.4.5-installer-linux-x86_64.sh をダウンロードしたとします。貴方は次を実行するでしょう :
    cd ~/Downloads
    chmod +x bazel-0.4.5-installer-linux-x86_64.sh
    ./bazel-0.4.5-installer-linux-x86_64.sh --user
    
  2. 環境をセットアップします。これを ~/.bashrc に置きます。
    export PATH="$PATH:$HOME/bin"
    

gRPC

チュートリアルは RPC フレームワークとして gRPC (1.0.0 またはそれ以上) を使用します。インストール手順は ここ で見つかります。

パッケージ

TensorFlow Serving 依存をインストールするためには、次を実行します :

sudo apt-get update && sudo apt-get install -y \
        build-essential \
        curl \
        libcurl3-dev \
        git \
        libfreetype6-dev \
        libpng12-dev \
        libzmq3-dev \
        pkg-config \
        python-dev \
        python-numpy \
        python-pip \
        software-properties-common \
        swig \
        zip \
        zlib1g-dev

TensorFlow Serving Python API PIP パッケージ

Bazel をインストールする必要なく Python クライアントコードを実行するためには、以下を利用して tensorflow-serving-api PIP パッケージをインストールすることができます :

pip install tensorflow-serving-api

 

apt-get を使用してインストールする

利用可能なバイナリ

TensorFlow Serving ModelServer バイナリは2つの変形 (= variant) で利用可能です :

tensorflow-model-server: 完全に最適化されたサーバで、SSE4 と AVX 命令のような幾つかのプラットフォームに特化されたコンパイラ最適化を使用しています。これは多くのユーザに好まれるオプションでしょう、しかしある(種の)より古いマシンでは動作しないかもしれません。

tensorflow-model-server-universal: 基本的な最適化でコンパイルされていますが、プラットフォームに特化された命令セットは含みませんので、世の中のすべてのマシンでないにしても殆どの上で動作するはずです。貴方のために tensorflow-model-server が動作しないのであればこれを使用してください。バイナリ名が両方のパッケージについて同じですので、既に tensorflow-model-server をインストールしているならば、次を使用して最初にそれをアンインストールするべきです。

sudo apt-get remove tensorflow-model-server

ModelServer をインストールする

  1. パッケージ・ソースとして TensorFlow Serving ディストリビューション URI を追加する (ワンタイム・セットアップ)
    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 をインストールして更新する
    sudo apt-get update && sudo apt-get install tensorflow-model-server
    

一度インストールされれば、バイナリはコマンド tensorflow_model_server を使用して起動されます。

tensorflow-model-server のより新しいバージョンへは次でアップグレードできます :

sudo apt-get upgrade tensorflow-model-server

Note: 上のコマンドにおいて、もし貴方のプロセッサが AVX 命令をサポートしてないのであれば、tensorflow-model-server を tensorflow-model-server-universal で置き換えてください。

 

ソースからインストールする

TensorFlow Serving レポジトリを clone する

git clone --recurse-submodules https://github.com/tensorflow/serving
cd serving

–recurse-submodules は TensorFlow, gRPC, そして TensorFlow Serving が依存する他のライブラリを取得するために必要です。これらの手順は TensorFlow Serving の最新の master ブランチをインストールすることに注意してください。(release ブランチのような) 特定のブランチをインストールすることを望む場合には、git clone コマンドに -b を渡してください。

要件をインストールする

全ての依存をインストールするためには上述の要件セクションに追随してください。TensorFlow を configure するためには、以下を実行します

cd tensorflow
./configure
cd ..

TensorFlow のセットアップやその依存の問題にぶつかったならば TensorFlow インストール手順 を調べてください。

ビルド

TensorFlow Serving はビルドに Bazel を使用します。個々のターゲットや全体のソースツリーをビルドするためには Bazel コマンドを使用します。

全体のツリーをビルドするためには、以下を実行します :

bazel build -c opt tensorflow_serving/...

バイナリは bazel-bin ディレクトリに置かれ、次のようなコマンドを使用して実行できます :

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

インストールをテストするためには、以下を実行します :

bazel test -c opt tensorflow_serving/...

TensorFlow Serving を実行するより掘り下げたサンプルについては basic tutorialadvanced tutorial を見てください。

最適化されたビルド

幾つかのプラットフォームに特化した命令セット (e.g. AVX) を使用してコンパイルすることができます、これは本質的にパフォーマンスを改善できます。このドキュメントで ‘bazel build’ を見る場所ではどこでも、フラグ -c opt –copt=-msse4.1 –copt=-msse4.2 –copt=-mavx –copt=-mavx2 –copt=-mfma –copt=-O3 (あるいはこれらのフラグの幾つかのサブセット) を追加することができます。例えば :

bazel build -c opt --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-O3 tensorflow_serving/...

Note: これらの命令セットはすべてのマシン上で利用可能ではありません、特により古いプロセッサでは。そのためすべてのフラグでは動作しないかもしれません。それらのあるサブセットを試すか、基本的な ‘-c opt’ だけに戻すこともできます。

継続的インテグレーション・ビルド

TensorFlow ci_build インフラを使用した継続的インテグレーション・ビルドは docker を利用した単純化された開発を貴方に提供します。貴方の必要なものすべては git と docker です。すべての他の依存を手動でインストールする必要はありません。

git clone --recursive https://github.com/tensorflow/serving
cd serving
CI_TENSORFLOW_SUBMODULE_PATH=tensorflow tensorflow/tensorflow/tools/ci_build/ci_build.sh CPU bazel test //tensorflow_serving/...

Note: serving ディレクトリはコンテナ内にマップされます。貴方は docker コンテナの外側で (貴方のお気に入りのエディタで) 開発が可能でそしてこのビルドを実行する時、それは貴方の変更と一緒にビルドするでしょう。

 
以上


AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com