神经网络相关代码分享

如何学习深度学习,网上有各种各样的言论,但我比较推崇的是先撸一遍书,不求你都懂,实在不懂的可以暂时略过。这个过程主要是在脑海里形成一个全局概念,这里主要推荐西瓜书,和花书。当然看书对于某些人来说比较困难,也可以辅助的看视频,视频主要推荐吴恩达的机器学习和深度学习,斯坦福的cs231n等。看完之后开始上手写程序或者做项目,在项目或者程序中,在去巩固一些知识点,或者将之前不会的地方仔细研究一下。但是要从头到尾去写一个大的程序或者大的项目,对于初学者是比较困难的。这时比较方便且快捷的方法是我们需要去学习一下别人的代码,在他人代码的基础上进行修改来完成自己的项目。这样可以缩短自己的项目周期,使我们有更多时间去干一些更重要的事情。

如何去搜索别人的代码呢,首选是github,但在你使用关键词搜的时候会出现很多个代码,想要从中找出一个适合自己的,我或者直接上手能用的代码又需要花费很长时间。所以这里,为了节省大家时间,把自己的一些代码分享出来,希望对各位朋友有所帮助。这些代码是经过我的修改,有的也是我自己写的,都是基于keras编写的,且tensorflow的版本小于1,如果是tensorflow2.0则需要修改一些版本问题。下面神经网络的名称,关注“羽峰码字”公众号,回复对应的网络名称,就可以获取相关神经网络代码的百度网盘链接,希望对各位朋友有所帮助。也可以先收藏,之后如果用到,方便查找。今后也会分享其原理以及如何使用这些网络来训练自己的数据集,希望各位朋友多多关注呀。

  1. image class

    应用于图像分类的网络,图像分类集成以下模型:ResNet18、ResNet34、ResNet50、ResNet101、ResNet152、VGG16、VGG19、InceptionV3、Xception、MobileNet、AlexNet、LeNet、ZF_Net、DenseNet、mnist_net、TSL16等,还包含少量猫狗数据集。若电脑环境配置好,可以直接运行。上手快,内部有完整介绍,可以训练自己的数据集。

  2. U-Net

    传统U-Net网络,可修改数据地址,直接训练自己的数据集。

  3. Res-U-Net

    将传统U-Net网络中每个编码器和解码器替换成ResNet网络结构,可修改数据地址,直接训练自己的数据集。

  4. Dense-U-net

    将传统U-Net网络中每个编码器和解码器替换成DenseNet网络结构,可修改数据地址,直接训练自己的数据集。

  5. DCGAN

    学习GAN网络的入门基础网络之一,之后的GAN网络大都是借鉴此网络思想。

  6. Pix2pix

    学习GAN网络的入门基础网络之一,之后的GAN网络大都是借鉴此网络思想。主要做的是图像到图像的转换,Pix2pix网络要求提供image pairs,也即是要求提供x和y,整个思路为:从噪声z,根据条件x,生成和真实图片y相近的y‘。条件x和图像y是具有一定关联性的。

  7. CycleGAN

    学习GAN网络的入门基础网络之一,之后的GAN网络大都是借鉴此网络思想。主要做的是两个域之间的转换,CycalGAN不要求提供pairs,因为成对的图像数据集其实并不多。这里的x和y不要求有什么较好的关联性,可以是毫不相干的两幅图像。

  8. SRGAN

    使用GAN网络做超分辨率成像(从其低分辨率(LR)图像估计高分辨率(HR)图像的任务被称为超分辨率(SR))必读的经典之一。

  9. YOLOv3

    做图像中物体检测,主要优点是速度快但检测精度可能不高,之后还有新版本,yolov4,yolov5,但个人认为yolov3是经典之一,如果想做计算机视觉的话,应该必会的一种网络。

  10. Faster RCNN

    做图像中物体检测,主要优点是检测精度高,但速度可能不高,计算机视觉的经典网络之一。

上一篇:深度学习--GAN学习笔记


下一篇:遗传算法就是创造力的本质