识别动漫图片的神经网络构建
来源:互联网 发布:车机软件 编辑:程序博客网 时间:2024/04/30 20:35
首先,利用百度抓来的图片,分为训练集和测试集
训练集:动漫图片8168张,非动漫图片9906张。
测试集:动漫图片1785张,非动漫图片1984张
使用cifar10的分类神经网络,按照“动漫”0,“非动漫”1进行训练网络。
每批次60个数据,训练了20000批,发现正确率的评估结果约为0.46…
什么鬼。。。测试集中动漫图片占得比例为 1785/(1785+1984) = 0.473。。。
把输出结果logits打印出来,发现logits基本上是[-0.09, 0.09]…这样的数据,难怪正确率与比例差不多。。。
修改为网络结构,把原来的local3层换成conv3卷积层,并对conv3的结果pool,输出一个[60, 3, 3, 64]的张量到local4,后面的结构跟之前的都一样。跑了一会儿,发现conv3层的稀疏率接近为1了。。。网络结构有问题。
继续修改网络结构。原来的数据张量使用[32, 32, 3],不进行randomCrop了,同时,去掉了conv2后面的pool层。结果,训练速度降低了,每批次耗时是之前的三倍左右,conv3的稀疏性很快跳到了0.96,conv1和conv2的稀疏性很不稳定,total_loss有所下降。是不是卷积层太多了呢,去掉conv3试试,
去掉了conv3,现在网络结构是input(32*32*3)->conv1->conv2->local3->soft_linear
训练速度是cifar的2倍左右,看来网络“宽度”对训练速度的影响很大。
前200步中,conv2的稀疏率直奔0.9375,并维持不变,到了400步,才慢慢的以抛物线的形式下降到0.55…好奇怪,在1400步之后慢慢开始回升。
我哭着看到我的评估的正确率从0.46下降到0.22…什么鬼,怎么比0.47低这么多!!!
不过结果你应该猜到了,我测试集的标签搞反了 O.O,也就是说,正确率大概升到了0.78左右。
把测试集的标签改回来,正确率已经变为0.779了。
再看一下conv1和conv2的稀疏率,已经分别慢慢回升到0.72和0.92左右。
跑了大概两万批次,成功率维持在0.79左右。
代码地址:https://github.com/xiang2017/AnimPicker.git
ImageHand文件夹下是用来抓取图片的工具
AnimPicker文件夹下是CNN的代码。
- 识别动漫图片的神经网络构建
- 构建多层感知器神经网络对数字图片进行文本识别
- 构建多层感知器神经网络对数字图片进行文本识别
- keras/构建卷积神经网络识别mnist
- keras/构建卷积神经网络人脸识别
- tensorflow1.1/构建双向神经网络识别mnist
- keras构建卷积神经网络识别cifar10
- tensorflow1.1/构建卷积神经网络识别文本
- CTF-实验吧-图片里的动漫
- 基于DCGAN的动漫头像生成神经网络实现
- tensorflow1.1/构建深度卷积神经网络识别物体识别
- 使用CNN神经网络进行图片识别分类
- 神经网络的图像识别系统
- tensorflow1.1/构建卷积神经网络识别手写数字
- tensorflow1.1/构建卷积神经网络人脸识别
- 实验吧安全杂项--图片里的动漫
- 汐月教育之理解TensorFlow(三.1)构建简单的BP神经网络+softmax多分类进行MNIST识别
- 使用浅层神经网络识别图片中的英文字母
- 买不起NAS,用硬盘也可以玩起来
- Git 恢复被删除的文件
- 一个Android studio 编译的问题
- Javaweb微专业第十四讲-----I/O流
- 如何查看HTTP请求头
- 识别动漫图片的神经网络构建
- [BZOJ2806][Ctsc2012][后缀自动机][队列优化][DP]Cheat
- print支持输出重定向到文件
- 贝叶斯网络
- 大数相加
- HTML5能否撼动给移动应用的地位?
- 1058. A+B in Hogwarts (20)
- C# WinForm开发系列
- 新生产线投产运营 三星手机超薄屏产能将显著提升