实验3:卷积神经网络图像分类


本次实验将完成以下任务:

  • 按照 python笔记本深度学习,利用TensorFlow和Keras,自己搭建卷积神经网络完成狗猫数据集的分类实验;将关键步骤用汉语注释出来。解释什么是overfit(过拟合)?什么是数据增强?如果单独只做数据增强,精确率提高了多少?然后再添加的dropout层,是什么实际效果?
  • 用Vgg19网络模型完成狗猫分类,写出实验结果;

1 理解卷积神经网络

1.1 搭建环境

首先,检查一下anaconda的版本号,随后创建名为tensorflow的conda环境

conda  --version  //检查Anaconda版本号(安装失败则会提示)
conda create -n tensorflow pip python=3.6  //创建名为tensorflow的conda环境

在这里插入图片描述
创建好后,输入activate tensorflow激活环境,如果出现前缀则激活成功
在这里插入图片描述
在进入环境的条件下下载Tensorflow的纯CPU版

pip install --ignore-installed --upgrade tensorflow

在这里插入图片描述
退出后查看环境,能够看到tensorflow就算成功
在这里插入图片描述
安装keras

pip install keras

在这里插入图片描述

将环境改为刚才创建的tensorflow,再安装一个jupyter(需要一点时间)
在这里插入图片描述

PS:可以在刚才的控制台中添加如下库,添加jupyter_contrib_nbextensions插件

功能:自动补全代码功能+pep8+字体大小+代码行号+拼写检查+目录索引等功能

pip install jupyter_contrib_nbextensions -i https://pypi.douban.com/simple/
jupyter contrib nbextension install --user --skip-running-check

在这里插入图片描述
勾了一个hinterland,代码自动补全
在这里插入图片描述

1.2 猫狗分析实例

回归题目,新建一个Python3后,引入keras包,查看版本(主要看是否下载成功)
在这里插入图片描述
添加如下代码(注意自己训练图片的地址和创建文件夹的地址)

import os, shutil #复制文件
# 原始目录所在的路径
# 数据集未压缩
original_dataset_dir = 'D:\\QQ\\kaggle_Dog&Cat\\train'

# The directory where we will
# store our smaller dataset
base_dir = 'D:\QQ\kaggle_Dog&Cat\\find_cats_and_dogs'
os.mkdir(base_dir)

# # 训练、验证、测试数据集的目录
train_dir = os.path.join(base_dir, 'train')
os.mkdir(train_dir)
validation_dir 
  • 0
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络是一种用于图像分类的深度学习模型。它通过多个卷积层和池化层来提取图像的特征,并通过全连接层进行分类。卷积神经网络的发展历程可以追溯到LeNet-5模型,它是最早用于手写数字识别的卷积神经网络模型。随后,AlexNet模型在ImageNet图像分类竞赛中取得了巨大的成功,引领了卷积神经网络的发展潮流。之后,VGGNet、GoogLeNet和ResNet等模型相继提出,不断优化和改进了卷积神经网络的结构和性能。这些模型通过增加网络的深度、使用更小的卷积核和引入残差连接等方法,取得了更好的图像分类结果。 为了避免过拟合问题,卷积神经网络采用了一些方法。其中,数据增广是一种常用的方法,通过对训练图像进行一系列的变换和扩充,增加了训练数据的多样性。另外,Dropout是一种有效的正则化方法,它在训练过程中随机地将一部分神经元的输出置为0,从而减少了神经网络的复杂性,防止过拟合。 尽管深度神经网络在理论上有更好的性能,但实际上,随着网络的加深,训练集准确率可能会下降。这是因为网络的深度增加会导致梯度消失或梯度爆炸的问题,使得网络难以训练。因此,并不是网络越深越好,需要在网络的深度和性能之间进行权衡和调整。 总结来说,卷积神经网络是一种用于图像分类的深度学习模型,它通过多个卷积层和池化层提取图像特征,并通过全连接层进行分类。在发展过程中,不断优化和改进的卷积神经网络模型取得了显著的性能提升。为了避免过拟合问题,卷积神经网络采用了数据增广和Dropout等方法。同时,需要权衡网络的深度和性能,以克服梯度消失或梯度爆炸的问题。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [用于图像分类的经典的卷积神经网络CNN](https://blog.csdn.net/ch18328071580/article/details/94960064)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值