CPU (レガシー)
自社インフラの CPU 上にモデルをデプロイします。
これは利用可能な新しいページの古いバージョンです ここ.
CPU推論サーバーのインストールと使用方法
推論APIは64ビットのIntelおよびAMDマシン向けのDockerコンテナとして利用可能で、Mac OSベースのデバイスとは互換性がありません。インストールするには、単にコンテナをプルしてください:
sudo docker pull roboflow/inference-server:cpu次に実行します:
sudo docker run --net=host roboflow/inference-server:cpuこれでInference Serverを私たちの提供する(ドキュメント参照)の代替としてそのまま使用できます Hosted Inference API (複数のプログラミング言語でのサンプルコードはそちらのドキュメントを参照してください)。Hosted APIのサンプルコードを使用しますが、置き換えるのは https://detect.roboflow.com で http://{INFERENCE-SERVER-IP}:9001 をAPI呼び出し内で行います。たとえば、
base64 YOUR_IMAGE.jpg | curl -d @- \
"http://10.0.0.1:9001/your-model/42?api_key=YOUR_KEY"プロジェクト情報を見つける
注意: モデルへの最初の呼び出しは重みをダウンロードして初期化するため数秒かかります;その後の予測ははるかに高速になります。
Google Cloud VMへのデプロイ
DockerコンテナをGoogle Cloud Virtual Machinesにデプロイするには、まずGoogle Cloudアカウントを作成し、VMインスタンスを設定する必要があります。この例では、マシンタイプを変更して「e2-medium」インスタンスをセットアップしています。プロダクションのワークロードでは、より高性能なマシンタイプを選択する必要があるかもしれません。

インスタンスを作成する前に、「ブートディスク」セクションまでスクロールし、「変更」をクリックしてブートサイズを少なくとも50GBに増やしてください。ブートディスク設定ではOSも変更できます。デフォルトの「Debian 10 ベース Deep Learning VM(Intel MKL付き) M101」バージョンを選択した「Deep Learning on Linux」オペレーティングシステムを選択してください。

これで下までスクロールして「作成」をクリックしインスタンスを初期化できます。VMが稼働したら、SSHでインスタンスに入り、そこにDockerをインストールします。小さな「SSH」接続ボタンを2回クリックして2つのターミナルを開きます。これらのうち1つのターミナルでDockerコンテナを実行し、もう1つで推論を実行します。

Google Virtual MachineにSSHで接続した後、以下のコマンドを使用してマシン上でCPU推論サーバーをプルして実行できます。コンテナが実行され、「inference-server is ready to receive traffic.」と表示されるのを待ってください。
コンテナがVM上で実行されていると、VMの内部IPアドレスを使用してアクセスできます。コンテナのポートへの着信トラフィックを許可するためにVMのファイアウォールルールを構成する必要がある場合があります。VMインスタンスページで「Internal IP」を確認できます。この内部IPを使って別のSSHターミナルで以下のコマンドを実行できます:
curlが成功すると、dockerコンテナがRoboflowの重みをダウンロードして推論エンジンを準備するトリガーになります。成功した推論はこのようになります:

Google Cloud Runへのデプロイ
gcloud CLIをインストールするには、まずシステムにGoogle Cloud SDKをインストールする必要があります。Google Cloud SDKはGoogle Cloudのウェブサイトからダウンロードできます。SDKをインストールしたら、 gcloud コマンドを使用してgcloud CLIをインストールできます。
Google Cloud SDKのインストール方法はドキュメントで確認できます: https://cloud.google.com/sdk/docs/install
Google Cloud SDKをインストールしたら、お好みのターミナルを開いてRoboflowのDockerイメージを読み込みます。
Dockerイメージを読み込んだ後、認証のために以下を使用する必要があります。 gcloud ターミナルを認証するために使用します。
ターミナルが認証されたら、次を使用できます: docker tag および docker push Roboflowイメージをに取り込むために、 Google Cloud Container Registry.
これで roboflow/inference-server:cpu があなたのにアップロードされました。 Google Cloud Container Registry. へ移動します Cloud Run Container Registry内のアップロードしたイメージを使用してサービスを作成します。既存コンテナのセクションで「SELECT」をクリックし、「cpu-inference-server」フォルダに移動して最新のビルドを選択します。

「Authentication」の下で「Allow unauthenticated invocations」ボタンにチェックを入れて、サービスをオープンなAPIとして実行できるようにします。「Container, Connections, Security」セクションを展開して「Container port」番号を 9001.

ページ下部までスクロールして「CREATE」をクリックします。これによりサービスへdockerコンテナがダウンロードされ初期化が実行されます。ビルドが成功するとサービス名と緑のチェックマークが表示され、サービスが正常にビルドされコンテナが実行されたことを示します。

開きたいサービスの名前をクリックしてCloud Runサービスを開きます。ここでは「cpu-inference-server」サービスを開きます。開いたらサービスのURLをコピーします。サービスURLは次のようになります: https://cpu-inference-server-njsdrsria-uc.a.run.appこのサービスURLがあれば、curlリクエストを実行してRoboflowモデルを使用するために必要なすべてが揃っています。
curlリクエストを実行するには、ターミナルを開いて以下のbase64コマンドを使用します:
base64 your_image.jpg | curl -d @- "https://[Service_URL]/[MODEL_ID]/[VERSION]?api_key=[YOUR_API_KEY]"
タイル処理による大きな画像の取り扱い
場合によっては非常に大きな画像で推論する必要があり、その場合精度が大幅に低下することがあります。このような場合は、推論サーバーに画像を小さなタイルに分割してから推論を実行させることで精度を向上させたいでしょう。
指定したピクセル幅と高さでタイル処理するには、ピクセル寸法を含むクエリパラメータで推論サーバーにcurlする必要があります。そのピクセル寸法を幅と高さのタイル作成に使用します。クエリパラメータは次のようになります: &tile=500。これにより推論を実行する前に画像が500x500ピクセルのタイルに分割されます。
完全なcurlリクエストの例:
Last updated
Was this helpful?