深度学习迁移学习方法的妙用(有效提升准确率)专栏

由于我们的数据集的文件名是以type.num.jpg这样的方式命名的,比如cat.0.jpg,但是使用Keras的ImageDataGenerator需要将不同种类的图片分在不同的文件夹中,因此我们需要对数据集进行预处理。这里我们采取的思路是创建符号链接(symbollink),这样的好处是不用复制一遍图片,占用不必要的空间。

我们可以从下面看到文件夹的结构,train2里面有两个文件夹,分别是猫和狗,每个文件夹里是12500张图。├──test[12500images]├──test.zip├──test2│└──test->../test/├──train[25000images]├──train.zip└──train2├──cat[12500images]└──dog[12500images]1.2分割训练集和测试集合这部分工作不再赘述。

迁移学习是一个很有意义的技术,它能够直接利用一个身经百战的模型脑子里的知识来学习新的数据集,达到与之前相当、甚至比之前的模型还好的表现。

在Imagenet数据集上预训练过的权重,靠近输入的那几层卷积层一般都是识别各种边缘信息或者颜色信息,除非是与Imagenet差异非常大的数据集。VGG16是一个很经典的模型,它的特征提取部分只使用了3×3的卷积核,以及2×2的池化层。在它之前很多人都认为巻积核要比较大才能识别更大的区域,不过根据计算可以知道,两个卷积核大小为3×3的卷积层可以有效覆盖5×5的区域,同时还可以减少计算量,以及增加非线性能力,这也是VGG系列模型的核心思想,就是减小卷积核,加深网络,如图9-3所示。

VGG的名字来自于VisualGeometryGroup,这是牛津大学的一个实验室。他们发的论文标题也很直接:VeryDeepConvolutionalNetworksforLarge-ScaleVisualRecognition,意思是用于大规模视觉识别的非常深的卷积神经网络。

融合模型的方法很简单,首先将特征提取出来,然后拼接在一起,构建一个全连接分类器训练就可以了模型融合能够提高成绩的理论依据是,有些模型辨认猫准确率高,有些模型辨认狗准确率高,给这些模型不同的权重,让它们能够取长补短,综合各自的优势。为了能够更好地融合模型可以提取特征进行融合,这样会有更好的效果,弱特征的权重会越学越小,强特征会越学越大,最后得到效果非常好的模型。

THE END
1.自制PascalVOC2007格式猫狗大战(dogsvsVOC猫狗数据集 VOC_cat_dog-dataset.zip VOC猫狗数据集,从VOC数据集中提取得到,可以用于猫狗检测 数量:3947 标签格式: txt和xml 类别:cat 、dog 上传者:weixin_51154380时间:2022-04-09 SSD-Caffe models_VGGNet_VOC0712Plus_SSD_512x512.tar.gz ...https://www.iteye.com/resource/weixin_44697100-11300158
2.基于Keras实现Kaggle2013【下载数据集】 下载链接--百度网盘 关于猫的部分数据集示例 关于狗的部分数据集示例 【整理数据集】 将训练数据集分割成训练集、验证集、测试集,目录结构如图所示: 在Pycharm中新建项目,创建split_dataset.py import os, shutil# 数据集解压之后的目录original_dataset_dir = 'D:\kaggle\dogsvscats\\train'# ...https://www.imooc.com/article/44038/
3.猫狗之争:从进化角度看猫科比犬科更好一直以来,“猫和狗哪个更好”这一问题将动物爱好者划分为两大阵营。现在科学家已经证实猫确实比狗更好——至少从进化的角度来看是这样。 A groundbreaking study of 2,000 ancient fossils reveals that felids – the cat family – have historically been much better at surviving than the "canid" dog clan...http://language.chinadaily.com.cn/2015-09/21/content_21933270.htm
1.深度学习猫狗分类模型建好后如何对模型进行验证数据集划分:通常,我们将数据集分为训练集、验证集和测试集。在本例中,假设我们已经使用Kaggle的猫狗数据集,并将其划分为60%的训练集、20%的验证集和20%的测试集。 导入所需库: importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromsklearn.metricsimportconfusion_matrix,classification_reportimporttensorflo...https://blog.51cto.com/u_16175494/12585534
2.数据集目标检测系列数据集-目标检测系列- 人与猫互动 猫 检测数据集 cat in the house >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 贵在坚持! 数据样例项目地址: * 相关项目 1)数据集可视化项目:gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview ...https://blog.csdn.net/weixin_42140236/article/details/143912623
3.基于TensorFlow的猫狗识别CNN代码技术栈: 采用Python编程语言,基于TensorFlow深度学习框架。模型结构: 使用CNN设计架构,高效地提取图像特征以区分猫狗。数据集: 需自行准备或使用公开的猫狗图像数据集,原项目未附带具体数据。运行环境: Linux系统推荐,确保兼容性和性能。快速上手: 下载后,调整文件路径即可尝试运行,适合快速原型验证或教学目的。 https://www.kuazhi.com/post/715685363.html
4.第T8周:Tensorflow实现猫狗识别(1)# ['cat', 'dog'] ###end output### # 检查一下数据 for image_batch, labels_batch in train_ds: print(image_batch.shape) print(labels_batch.shape) break # ###output### # (8, 224, 224, 3) ---每一批8张图片,长224,宽224,RGB彩色通道(3) # (8,) --- 标签就是一批8张图片的标...https://www.miaokee.com/2788279.html
5.whatisvs.zip码农集市源码下载平台《WhatIs: 向量检索与RAG实践:技术、实现与应用》深入探讨了基于向量的文本理解和信息检索技术,如基于词嵌入的相似度计算和用于生成问答系统(RAG,Retrieval-Augmented Generative Models)的混合方法。它详细解析了技术原理,如Word2Vec或BERT等模型的使用,以及如何整合检索模型与生成模型提升回答准确性和效率。书中还涵盖了...https://code.coder100.com/index/index/content/id/165203
6.python如何识别猫狗?对狗和猫的照片进行分类(准确率为97%)Dogs vs. Cats 数据集是一个标准的计算机视觉数据集,涉及将照片分类为包含狗或猫。 python如何识别猫狗?尽管这个问题听起来很简单,但直到最近几年才使用深度学习卷积神经网络有效地解决了这个问题。在有效解决数据集的同时,它可以作为学习和实践如何从头开始开发、评估和使用卷积深度学习神经网络进行图像分类的基础。 https://www.lsbin.com/7087.html
7....mlnddogsvs项目来源于 kaggle 在 2013 年组织的一场比赛,它使用25000张(约543M)猫狗图片作为训练集,12500张(约271M)图片作为测试集,数据都是分辨率400x400左右的小图片,目标是识别测试集中的图片是猫还是狗。赛题网址:https://www.kaggle.com/c/dogs-vs-cats。 https://github.com/midas-gufei/udacity-mlnd-dogs-vs-cats
8.深度学习图像识别技术:基于TensorFlowObjectDetectionAPI和...第一步,注册Kaggle账户。从https://www.kaggle.com/account/login?phase=startRegisterTab进入Kaggle账户注册网页,根据提示注册账户。注册完Kaggle账户后,可以直接进入猫狗数据集下载页面https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition/data,单击Download All按钮下载全部数据集,如图3-7所示。 https://fanqienovel.com/reader/7109745732256533535
9.Python机器学习之基于Pytorch实现猫狗分类python看了许多关于PyTorch的入门文章,大抵是从torchvision.datasets中自带的数据集进行训练,导致很难把PyTorch运用于自己的数据集上,真正地灵活运用PyTorch,本文详细介绍了怎么利用Pytorch实现猫狗分类,需要的朋友可以参考下+ 目录 一、环境配置 安装Anaconda 具体安装过程,请点击本文 配置Pytorch 1 2 pip install -i https:...https://www.jb51.net/article/214392.htm
10.Dogsvs.CatsKaggleCreate an algorithm to distinguish dogs from catshttps://www.kaggle.com/c/dogs-vs-cats
11.小试牛刀:猫狗识别CatVSDog小试牛刀:猫狗识别 Cat VS Dog 技术标签:CatVsDog深度学习tensorflow分类 查看原文 JAVA系列:final、static关键字的使用注意事项 目录static小试牛刀1小试牛刀2小试牛刀3 final 在编译时就能确定的值,属于编译时常 final修饰的常量,不会触发类的初始化 final修饰的是在编译时不能确定值,只有在运行时才能确定的值,...https://www.pianshen.com/article/3880175041/
12.利用CNN进行猫狗分类竞赛介绍:Kaggle Dogs vs. Cats (https://www.kaggle.com/c/dogs-vs-cats) 要点: 1. 用kaggle API下载数据后,train文件夹下的猫狗图片须分别归入2个文件夹,即cat和dog,否则flow_from_directory会报错 2. 由于该竞赛项目已经结束,本示例没有对test文件夹下的图片进行分类,而是用train文件夹下的图片进行训练...https://www.jianshu.com/p/16883e70d389