- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PyTorch深度学习项目教程提升猫狗图像分类的准确率CONVOLUTIONALNEURALNETWORK要点:监督学习、分类任务、多层感知机、数据增强
项目背景ProjectBackground问题:项目3完成猫狗图像分类项目框架的搭建,但是其分类的准确率仅有69%,一般在实际应用场景中,准确率需要达到95%以上。解决:为了提高图像分类的准确率,一种名为卷积神经网络(ConvolutionalNeuralNetwork,CNN)的网络结构被提出来,通过在网络中使用卷积层(ConvolutionalLayer)、池化层(PoolingLayer)和全连接层(FullyConnectedLayer)来自动学习图像中的空间层次特征。由于其准确性和易用性,迅速成为深度学习中应用广泛的架构之一。知识目标KnowledgeObjectives深入理解卷积神经网络(CNN)的基本概念、结构和原理学习卷积层、池化层和全连接层的功能,以及它们在图像特征提取中的作用学习不同经典卷积神经网络架构,如AlexNet、VGGNet、ResNet、MobileNet等,并理解它们的优缺点及适用场景掌握卷积层尺寸(如滤波器大小、步长、填充等)的计算方法及其对模型性能的影响能力目标AbilityGoals能够具体分析卷积网络各层之间的关系,并理解整个网络的训练和推理过程熟练运用Dropout、MaxPool2d、BatchNormalization等模型优化技术以提高网络性能和防止过拟合掌握使用PyTorch等深度学习框架构建和训练卷积神经网络,并应用于图像分类具备调整网络结构和超参数来优化模型性能的能力素养目标ProfessionalAttainments培养在模型性能不佳时,能够发现并分析问题原因的批判性思维能力培养根据项目需求和数据特点,能够自主选择合适的网络架构和技术的创新能力培养通过实践案例,能够将理论知识应用到解决实际问题中的能力培养在团队中有效沟通和协作,以及对深度学习领域的持续学习和探索精神
目录任务1多层感知机问题分析任务2卷积神经网络的引入任务3卷积网络结构编程实现任务4网络训练及结果评估任务5认识更多网络结构
01任务1多层感知机问题分析
1多层感知机问题分析问题:1.网络不够深对于一张图片而言,以分辨率为640×640的彩色图像为例,其本身的特征维度高达1,228,800个,由于计算机内存的显示,我们只能压缩特征维度,在此基础上,采用了5层网络结构,总参数已经超过400万个,但是网络的学习能力一般;2.网络结构单一我们仅仅是将图像展开为一维数组,然后通过线性矩阵相乘,难以表达图像中更多的空间关系。改进方向:增加层数、增加神经元个数新的问题:梯度爆炸、梯度消失新的操作直接带来参数爆炸问题,深度学习参数的传播为矩阵运算,维度的增加使得一个神经网络层次就高达上万亿参数,还需要对这些参数进行网络层间的正向传播和方向传播求导,以当前的计算能力来讲,无法实现MLP网络向更多参数和更深层次扩展需要新的网络结构
02任务2卷积神经网络的引入
2.1卷积?在数字图像处理中,可以通过图像滤波操作来完成对图片主要信息的保留以及噪声的剔除??卷积:
2.1卷积defconvolve(image,kernel):
#获取图像和卷积核的尺寸
image_h,image_w=image.shape
kernel_h,kernel_w=kernel.shape
#创建一个空白矩阵,用于存储卷积后的结果
output=np.zeros((image_h-kernel_h+1,image_w-kernel_w+1))
#对于每一个滑动窗口位置,计算其与卷积核的内积并将结果存储于相应的位置
forhinrange(0,image_h-kernel_h+1):
forwinrange(0,image_w-kernel_w+1):
output[h,w]=(image[h:h+kernel_h,w:w+kernel_w]*kernel).sum()
returnoutputf=cv2.imread(../data/dogs-vs-cats/val/cat/cat.11250.jpg)
cv2.imshow(img_f,f)
h=np.array([
[0.1,0.1,0.1],
[0.1,0.2,0.1],
[0.1,0.1,0.1]
])
g=convolve(f[:
您可能关注的文档
- PyTorch深度学习项目教程课件:工业检测图像分割.pptx
- PyTorch深度学习项目教程课件:猫狗图像分类.pptx
- PyTorch深度学习项目教程课件:深度学习内容智能生成.pptx
- PyTorch深度学习项目教程课件:食品加工人员异常行为检测.pptx
- PyTorch深度学习项目教程课件:手写数字识别.pptx
- PyTorch深度学习项目教程课件:文本翻译.pptx
- Solidworks 2023三维设计及应用教程课件:特征造型实践- 手柄建模.pptx
- 区域经济学(第二版)课件:国际区域经济.ppt
- 区域经济学(第二版)课件:国家区域经济.ppt
- 区域经济学(第二版)课件:国外区域经济案例.ppt
文档评论(0)