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)

你可能感兴趣的:(机器学习,python,人工智能,深度学习,机器学习)