- 博客(24)
- 收藏
- 关注
原创 级联网络如何锁住训练
实际任务中,往往会需要多步训练,或者将两个网络拼成一个网络,那么将新的小模型拼接在已经训练好的主干网络上训练,如何做到只训练新支,而不破坏原主干网络已经训练好的weight,这就需要锁住训练,保证网络只更新新支的weight。锁住训练需要三步:1、将需要锁住的层的w和b的学习率lr_mult设置为0;将该层的学习率置0,只是固定了该层的参数,即该层的参数将不更新,该层得到的梯度依然会反...
2018-09-13 15:17:13
1230
转载 为什么depthwise convolution 比 convolution更加耗时?
参考自:https://www.zhihu.com/question/265434464/answer/306493409 首先,caffe原先的gpu实现group convolution很糟糕,用for循环每次算一个卷积,速度极慢。第二,cudnn7.0及之后直接支持group convolution,但本人实测,速度比github上几个直接写cuda kernel计算的dw co...
2018-08-07 11:33:48
9769
原创 caffe特殊层:permute\reshape\flatten\slice\concat
1、permutepermute是SSD特有的层,功能类似于np.swapaxes;相当于交换caffe_blob中数据的维度,如图2、reshape只改变输入数据的维度,内容不变。(变形而已)3、flatten将多维数据拉成向量:Flatten层是把一个输入的大小为n * c * h * w变成一个简单的向量,其大小为 n * (c*h*w)。当Reshape层的...
2018-08-07 11:31:18
9436
原创 shuffleNet V2
论文出发点:旨在设计一个轻量级但是保证精度、速度的深度网络分析当前:1、直接用FLOP来衡量算力,不够准确。因为不同的网路,即使参数量相同(模型大小相同),但是模型速度还是存在差异。改为直接用速度(speed)来衡量2、直接影响速度的因素,首先MAC,比如分组卷积,需要强大的算力对设备GPU是个挑战;其次并行度。因此,设计网络需要考虑:speed和platform同时提出4条设...
2018-08-07 11:15:57
5582
原创 clcNet: Improving the Efficiency of Convolutional Neural Network using chanel local convolution
论文核心:1、提出通道关系依赖图CDG,适合分析CRF2、提出CRF通道感受野,试图通过分析CRF来达到FCRF进而方便设计卷积块conv block3、提出交错分组卷积3x3的IGC+1x1的GC 卷积块结构,满足FCRF。4、设计了clcNet轻量型网络 总结:clc结构类似于mobilenet v1的dw-pw结构的优化,保证了FCRF且减少了参数量:参数量就...
2018-08-07 11:06:34
756
原创 用VS+CImg+IPP部署image processing的C++工程
用VS+CImg+IPP部署image processing的C++工程在图像处理方面,Intel IPP 库(付费)提供了较为全面的支持; 而开源的CImg库是一个跨平台的C++图像处理库,提供了加载、处理、显示、保存等一系列图像处理功能。由于CImg库是开源的,所以代码不可避免的存在一些未优化甚至是错误,而付费的intel IPP库是intel的加速库,集成了多种高性能操作,使用IPP库主
2017-06-23 16:25:37
834
原创 C++ vector删除指定元素
当vector容器里装的对象不是普通数据类型,而是自定义数据类型时,此时删除指定对象的方法见如下代码示例:struct roi{ int width; int height;};int main(){ vector iVec; roi r1; for( int i= 1; i< 10; i++) { r1.width = i; r1.height =
2017-06-14 16:40:09
1324
原创 图像处理: 灰度化,二值化,反色
灰度化 (grayscale)将彩色图像转化为灰度图像的过程称为图像灰度化。彩色图像中的像素值由RGB三个分量决定,每个分量都有0-255(256种)选择,这样一个像素点的像素值可以有1600万种可能(256*256*256),而灰度图的像素点的像素值是RGB三个分量值相同的一种特殊的彩色图像, 只有256种可能。所以在图像处理中,往往将各种图像首先灰度化成灰度图像以便后续处理,降低计算量。灰
2017-06-12 10:35:39
26320
1
原创 科目三考试总结--附送马陆驾校考点路线图
【科三考试攻略--上海嘉定马陆考点】总结注意事项:科三一档二档没有距离要求,所以全程整体在二档完成!只有直线行驶、加减档操作、五档会有345档,掉头在一档完成。听到任何指令,有灯光操作的务必先灯光做到位!变道灯,指令完成后,如果没有复原变道灯,务必手动复原!加到5档操作要稳住,切勿压线。直行通过路口,切勿加速20迈之上,绿灯闪的时候还有时间通行,绿灯连续闪的时候保守起见挂一档停在斑马线前。路况发生...
2017-06-05 13:18:05
8963
原创 文件路径中的/,\和\\的区别
1、C程序文件路径用双斜杠//因为反单斜杠\在C/C++/C# 中是转义前导字符,例如 \n 代表换行。为了避免歧义,路径中的\必须用//。2、Windows的路径中用反单斜杠\,unix路径中用单斜杠/。DOS 有一个传统是用斜杠(“/”)表示命令行参数,比如:cd %SystemDrive%dir /s /b shell32.dll在 UNI
2017-05-25 14:55:50
237696
原创 C++ 自己实现的一个testSuite 框架
1、基类(需要在派生类中覆盖的函数定义成virtual虚函数)2、派生类(重载基类的虚函数)3、Suite类(vector容器,实例化每一个派生类,使其执行派生类重载的函数,而不是基类的虚函数)
2017-05-19 13:03:01
967
原创 C++ 指针的malloc、memcpy和 free
malloc和free必须成双成对的出现,一般给对象malloc了内存空间,memcpy内存拷贝向空间中写内容,最后待空间使用结束后务必free掉分配的空间,否则会出现内存leak
2017-05-17 22:56:13
4937
原创 C++高精度计时
C++用 QueryPerformanceFrequency 和 QueryPerformanceCounter 进行高精度计时
2017-05-15 22:36:03
1674
原创 C++类模板
1、类模板、类模板中含有成员模板首先看例子:test.h文件#ifndef TEST_H#define TEST_H//定义类模板基类,还是普通类的成员模板?templateclass baseclass {public: baseclass(){}; ~baseclass(){}; void setA(T n); T getA(); template void
2017-05-15 19:24:01
236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人