用網絡計算橋進行機器學習 Machine Learning with the Network Compute Bridge

前言大綱

網絡計算橋允許您將計算卸載到網絡上的另一台計算機。 例如,您可能希望將深度神經網絡調用卸載到雲中的服務器。

例子:

tensorflow_server.py:處理在 Spot 圖像數據上運行 Faster R-CNN TensorFlow 模型的請求。

向 Spot 目錄服務註冊網絡計算橋工作器

處理網絡計算查詢並在圖像或圖像源輸入上執行 TensorFlow 模型

可以輕鬆重新配置以運行其他 TensorFlow 對象檢測模型

identify_object.py:使用 TensorFlow 模型請求對圖像進行識別。

客戶端請求一個圖片源,比如 frontleft_fisheye_image

機器人拍攝圖像,旋轉它以與地平線對齊,並將其發送到運行 tensorflow_server.py 的服務器。

結果返回給客戶端。 如果邊界框內的深度數據可用,則機器人將深度添加到結果中。

系統圖


安裝

服務器

這些示例需要安裝 bosdyn API 和客戶端,並且必須使用 python3 運行。

tensorflow_server.py 示例需要安裝 TensorFlow。 您可以通過以下方式安裝其依賴性:
For non-GPU installations:

python3 -m pip install -r requirements_tensorflow_server_cpu.txt

For CUDA / NVIDIA GPU installations:

python3 -m pip install -r requirements_tensorflow_server_gpu.txt

NVIDIA 驅動程序和 CUDA 的安裝不在本文檔的範圍內。 有許多可用的教程,例如 本教程

客戶

客戶端示例 ( identify_object.py ) 不需要 TensorFlow:

python3 -m pip install -r requirements_client_only.txt

執行

要運行此示例,請首先啟動服務器並將其定向到您的 Spot:

python3 tensorflow_server.py --username <USERNAME> --password <PASSWORD> -d <MODEL DIRECTORY> <ROBOT ADDRESS>

USERNAMEPASSWORD 是您的 Spot 用戶憑據。

MODEL DIRECTORY 是包含要託管的 TensorFlow 模型的目錄的路徑。

ROBOT ADDRESS 是您的 Spot 的 IP 地址或主機名。

可以在此處獲取示例模型目錄:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1_detection_zoo.md。 例如,使用來自 faster_rcnn_inception_v2_coco 模型的 frozen_inference_graph.pb 文件來檢測相機圖像中的人物。

要將數字標籤與名稱相關聯,用戶可以選擇在模型目錄中提供具有匹配文件名的 CSV 文件,例如 frozen_inference_graph.csv,格式如下:

apples,1
oranges,2
其中 1 和 2 是 TensorFlow 模型檢測的可能標籤輸出,apples oranges 是它們各自的語義名稱。 tensorflow_server.py 示例輸出指示是否已加載 CSV 以將標籤值與名稱相關聯。

上面描述的 Faster R-CNN 模型的示例 CSV 文件作為 frozen_inference_graph.csv 包含在此目錄中。

啟動 tensorflow_server.py 後,用戶可以使用 identify_object.py 客戶端示例向其發布請求。 要使用上述示例服務器和模型運行此示例,請運行:
python3 identify_object.py --username  --password  --service   --model  

For example:

python3 identify_object.py --username  --password  --service tensorflow-server --confidence 0.5 --model frozen_inference_graph --image-source frontleft_fisheye_image 

請注意,USERNAME PASSWORD 是您的 Spot 用戶憑據。

故障排除

確保您的防火牆允許指定端口上的流量(默認值:50051)。


參考資料

特色、摘要,Feature、Summary:

關鍵字、標籤,Keyword、Tag:

留言

這個網誌中的熱門文章

Ubuntu 常用指令、分類與簡介

iptables的觀念與使用

網路設定必要參數IP、netmask(遮罩)、Gateway(閘道)、DNS

了解、分析登錄檔 - log

Python 與SQLite 資料庫

Blogger文章排版範本

Pandas 模組

如何撰寫Shell Script

查詢指令或設定 -Linux 線上手冊 - man

下載網頁使用 requests 模組