如果想對機器學習和深度學習進行學習,我個人建議還是先補充基本的理論知識,可以在b站上搜尋浙大的研究生機器學習課程,其次很多大佬的課程也都可以搜尋到。之後可以在與飛槳配套的學習平台ai studio上進行公開課的學習,從機器學習、深度學習、強化學習到遷移學習都有詳細的公開課訓練營,每天可領取12小時的gpu算力,實操和理論課程相互結合。配套的每日作業和比賽我覺得非常鍛鍊自己的能力。對了,一些常用的資料集我們都可以在ai studio上找到,大部分課程也會針對這些資料集開展教學。
由於自己也是不久前才接觸深度學習這一塊內容,理論部分學習應該反覆不停的去加深理解,在這次訓練營的課程中,最後的ai識蟲競賽,老師建議可以在yolo v3的目標檢測演算法上進行改進,比如說替換backbone骨幹網路,可以是resnet/mobilenet等等,或者使用faster rcnn來克服yolov3演算法對小目標檢測不精確的缺點,能力所限只是初步的了解了提到的網路的工作原理,在想辦法用**實現的時候困難確實很大,所以最後的準確率最高一次也就是77.8,baseline的基礎上提高乙個百分點,看著大佬們的99%感嘆。後續會加深這方面的學習,在下一次訓練營中爭取拿到好的成績。
1.資料融合
下述**僅實現了影象的融合,在資料處理的時候為了統一資料格式,我們把真實框與標籤的列表固定為了50,影象融合後我認為還需要把兩個的真實框和標籤也進行擴充,時間問題不能再競賽之前完成了,留待後續對**進行改進。
### 資料融合
defrandom_mixup
(img, img1, gtboxes, gtlabels, gt_boxes1, gt_labels1)
: alpha =
5 lam = np.random.beta(alpha,alpha)
# 類高斯分布
height =
max(img1.shape[0]
,img2.shape[0]
) width =
max(img1.shape[1]
,img2.shape[1]
) mix_img = np.zeros(shape =
(height,width,3)
,dtype =
'float32'
) mix_img[
:img1.shape[0]
,:img1.shape[1]
,:]= img1.astype(
'float32'
)* lam
mix_img[
:img2.shape[0]
,:img2.shape[1]
,:]+= img2.astype(
'float32')*
(1.- lam)
mix_img = mix_img.astype(
'uint8'
)# mix_gtboxes =
# mix_gtlabels =
return mix_img
2.替換backbone網路,借用了這篇文章的想法ai識蟲分享 (基於yolov3的目標檢測和seresnet的分類矯正)文中提到的object365資料集的預訓練模型,原諒小白還不知道怎麼利用,留待改進,我會很快回來的。還有文中提到的生產者消費者模式執行多程序資料載入,能夠有效的增加訓練速度,需要再去了解。
3.修改**框和錨框的選擇標準,通常我們使用的都是交並比iou的方式,可以參考這篇知乎文章iou、giou、diou、ciou損失函式的那點事兒
百度架構師手把手帶你零基礎實踐深度學習 學習心得
我5年前就接觸ai,深度學習了。我是從事金融量化開發工作的,一直想利用ai來進行量化 當時模型比較簡陋,我做了一些量化方面的ai開發實驗,發現效果真不行。還不如直接自己想策略來實現呢!隨著時間一年一年的過去,人工智慧ai,逐漸成熟。後來發展出很多非常厲害的演算法 模型。我又重新燃起了希望。又開始好好...
百度架構師手把手教深度學習之心得
這讓我認識到paddlepaddle系統的強大。乙個人,只要有心想學習ai,無論處於什麼階段,都可以在paddlepaddle這個百寶箱裡找到適合自己的工具。比如 毫無程式設計經驗的人可以使用paddlex ui 有程式設計經驗,但對ai模型所知不多的可以玩轉paddlehub和paddlex 在學...
paddle百度構架師手把手教深度學習的心得
不知不覺間,半個月快過去啦。哈哈哈 下面讓我來為大家一點一點講解與分析。我的心得!先不說收穫怎麼樣,我直接給大家上圖,大家可以很直觀的看到我的收穫哈哈哈哈!下面正式介紹我的收穫 新手城 初識paddle,我一開始很懵逼,第一次是安裝的cpu版本,然後安裝完之後報錯好多,我傷心欲絕甚至一度以為我的槳槳...