基于PaddlePaddle的深度学习7日学习入门cv心得体会

深度学习,这个词我很早以前就听说过,也通过各种科普来了解过,但是一直都只是有一些感性的认识,所以当了解百度开展的这个深度学习7日入门课程后,我毫不犹豫的报名了。

先说说这门课的优势。

这门课采用‘录播加直播+答疑群+作业加比赛’的形式展开,这种形式确实可以弥补一般网课的不足:录播加直播而不是只是录播可以有效推动进度,每天完成一点任务,不会像一般网课只是录播而导致对海量课程集数望而生畏;答疑群中每位助教和同学都十分友善,乐于助人,基本上问题都可以在群里得到回答;作业加比赛既可以巩固每天学的知识又可以互相比较,激励自己。

再说说学习内容。

这门课是需要一定的基础的,但是基础在预习课中都有涉及,这体现了课程设计者对同学的关心和考虑的全面。

这门课的核心是学会使用百度自主研发的深度学习框架paddle,我以前只是接触过pytorch,可是我还是想说paddle确实挺好用的,对新手比较友好,但是可能还处于开发阶段,有时候在本地运行会有一些bug,而且这些bug还涉及到c++底层,我也看不懂,所以只能作罢。

第一节课学习使用pyecharts将数据可视化,使用这个库只要将数据处理好格式,然后只要根据要求调整全局设置和样本参数,然后render就可以得到想要的html文件,这个文件包含了远超使用matplotlib.pyplot的信息,但是确定是html文件,想输出图片还要转码。

第二节课学习了用paddle进行简单网络搭建,第三节课学习了卷积网络,第四节课学习vgg网络,我搭建vgg网络的过程中也遇到了问题,首先是如果我将卷积和池化定义一个类,在生成网络的时候用for循环来产生网络就会出现那种error提示很长的bug,其次如果全连接层有4096的话,内存不够,所以我只能减半。

第五节课学习了paddlehub使用,这个库可以很方便的调用经典网络但是在本地运行时会出现bug。

比如:windows not support stack backtrace yet.

第六节课学习了使用paddleslim来对网络进行调整。

学习过程中常见的bug

刚刚上手最常见的就是定义的网络输入输出与你真实的输入输出不符合,可以在每层输入计算的地方加上print来观察调整。这个也可能出现很长的报错提示。

文件夹或文件有中文名,那将其改成英文。常常是没有读入,所以是nonetype。

第三个就是训练的过程中可能会有loss动荡之类的问题,这时候应该改变batchsize更大或者更小,然后优化器推荐sog,用adam经常不收敛。

涉及底层代码的bug,经常是错误中指出你哪一行代码错误,然后错误深入到了我看不见的库的底层,这种我也不知道怎么办。

最后我提一点小建议:希望vgg这个网络的作业请写的好的同学介绍一下他的写法遇到的问题,怎么想的,看看从初学者的角度怎么将网络构建好;有个hint,就是第二天的作业前面花一点篇幅介绍一下昨天的网络怎么提高精度和泛化性,并且展示一下老师的模型的效果。

你可能感兴趣的:(learn,experience)