[應用] 預訓練模型庫 PaddleHub 快速實現 AI
什麼叫「預訓練模型」?現在的科技巨擘本身擁有海量的數據以及大型算力系統,他們事先透過這些大量的數據集訓練神經網路模型,這樣所獲得的模型結果可稱為 預訓練 ,不過生成的模型算是一種通用的模型。比如一個分類的模型,大量被標註的數據集輸入到網路模型經過訓練後,這樣的預訓練模型或許能做到分類工作,但不見得能做得特別精準。所以說它只是一種通用模型,如果想要讓它分類更精準,那就得用自己的數據集再做 fine tune 進行模型參數的微調。 在百度的 PaddleHub 平台上 https://github.com/PaddlePaddle/PaddleHub 提供不少預訓練的模型庫,底下圖一列出了部分網路模型。百度本身擁有不少數據集,適合拿來預先訓練各類網路模型,像是人體關鍵點檢測用到 ResNet50 的模型,目標檢測用到 YOLOv3 模型做訓練,我們身為初學者可以直接拿這些模型庫來做測試,基本上都有不錯程度的效果。不過,如果要針對某特定領域做檢測,可能會覺得精準度還不足。 圖一:PaddleHub 提供的預訓練模型庫 如何使用 PaddleHub?舉圖像分割為例,在 python 環境下,呼叫下面的粗體字函數。先載入模型名稱後,再調用分割的函數。 import paddlehub as hub module = hub. Module (name= "deeplabv3p_xception65_humanseg" ) res = module. segmentation (paths = [ "./test.jpg" ], visualization= True , output_dir= 'humanseg_output' ) 底下是人臉辨識模組, module = hub. Module (name= "ultra_light_fast_generic_face_detector_1mb_640" ) res = module. face_detection (paths = [ "./test.jpg" ], visualizatio...