




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
迁移学习实现新冠肺炎X光检测深度学习应用技术模型搭建及训练职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08
模型搭建及训练掌握图像数据生成器制作方法理解模型微调的概念与适用场景了解Tensorflow中内置的VGG16模型框架的相关知识能够搭建模型训练所需环境并导入相关模块和依赖包能够导入数据并设置数据增强生成器能够加载VGG16模块中的模型并构建图像分类模型能够完成模型编译(设置超参数、优化器)能够完成模型训练并进行模型评估能够对损失函数与精确度进行数据可视化能够保存、加载已训练的模型职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08
模型搭建及训练加载训练好的VGG16模型,并进行模型微调,利用部分数据集进行模型再训练,并进行模型预测,绘制出损失函数与准确率图像。任务描述任务要求VGG16模型微调;VGG16模型预测;模型评估,绘制损失函数与准确率图像;任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08
模型搭建及训练任务分析你知道有哪些梯度下降法?想一想如何构建VGG16模型?任务分析与计划03任务计划表通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03项目名称迁移学习实现新冠肺炎X光检测任务名称模型搭建及训练计划方式自主设计计划要求请用8个计划步骤来完整描述出如何完成本次任务序号任务计划1
2
3
4
5
6
7
8职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08
模型搭建及训练VGG16模型204知识储备数据增强1模型优化器3数据增强04数据增强是一种数据扩充技术,指的是利用有限的数据创造尽可能多的利用价值。数据增强主要是为了减少网络的过拟合现象,通过对训练图片进行变换可以得到泛化能力更强的网络,更好的适应应用场景。在深度学习中,有监督的数据增强和无监督的数据增强方法。
04有监督的数据增强
有监督数据增强,即采用预设的数据变换规则,在已有数据的基础上进行数据的扩增,包含单样本数据增强和多样本数据增强。
单样本数据增强包括几何变换操作类(如翻转,旋转,裁剪,变形,缩放),颜色变换类(如噪声、模糊、颜色变换、擦除、填充)。多样本数据增强方法利用多个样本来产生新的样本。常见的方法有:SMOTE方法,SamplePairing方法,mixup方法.有监督的数据增强04无监督的数据增强无监督的数据增强通过模型学习数据的分布,随机生成与训练数据集分布一致的图片,代表方法GAN。通过模型,学习出适合当前任务的数据增强方法,代表方法AutoAugment。VGG16模型204知识储备数据增强1模型优化器3104卷积神经网络
卷积神经网络是一种具有局部连接、权重共享等特性的深层前馈神经网络。CNN由几个基本的层构成,这些层包括输入层、卷积层、池化层、全连接层和输出层所构成。卷积层全连接层池化层对输入数据进行特征提取是对图片信息进行压缩(降采样)的一种方法在卷积神经网络最后会加一个flatten层,将之前所得到的featuremap“压平”,然后用一个全连接层输出最后的结果。04VGG16网络
VGG中根据卷积核大小和卷积层数目的不同,可分为A,A-LRN,B,C,D,E共6个配置,其中以D,E两种配置较为常用,分别称为VGG16和VGG19。
针对VGG16(图中D部分配置)进行具体分析,其包含:13个卷积层(ConvolutionalLayer)3个全连接层(FullyconnectedLayer)5个池化层(Poollayer)
其中,卷积层和全连接层具有权重系数。VGG16网络04
VGG16的突出特点是简单,体现在:卷积层均采用相同的卷积核参数。池化层均采用相同的池化核参数。池化层的参数均为2×模型是由若干卷积和层池化层堆叠(stack)的方式构成,比较容易形成较深的网络结构。VGG16模型204知识储备数据增强1模型优化器31优化器与梯度下降04
在有了正向结构和损失函数后,就是通过优化函数来优化学习参数了,这个过程也是在反向传播中完成的。这个优化函数叫做优化器。其内部原理主要是通过梯度下降的方法对模型中的参数进行优化。
梯度下降法常用于机器学习和人工智能当中用来递归性地逼近最小偏差模型,梯度下降的方向也就是用负梯度方向为搜索方向,沿着梯度下降的方向求解极小值。优化器与梯度下降04
梯度下降法是最基本的一类优化器,目前主要分为三种梯度下降法:标准梯度下降法(GD)随机梯度下降法(SGD)批量梯度下降法(BGD)(1)标准梯度下降法优化器与梯度下降04
标准梯度下降法模型参数的更新调整,与代价函数关于模型参数的梯度有关,即沿着梯度的方向不断减小模型参数,从而最小化代价函数该方法有两个缺点:训练速度慢容易陷入局部最优解(2)随机梯度下降法优化器与梯度下降04
每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降。
该方法的优点是计算梯度快,训练速度快。缺点是没能单独克服局部最优解的问题。(3)批量梯度下降法优化器与梯度下降04
遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍。该方法计算量开销大,计算速度慢,不支持在线学习。
为了克服以上三种方法的缺点,现在一般采用的是一种折中手段“小批的梯度下降”。04优化器的选择
优化器的选取没有特定的标准,需要根据具体的任务,多次尝试选择不同的优化器,选择使得评估函数最小的那个优化器。根据经验,RMSprop、Adagrad、Adam、SGD是比较通用的优化器。其中前三个优化器适合自动收敛,而最后一个优化器,常用于精调模型。04优化器的选择自动收敛方面一般以Adam优化器最为常用,综合来看,它在收敛速度、模型所训练出来的精度方面,效果相对更好一些。而且对于学习率的设置要求相对比较宽松,更容易使用。精调模型方面常常通过手动修改学习率来进行模型的二次调优。为了训练出更好的模型,一般会在使用Adam优化器训练到模型无法收敛之后,再使用SGD优化器,通过手动调节学习率的方式,进一步提升模型性能职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08
模型搭建及训练VGG模型搭建204数据增强1模型编译3模型预测5任务实施模型训练4模型评估6数据增强05导入肺部图像训练集和测试集的数据及标签。1、导入数据数据增强05需要设置一个用于数据增强的生成器,以此来获取更多的训练集图片。tensorflow中的ImageDataGenerator模块可以用于增强数据2、设置用于数据增强的生成器(1)图片生成器,负责生成一个个批次的图片,以生成器的形式给模型训练;(2)对每一个批次的训练图片,适时地进行数据增强处理;(3)自动为训练数据生成标签。05ImageDataGenerator()参数简单介绍:数据增强featurewise_center:布尔值,使输入数据集去中心化(均值为0),按feature执行。samplewise_center:布尔值,使输入数据的每个样本均值为0。featurewise_std_normalization:布尔值,将输入除以数据集的标准差以完成标准化,按feature执行。samplewise_std_normalization:布尔值,将输入的每个样本除以其自身的标准差。zca_whitening:布尔值,对输入数据施加ZCA白化。rotation_range:整数,数据提升时图片随机旋转的角度。随机选择图片的角度,取值为0~180。width_shift_range:浮点数,水平平移范围。height_shift_range:浮点数,垂直平移范围。shear_range:浮点数,透视变换的范围。zoom_range:浮点数或形如[lower,upper]的列表,缩放的范围.fill_mode:填充模式,‘constant’,‘nearest’,‘reflect’或‘wrap’之一,当进行变换时超出边界的点将根据本参数给定的方法进行处理。VGG模型搭建204数据增强1模型编译3模型预测5任务实施模型训练4模型评估6VGG模型搭建05使用tensorflow模块中内置的VGG16模块,导入VGG的基础模型baseModel,这里baseModel是实例化后的VGG16模型。VGG16中的相关参数:1、加载基础模型weights="imagenet"代表该模型已经通过imagenet数据集训练后,得到的模型,首次调用需要下载。include_top=False表示不载入VGG16模型的顶部层。如果第一次运行本代码,需要在keras模块中添加一个名为models的文件夹。数据增强与VGG模型搭建05将baseModel中的参数固定住,使得在训练的时候baseModel中的参数不会更新。利用循环的方式将baseModel每层的参数固定住。2、固定baseModel模型参数指标baseModel.layers可以返回模型所有的层,设置layer.trainable=False使得该层不参与训练。数据增强与VGG模型搭建05在baseModel的基础上,将VGG16网络顶部的三层网络按照下面的结构重新设定,包含一个平均池化层、一个展平层,一个dropout层,两个全连接层。3、重置顶部网络层(1)创建模型容器。Sequential()可以看作是模型的容器(2)添加baseModel。(3)添加平均池化层。(4)添加展平层。Flatten()展平层,将tensor展开,不做计算。(5)添加维度为64维的全连接层。(6)添加丢弃法。(7)添加维度为2维的全连接层。VGG模型搭建204数据增强1模型编译3模型预测5任务实施模型训练4模型评估6模型编译05学习率、迭代次数、训练批次三个常见参数的介绍及设置。三个超参数介绍:1、模型超参数设定学习率INIT_LR:学习率决定着模型训练的快慢。迭代次数EPOCHS:迭代次数表示训练数据进入模型进行训练的次数。训练批次大小batchsize:设置每次进入模型训练的图片是多少,由于硬件的限制,太大的批次会导致模型训练很慢。模型编译05优化器的作用主要是帮助模型在训练过程中更快的找到最佳参数,优化器的种类有很多,合适的优化器能够大大提高训练的效率。2、优化器设定模型编译05函数pile(loss,optimizer,metrics)用于编译模型,参数分别为损失函数、优化方法、精确度计算方式。3、执行编译loss用于设置损失函数的可以为目标函数,也可以是字符串形式给出的损失函数的名称,如loss="mse",loss="binary_crossentrop"等optimizer用于设置优化器,同样可以是字符串形式和函数形式,如optimizer="sgd",optimizer="adam"等metrics用于设置模型的评价指标,如metrics=["accuracy"],metrics=["parse_accuracy"]等VGG模型搭建204数据增强1模型编译3模型预测5任务实施模型训练4模型评估6模型训练05可以使用model.fit或model.fit_generator进行模型训练,两者差别在于,model.fit_generator支持用生成器向模型输入数据。1、模型训练05model.fit_generator(generator,epochs=1,steps_per_epoch,validation_data=None,validation_steps=None)#参数介绍:generator用于接收一个生成数据的生成器,用于模型中的拟合。steps_per_epoch整数,当generator返回steps_per_epoch次数据时,一个epoch结束,执行下一个epoch,通常设置为训练集长度除以batch_size的数值validation_data验证集数据集,形式可以为一个形如(inputs,targets)的tuple,一个形如(inputs,targets,sample_weights)的tuple,或者生成器validation_steps整数,用于设置验证集数据集每轮次训练次数,通常设置为测试集集长度除以batch_size的数值,epochs整数,设置数据迭代的轮数模型训练VGG模型搭建204数据增强1模型编译3模型预测5任务实施模型训练4模型评估6模型预测05训练好了模型之后,使用model.predict对测试集的图片进行预测查看预测结果。1、预测结果model.predict(testdata,batchsize)其中testdata是测试数据集batchsize是训练批次。05np.argmax返回每组数据中最大值的索引。2、取结果的最大索引号例如:返回最大值是6,它的索引号为2。list1=[[1,2,6,5,3]]np.argmax(list1,axis=1)模型预测VGG模型搭建204数据增强1模型编译3模型预测5任务实施模型训练4模型评估605分类模型性能评估的重要参数有准确率、精确率、召回率及F1值等,classification_report()函数能够输出判断模型准确度的各个参数。1、模型评估指标准确率:所有的预测正确(正类负类)的占总的比重。精确率:(又称查准率)正确预测为正的占全部预测为正的比例。召回率:(又称查全率)正确预测为正的占全部实际为正的比例。F1值:F1值为算数平均数除以几何平均数,且越大越好,是精确率和召回率的加权平均。模型评估05cm为混淆矩阵,用于直观看到预测结果的准确度1、模型评估指标混淆矩阵的每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目;每一行代表了数据的真实归属类别;每一行的数据总数表示该类别的数据实例的数目;每一列中的数值表示真实数据被预测为该类的数目。模型评估05具体做法如下:2、绘制损失函数与准确度图像。(1)plt.style.use("ggplot")绘图风格使用ggplot(2)plt.plot()函数,绘制函数train_loss线条、验证集损失线条、训练集精度线条、验证集精度线条,(3)plt.xlabel给横坐标命名(4)plt.legend新增图例(5)plt.savefig("plot")将图片存在默认路径,命名为plot模型评估05绘图后会有出现四条不同的线,则说明填写正确红色(train_loss),代表训练的损失,可以看见随着迭代次数的增多,损失在降低蓝色(val_loss),代表验证集的损失,同样随着迭代次数的增多,损失在降低紫色(train_acc),代表训练时的准确度,可以见随着迭代次数的增加在升高黑色(val_acc),代表验证集的准确度,可见随着迭代次数的增加准确度上升并稳定在1。模型评估05模型训练完成后需要对模型进行保存。将model模型进行存储命名为model,格式设置为h5。model.save(model_name,save_format)函数对模型进行保存。3、模型保存参数model_name,字符串,表示要储存的模型名称,例如将模型model储存并命名为modeltemp,则设定model.save("modeltemp",save_format)参数save_format,字符串,表示要储存的格式,本例中要用到的格式为h5,设定model.save("modeltemp",save_format="h5")模型评估05使用keras模块中的load_model()函数加载上面保存的model模型,并命名为model_load。使用tf.keras.models.load_model()函数导入模型文件,并赋值到变量model_load。4、模型加载模型预测与评估职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08
模型搭建及训练任务检查与评价061、请参照评价标准完成自评和对其他小组的互评。2、各组请代表分析本组任务实施经验。项目名称迁移学习实现新冠肺炎X光检测任务名称模型搭建及训练评价方式可采用自评、互评、老师评价等方式说
明主要评价学生在项目学习过程中的操作技能、理论知识、学习态度、课堂表现、学习能力等
评价内容与评价标准序号评价内容评价标准分值得分1理论知识(20%)了解数据增强、VGG16模型架构、的基本概念概念与方法、以及模型优化器的方法和选择。(20分)20分
2专业技能(40%)数据增强与VGG模型搭建(15%)正确的导入数据与设置用于数据增强的生成器(5分)15分
3正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年零售电商行业智能客服在售后服务优化中的应用报告
- 节能灯能源用电协议合同
- 篮球馆租场地合同协议书
- 高速公路合同制合同范本
- 闺房哲学就业协议书模板
- 矿山生产加工合同协议书
- 瑜伽托管合同协议书模板
- 电厂粉煤灰售卖合同范本
- 经营店铺转让合同协议书
- 理由拒绝签质量协议合同
- 2023年山东青岛局属高中自主招生物理试卷真题(含答案详解)
- 2024年中华全国律师协会招聘5人历年(高频重点复习提升训练)共500题附带答案详解
- 房地产 -2024年第二季度大连写字楼和零售物业市场报告
- 档案管理借阅制度
- 《电机与变压器》教案
- 质量目标及实施计划制定
- 重力式(仰斜、俯斜)挡土墙计算软件
- 财务年终总结报告
- 曲率系数不均匀系数自动计算
- 小米 新员工入职培训
- 2023年江苏财经职业技术学院单招考试职业适应性测试试题及答案解析
评论
0/150
提交评论