还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《深度学习与计算机视觉》课程教案授课题目第1章深度学习与计算机视觉授课时数2学时授课时间教学基本要求
(1)认识深度学习、机器学习、人工智能间的联系和区别;
(2)了解深度学习的应用,知道常用的深度学习框架;
(3)解释计算机视觉的概念,认识计算机视觉的用途;
(4)解释计算机视觉的任务,了解计算机视觉在生活中的应用教学重点深度学习、机器学习、人工智能间的联系和区别;计算机视觉的概念、任务教学难点深度学习与机器学习的区别教学内容及过程(以下内容可打印或手工书写)0LL1深度学习、机器学习、人工智能机器学习是人工智能的一个子领域,是实现人工智能的一种方法深度学习是一种特殊的机器学习,是机器学习的子类机器学习和深度学习都是人工智能的核心技术深度学习的应用讲解30分提典型的应用如下问5分演示10分接近人类水平的图像分类接近人类水平的语音识别机器翻译自动驾驶推荐系统中长度为1的维度2torch,unsqueeze的功能与squeeze的相反,它是在指定维度上增加一个“1”
32.4Tensor的常用操作
1.广播机制
2.逐元素操作
3.归并操作归并操作可以对整个Tensor进行操作,也可以沿着某一维度进行指定操作归并后输出的形状一般小于输入
4.比较操作
3.3Numpy与Tensor比较Numpy是一个大规模的数值计算库,用来处理大规模数组的数学运算我们经常使用numpy来处理非神经网络的科学计算和数据处理任务Tensor是专门针对深度学习而设计的一种数据类型,我们用它来实现大规模的并行计算如神经网络训练《深度学习与计算机视觉》课程教案授课题目第章数据集4授课时数4学时授课时间教学基本要求
(1)学生能用Dataset和ImageFolder类定义数据集;
(2)学生能熟练使用数据集加载函数,能加载PyTorch自带数据集;
(3)生能熟练使用os和glob模块中的部分函数;
(4)学生能构造图片数据集的地址列表;
(5)学生能解释CSV格式、DataFrame结构,掌握CSV文件的读操作;
(6)学生能熟练掌握Image类的open函数和convert函数;
(7)学生能利用地址列表制作数据集教学重点定义数据集的两种方法Dataset和ImageFolder类,利用Dataset类自定义数据集的流程,ImageFolder仅适用于图像数据集的定义利用os和glob模块的部分函数实现图片地址列表的构造CSV格式、dataframe结构及CSV文件操作;会用image类的函数0对图像进行变换,能制作图片数据集教学难点定义不同类型数据集,如何实现—len_和_getitem—函数的改写;利用Python os和glob库的知识实现图片地址列表的制作;用不同方法访问地址列表,实现图片数据集的定义教学内容及过程(以下内容可打印或手工书写)
4.1数据集
1.自定义数据集讲解30分提问5分演示自定义的数据集都要继承Dataset这个类,并实现_len_和10分_getitem_这两个函数其中,_len_返回数据集的大小(size),—getitem—函数是通过给定索引获取数据和标签
2.使用ImageFolder类构造数据集当图像数据集的目录结构较为简单时,可使用ImageFolder来构造图像数据集
4.
1.2加载数据集DataLoader是Pytorch中用来处理模型输入数据的一个类
4.
1.3PyTorch自带数据集torchvision,datasets torchvision,transforms transform.Compose加载pytorch自带数据集示例
4.2构造图片的地址列表
4.
2.1os和glob模块
1.os.path.join函数os.path,join函数的作用是拼接文件路径,即将多个路径组合后返回它可以有多个参数其格式为os.path,join pathl,path2,*
2.os.listdir函数os.listdir函数能返回指定目录下的文件和文件夹的名称列表
3.glob,glob函数glob支持使用通配符来查找某个目录的文件,找到的文件以列表list格式返回
4.
2.2构造地址列表案例
1.简单存储结构
2.复杂存储结构
3.3利用地址列表定义图片数据集
4.
3.1Pandas
1.CSV格式csv文件以纯文本形式存储表格数据CSV文件由若干条记录组成,记录间以某种换行符分隔记录由若干字段组成,字段间一般使用“,”分隔符分隔,也可使用其它字符或字符串分隔
2.DataFrame结构DataFrame是一个表格型的数据结构,相当于一张二维表,它既有行索引,也有列索引1创建DataFrame结构讲解30分提问5分2保存DataFrame演示10分
3.CSV文件读操作1read csv2iloc3用列名读.iloc函数使用索引可读取csv文件中指定行列的内容,也可使用列名读取指定列的内容
4.
3.2Image类
1.Image.openImage,open能读取指定路径的图片,,其类型是PIL,类似于numpy中的数组
2.Image,conver讲解30分
3.
3.3制作图片数据集案例提问5分演示10分图像数据集的地址列表制作好后,就可定义图像数据集了,即在函数中提供图片的地址列表,同时改写—getitem—和—len—函数《深度学习与计算机视觉》课程教案授课题目第章卷积神经网络5授课时数学时授课时间6教学基本要求1知道卷积神经网络的一般构成,解释神经网络的核心组件2知道torch.nn模块的功能,能区分该模块下的nn.Module和nn.functional3解释卷积核的概念和用途,解释单通道、多通道卷积运算,解释步长、填充4能利用公式计算特征图的尺寸,解释逐通道卷积、逐点卷积5知道nn.Conv2d函数的功能和使用格式,能用该函数实现卷积运算6解释批量标准化的用途,能熟练nn.BatchNorm2d函数7认识常用的激活函数,熟练使用PyTorch中的各种激活函数8认识池化,解释4种池化的过程,能熟练使用pytorch中的池化函数9解释线性层的工作原理,熟练使用nn.Linear函数10熟悉常见的卷积神经网络结构,解释残差与倒残差结构011解释MobileNetV2网络架构,能搭建简单的神经网络教学重点torch.nn模块及其常用函数、特征图尺寸计算、批量标准化函数、激活函数、池化、线性层;残差结构,MobileNetV2网络架构教学难点图像卷积运算,特征图尺寸计算,深度可分离卷积的原理;残差结构,MobileNet V2网络架构教学内容及过程以下内容可打印或手工书写
5.1卷积神经网络概述课堂讲授+自卷积神经网络主学习+操作练习
1.卷积神经网络特点
2.神经网络的核心组件1层2模型3损失函数4优化器
5.
1.2torch,nn
1、nn.Module和nn.functional是Torch,nn中两个常用的模块,它们都能够实现网络层的定义
2、nn.Module中的层是一个类,层的命名格式一般为nn.Xxx注意首字母大写nn.functional中实现的层是一个函数,命名格式一般为nn.functional,xxx
3、搭建神经网络时,一般遵循以下原则
4、nn.Sequential能将几个层包装在一起构成一个较大的层或模块在定义网络模型时须遵循以下规则1定义的模型要继承nn.Module类,并实现forward方法2模型中具有可学习参数的层如卷积、全连接放在构造函数init中,而那些没有可学习参数的层如ReLU可放在构造函数中,也可在forward方法中直接使用nn.functional来代替课堂讲授+3要重写forward方法,它是实现各层间连接关系的核心,并自主学习+实现模型的功能操作练习
5.2卷积
5.
2.1卷积核卷积核是一种可学习的滤波器滤波器通常用一个大小为mX n的二维矩阵表示,矩阵中的mXn个元素就是滤波器的参数权重Wij
5.
2.2图像卷积运算
5.
2.2图像卷积运算
1.单通道卷积
2.多通道卷积
3.步长
4.填充
5.
2.3特征图尺寸计算公式假设输入图像的大小是n*n,卷积核的大小是k*k,卷积的步长是S,填充个数是P,则输出图像特征图的尺寸为
5.
2.4深度可分离卷积深度可分离卷积由逐通道卷积Depthwise Convolution,DW和逐点卷积Pointwise ConvolutionPW两个部分组成课堂讲授+与常规卷积相比,DSC的计算简单,参数量少,运算成本比较低自主学习+
1.逐通道卷积DW操作练习
2.逐点卷积PW
3.3卷积层、批量标准化、激活函数
5.
3.1卷积层
1.常规二维卷积
2.深度可分离卷积
5.
3.2批量标准化批量标准化也叫批量归一化BN,它可提高深度学习模型的性能和稳定性nn.BatchNorm2dnum_features,eps=le-05,momentum=
0.1,affine=True,track_running_stats=True,device=None,dtype=None
5.
3.3激活函数激活函数是一种非线性函数,它使用数学转换函数将输入数据转换为输出激活函数能给神经网络提供非线性建模能力,它负责将来自节点的加权输入转换为该输入的节点或输出的激活常用的激活函数有Sigmoid、Tanh ReLUSoftmax等课堂讲授+
1.Sigmoid自主学习+操作练习
2.Tanh
3.ReLU
4.Softmax
5.4池化层、线性层
5.
4.1池化层池化具有减小特征尺寸、提高运算速度、减小噪声影响等功能池化是一种非线性函数,包括最大值池化Max Pooling、均值池化Mean Pooling、全局最大池化Global MaxPooling和全局均值池化Global AveragePooling等多种形式
1.最大值池化
2.均值池化课堂讲授+
3.全局最大池化自主学习+
4.全局均值池化操作练习
5.
4.2线性层线性层又称为全连接层在线性层中,每个神经元与上一层所有神经元相连,实现对前一层的线性组合torch.nn.Linearin_features,out_features,bias=True,device=None,dtype=None
5.5常见卷积神经网络及搭建实例
5.
5.1AlexNet
1.AlexNet模型结构
2.AlexNet模型的特点
5.
5.2VGG16LVGG模型结构
2.VGG模型的特点
5.
5.3GoogleNet
1.GoogleNet模型结构
2.Inception模块
3.GoogleNet模型的特点
5.
5.4ResNet
5.
5.5倒残差结构案例
1.倒残差结构
2.倒残差结构实现课堂讲授+自主学习+操作
5.
5.6Mobil eNetV2案例练习
1.MobileNet v2模型结构
5.
5.7从零开始构建CNN模型案例
1.
1.3深度学习框架
1.深度学习框架深度学习算法需要掌握C++和CUDA的专业知识,且每个研究者都要编写大量的基础代码,工作效率不高为了提高工作效率研究者将这些代码写成了一个框架供大家一起使用
1.2计算机视觉计算机视觉概述
1.计算机视觉的概念
2.计算机视觉的发展历程计算机视觉的用途
1.
2.3计算机视觉任务
2.图像分类讲解30分提问5分
3.目标检测演示10分
4.语义分割
5.目标跟踪
1.
2.4计算机视觉在生活中的应用
2.无人零售店——淘咖啡
3.格灵深瞳的智能视频监控系统
4.Shelfie库存管理《深度学习与计算机视觉》课程教案授课题目第章模型训练与测试6授课时数6学时授课时间教学基本要求1知道损失函数的意义,描述常见损失函数,熟练使用PyTorch中的常用损失函数;2知道优化器的意义,解释常见优化器更新参数的方法,熟练使用PyTorch中常见优化器;3解释模型训练与测试的一般过程,知道学习率的作用,描述学习率的衰减方法,能实现简单神经网络的模型训练与测试;4知道模型保存和加载的意义,熟练使用模型保存和加载函数5描述迁移学习的概念,解释迁移学习的主要方案,熟悉迁移学习的一般步骤,能利用pytorch中的模型结构实现迁移学习,并对模型进行训练和测试教学重点模型训练与测试的一般过程,学习率的衰减方法,能实现简单神经网络的模型训练0与测试;熟悉迁移学习的一般步骤,能利用pytorch中的模型结构实现迁移学习,并对模型进行训练和测试教学难点损失函数、优化器的意义,神经网络的模型训练与测试,模型保存和加载函数,迁移学习的实现教学内容及过程以下内容可打印或手工书写
6.
1.1损失函数概述损失函数是用来评估模型预测值与真实值间偏离程度的函数课堂讲授+自主学习+操作分类问题中常见损失函数有交叉牖损失函数Cross练习Entropy LossHinge损失函数、余弦相似度损失函数CosineSimilarity Loss指数损失函数Exponential Loss中常用损失函数及使用方法
6.
1.2PyTorch
1.L1范数损失函数也叫平均绝对误差MAE函数PyTorch中L1范数损失函数的格式为torch,nn.LILossreduction=mean,
2.L2范数损失也叫做均方误差MSEPyTorch中均方误差MSE的格式为:torch.nn.MSELoss size_average=None,reduce=None,reduction=mean
3.交叉熠损失CrossentropyLossPyTorch中CrossEntropyLoss函数的格式为torch,nn.CrossEntropyLossweight=None,s ize_average=None,ignore_index=-100,reduce=None,reduction」mean,label_smoothing=
0.0优化器概述
6.
2.1优化器实质上是一种算法,它通过不断更新模型参数来使损失函数最小化
1.随机梯度下降Stochastic GradientDescent,SGD
2.Momentum
3.AdaGrad
4.RMSProp
5.Adam常用优化器及使用方法
6.
2.
21.torch,optim.SGD课堂讲授+自主学习+操作
2.torch,optim.ASGD练习
3.torch,optim.Adagrad
5.torch,optim.RMSprop
6.torch,optim.Adam
7.torch,optim.AdamW
8.优化器运用实例模型训练与测试
6.3模型训练
6.
3.1模型训练时需要添加model,train语句一般放在网络训练前型训练一般分为4个过程前向传播Forward-Propogation,FP反向传播Backward-Propogation,BP权重梯度计算Weight Gradient,WG权重更新Weight Update,WUO模型测试
6.
3.2模型测试时需要添加model,eval语句model,eval函数保证测试过程中BN层的均值和方差不变;Dropout层不再随机舍弃神经元,而是使用所有网络连接模型测试的一般格式调整学习率
6.
3.3学习率能控制网络模型的学习进度,它是网络能否成功找到全局最小值或者需要多久才能成功找到全局最小值的关键常见的学习率衰减方法有:课堂讲授+1分段常数衰减自主学习+操作练习2指数衰减3自然指数衰减《深度学习与计算机视觉》课程教案授课题目第章环境、包的安装与使用2授课时数学时授课时间4教学基本要求1Anaconda的安装;2Pytorch CPU和GPU版的安装;3jupyter notebook的酉己置与彳修改;4常用工具包的安装教学重点GPU版Pytorch的安装,Jupyter notebook的配置与修改,使用pip和conda命令安装各种工具包,掌握离线工具包的安装方法教学难点GPU版Pytorch的安装,修改Jupyter notebook的默认浏览器和路径0教学内容及过程以下内容可打印或手工书写
2.1安装Anaconda1下载Anaconda2安装Anaconda3验证程序是否安装成功讲解30分提问5分Anaconda安装完成后我们可使用下面任一种方法来验证软件是否安装演示10分成功
①“开始f Anaconda364-bit一单击Anaconda Prompt”,在打开的Anaconda Prompt窗口中输入“conda list”,按回车后若显示已经安装的包名和版本号,表示安装成功
②“开始f Anaconda364-bit一Anaconda Navigator若可以成功启动Anaconda Navigator则说明安装成功4查看版本信息
2.2Pytorch
2.
2.1安装CPU版Pytorch
1.安装CPU版Pytorch
2.验证Pytorch是否安装成功
2.
2.2安装GPU版的Pytorch
1.安装NVIDIA显卡驱动
2.安装CUDA1安装CUDA前,先上网查询适合本机的CUDA版本,然后再下载安装讲解30分2验证CUDA是否安装成功提问5分打开Anaconda Prompt,在提示符下输入“nvcc-V”命令若CUDA安演示10分装成功时,将显示Cuda的版本和相关信息,否则安装失败
3.cuDNN下载及安装
4.验证cuDNN是否安装成功
5.安装GPU版的Pytorch
2.3配置jupyter notebook
2.
3.1生成配置文件讲解30分提问5分在Anaconda Prompt提示符下输入“jupyter notebook演示10-generate-config”命令,执行上述代码后将在当前用户目录下生成配分置文件jupyter\jupyter_notebook_conf ig.py配置文件生成后,Windows用户可以使用文档编辑工具如记事本或IDE打开配置文件并对其进行编辑
2.
3.2修改Jupyter notebook的默认浏览器使用jupyter notebook时,如果我们不设置浏览器,默认是启动自带的浏览器如IE将Jupyter_notebook的默认浏览器修改为Chrome的方法
2.
3.3修改Jupyter notebook的默认路径
2.
3.4Jupyter notebook的基本用法1创建新笔记本单击“New”按钮,在下拉菜单中选择“Python3ipykernel”,创建一个新的笔记本2jupyter的使用工具栏中的按钮有保存、添加单元格、运行、停止等在单元格中输入代码后,单击“运行”按钮运行代码
2.4安装常用工具包pip是Python的包安装程序,安装pip后它会向系统添加一个pip命令,该命令可以在命令提示符下运行
1.pip安装CV打开Anaconda Prompt,在提示符下输入“pip install-i.tuna,tsinghua.edu.cn/simple opencv-python”命令并执行,即可安装讲解30分CV2库提问5分
2.离线安装CV2演示10分首先登录网址.tuna,tsinghua.edu.cn/simple/opencv-python/下载对应Python版的CV2安装包在Anaconda Prompt提示符下输入“pip installD:\软件\opencv_python-
3.
4.
14.5-cp39-cp39-win_amd
64.whl”命令,安装CV2包
3.安装visdom对于较大的包来讲,离线安装是不错的选择但大部分情况下也可直接使用“conda install库名”或“pip install库名”来安装包《深度学习与计算机视觉》课程教案授课题目第3章Numpy与Tensor基础授课时数4学时授课时间教学基本要求1学生能熟练使用多种方法创建numpy数组、获取数组元素;2学生能使用相关函数对数组进行运算、变形;3学生能解释张量的概念,并用多种方法创建张量;4学生能修改张量的形状,熟悉张量的常用操作;5学生能解释Numpy与Tensor的区别,能熟练进行Numpy与Tensor的相互转换教学重点numpy数组的多种创建方法;从numpy数组中获取指定元素;数组运算的常用函数、数组变形张量的概念,张量的多种创建方法,改变张量形状的函数,增加或压缩张量维度,张量的常用操作教学难点0numpy数组的创建方法,张量的秩、轴、形状、张量的多种创建方法、Numpy与Tensor的区别及其各自的应用场景教学内容及过程以下内容可打印或手工书写
3.1Numpy基础
3.
1.1创建Numpy数组
1.从已有的数组创建ndarray numpy.array讲解30分提
2.使用内置函数创建ndarray问5分演示10分1numpy.arange2numpy.1inspace3numpy.logspace4numpy.empty5numpy.zeros6numpy.ones7numpy.zeros_like
3.使用随机库函数创建ndarray1numpy.random,random2numpy.random,uniform3numpy.random,randn4numpy.random,randint5numpy.random,normal6numpy.random.seed获取数组元素
3.
1.3数组运算
1.广播机制
2.算术运算
3.数学函数1numpy.around讲解30分2numpy.floor提问5分3numpy.ceil演示10分
3.
1.4数组变形numpy.reshapenumpy.ravelnumpy.flattennumpy.squeeze
5.numpy.transpose
6.合并数组合并数组是数组操作中常见的方法,使用concatenateappend函数时,待合并的数组必须具有相同的行列数使用stack、hstack、vstack时,要求待合并的数组具有相同的形状shapeo
3.2Pytorch基础
3.
2.1认识Pytorch中的Tensor
1、张量的秩Rank张量中存在的维度数目例如矩阵、二维张量的秩都是
22、张量的轴axis轴是张量中某一个特定的维度一个秩等于2的张量含有2个轴张量的秩决定了张量的轴数,而每个轴的长度决定了该轴有多少讲解30分提问5分个索引可用演示10分
3、张量的形状shape
3.
2.2创建Tensor
1.直接创建
2.从numpy仓4建tensor
3.根据数值创建Tensor
4.根据概率创建Tensor
3.
2.3修改Tensor的形状张量的形状指示了每个维度由多少个元素组成在PyTorch中张讲解30分提问5分量的大小和形状是一致的,可用.size函数查看张量的形状演示10分
1.改变张量形状
2.压缩、增加维度1torch,squeeze函数的功能是压缩维度,即删除张量。
个人认证
优秀文档
获得点赞 0