numpy矩陣tranpose效率分析

hi,大家好,這裏是小董。好久沒寫博客了QAQ

就在昨天,Maixhub目標檢測(自動標註)上線啦。使用指南:https://www.bilibili.com/video/BV14D4y1D7S3?zw

目前發現訓練耗時還是比較長,經過對各個模塊的run time print。發現主要是在numpy,transpose,reshape的地方耗時比較長,長達8s,如果按照100 epoch來算的話,時間開銷差不多到15分鐘了QAQ。不過,好在,有前輩也遇到過這個問題。我目前也是有了一定的思路去優化這個部分的代碼。

等弄好再來分享經驗吧。

今天早上抽時間優化了下這部分代碼,最後速度快了一倍左右,還是比較舒服的。

原來我採用的是 list to array的方法,進行矩陣拼接,經過測試,這種方法效率很低。

前段時間,偶然看到了一篇博客,文中說如上方法效率很低。於是我便換了一種更加符合簡單邏輯的思路:numpy to numpy
代碼如下:

            box_array_0 = np.array(box_list3).reshape(1,5)
            box_array_0 = box_array_0[np.newaxis,:,:]
            img_data_one_0 = img_pad[np.newaxis,:,:,:]
            #矩陣拼接
            if(load_tfrecord_num == 0):
                img_data_array = img_data_one_0
                box_array = box_array_0
            else:
                img_data_array = np.concatenate((img_data_one_0,img_data_array),axis=0)
                box_array = np.concatenate((box_array_0,box_array),axis=0)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章