簡體   English   中英

使用Tensorflow ssd_mobilenet_v1_android_export.pb模型轉移學習

[英]Transfer learning with Tensorflow ssd_mobilenet_v1_android_export.pb model

我想讓Tensorflow Android演示應用程序之一的TF Detect,僅在相機框架中識別出一組受限的自定義對象(例如蘋果,梨,橙子和香蕉),並在識別出的對象周圍繪制框。

遵循TensorFlow-for-poets編碼實驗室,我已經成功地重新訓練了mobilenet_v1_0.50_224模型,並且我已經成功替換了另一個TensorFlow演示應用程序TF Classifier中使用的原始tensorflow_inception_graph.pb模型。 它似乎有效。

更新 :實際上,在第一次成功運行之后,由於以下異常,我無法運行任何其他經過重新訓練的模型:*不是有效的TensorFlow Graph序列化:NodeDef在Op輸出中未提及attr'膨脹':T; attr = T:type,allowed = [DT_HALF,DT_FLOAT]; attr = strides:list(int); attr = use_cudnn_on_gpu:bool,默認= true; attr = padding:string,allowed = [“ SAME”,“ VALID”]; attr = data_format:string,default =“ NHWC”,allowed = [“” NHWC“,” NCHW“]>; NodeDef:conv / Conv2D = Conv2D [T = DT_FLOAT,data_format =“ NHWC”,膨脹= [1、1、1、1],填充=“ VALID”,步幅= [1、2、2、1],use_cudnn_on_gpu = true](Mul,conv / conv2d_params)。 (檢查您的GraphDef解釋二進制文件是否與生成GraphDef的二進制文件最新。)

為表示這個問題已經解決了這里 *

但是當涉及到TF Detect時,事實證明它使用了ssd_mobilenet_v1_android_export.pb模型。 該圖似乎與TF分類器中使用的圖完全不同(例如,輸入和輸出節點不同且具有固定名稱:輸入是“ image_tensor”,輸出是“ detection_scores”,“ detection_boxes”,“ detection_classes”和“ num_detections” ”),我不確定是否可以像TF分類器中使用的模型一樣通過轉移學習來對其進行重新培訓。

是否可以,如果可以,如何進行?

您需要通過SSD,YOLO或Tensorflow對象檢測API訓練模型,以將模型用於TF檢測。 該模型不同於用於TF分類的模型(該模型可以由Keras訓練,但是TF檢測模型不能。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM