深度学习开发流程

news2024/11/25 8:19:55

1.全局流程

在这里插入图片描述

2.训练过程

损失函数:用来度量深度学习模型的预测值f(x)与真实标签值Y的差异程度的运算函数,损失函数越小,模型型训练的效果越好。

2.1 深度学习训练主要训练步骤:

  1. 确定模型
  2. 将模型加在到cpu或者gpu中
  3. 确定训练数据
  4. 确定优化器和超参
  5. model.train()
  6. 进入循环,将数据放到设备中
  7. 前向传播:就是将数据放到模型中训练
  8. 梯度清零:防止之前在优化器中存在之前的梯度,对当前的梯度有污染
  9. 计算损失:计算预测值与真实值之间的误差
  10. 反向传播:进行求导操作
  11. 更新参数
  12. 达到最优的结果之后就可以保存模型了

2.2 部分代码

1.定义模型
2.定义优化器和超参
下面进入循环训练模型
model.trian() # 开启训练模式
for i, data in enumerate(train_iter):
		# 数据放到cpu或者gpu中
        train_data = to_device(data, label_emberding)
        # 前向传播:然后将要训练的数据放到模型中训练
        output = model(train_data)
        # 梯度清零:防止数据污染
        optimier.zero_grad()
        # 计算损失
        loss = loss_fn(output, train_data['labelnum'])
        # 反响传播:求导,找到更好的参数
        loss.backward()
        # 更新参数
        optimier.step()
        # 然后下面进入验证操作,根据验证集判断是否要继续进行下一步
        .......
        model.train()# 显示调用trian(),再次回到train状态

3.验证过程

3.1 验证主要步骤:

  1. model.eval
  2. 打开上下文管理器,禁止梯度计算
  3. 将数据加载到device
  4. 正向传播
  5. 汇总结果:因为是一个一个batch训练的,所以需要将所有的结果全部通过相关操作之后,将数据统一保存
  6. 计算评价指标

3.2 部分代码

model.eval()
#  打开上下文管理器,禁止梯度计算
with torch.no_gard()
	for batch in dev_iter:
		# 如果有数据就需要将数据加在到gpu
		data=to_device(batch)
		# 正向传播
		out=model(data)
		汇总所有相关的数据
		.....
# 将所有汇总的结果进行评价指标计算
getscore(results)

4.测试过程

  1. 加载模型
  2. 重复验证的过程
    最终查看评估结果,目的就是为验证模型的训练是否有效

5其他操作

  1. 分别计算每一个epoch训练集的loss和验证集的loss,就可以判断是否过拟合
  2. 计算每一步花了多少时间
  3. 早停机制
  4. 计算验证集的评价指标的一个变化过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1091609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口测试入门:深入理解接口测试!

很多人会谈论接口测试。到底什么是接口测试?如何进行接口测试?这篇文章会帮到你。 一、前端和后端 在谈论接口测试之前,让我们先明确前端和后端这两个概念。 前端是我们在网页或移动应用程序中看到的页面,它由 HTML 和 CSS 编写…

【重拾C语言】十二、C语言程序开发(自顶向下、逐步求精;结构化程序设计原则;程序风格)

目录 前言 12.1 求玉米单产——自顶向下、逐步求精 12.1.1 自顶向下、逐步求精 12.1.2 求玉米单产 12.2 结构化程序设计原则 12.2.1 顺序 12.2.2 选择 12.2.3 循环 12.2.4 模块化 12.3 程序风格 12.3.1 程序风格 12.3.2 行文格式、标识符 12.3.3 注释及其它 前言…

露营装备经营商城小程序搭建

近几年露营人群逐渐增加,相应的装备商也多了起来,各种分类商品在一定程度上销量都非常不错,然而传统线下门店经营方面,面对的痛点也不少。 通过【雨科】平台搭建露营装备商城,让客户多场景平台随时购物,多流…

【论文解读】人工智能时代的科学发现

一、简要介绍 人工智能(AI)正越来越多地融入到科学发现中,以增强和加速研究,帮助科学家产生假设、设计实验、收集和解释大型数据集,并获得仅使用传统的科学方法可能无法获得的见解。在这里,论文研究了过去十…

SecureCRT 自动测试脚本的使用方法

脚本示例(get_batteryifo_interval_2s.vbs): Sub Main Do While(1)crt.Screen.Send "pm_client batteryinfo" & chr(13)crt.Sleep 2000 Loop End Sub 1. 解压 SecureCRT 压缩包(网上下载)&#xff1b…

渗透波菜网站

免责声明 本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0c…

Python实现某音短视频JS XB逆向解析

哈喽兄弟们,今天来实现一下某音短视频的JS逆向解析。 知识点 动态数据抓包在这里插入代码片 requests发送请求 X-Bogus 参数逆向环境模块 python 3.8 运行代码 pycharm 2022.3 辅助敲代码 requests pip install request…

试验仪器、设备和材料

声明 本文是学习GB-T 4000-2017 焦炭反应性及反应后强度试验方法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了测定焦炭反应性及反应后强度试验方法的原理、试验仪器、设备和材料、试样的采取 和制备、试验步骤、结果的计算及…

XGBoost+LR融合

1、背景简介 xgboostlr模型融合方法用于分类或者回归的思想最早由facebook在广告ctr预测中提出,其论文Practical Lessons from Predicting Clicks on Ads at Facebook有对其进行阐述。在这篇论文中他们提出了一种将xgboost作为feature transform的方法。大概的思想…

链路层1:以太网链路层帧格式分析

网络发展的一点点历史回忆 阿帕网(ArpaNet) --> 因特网(InterNet) 1969年,在美国国防部的资助下,建立了一个只有4 个节的ARPANET(阿帕网),连接了四所高校 ARPRNet(阿帕网)是Internet的前身,起源于美国&#xff0…

【沧元图】玉阳宫主是正是邪,和面具人有勾结吗?现在已有答案了

Hello,小伙伴们,我是小郑继续为大家深度解析沧元图。 沧元图这部动漫中,有一个很特殊的人物,也是一个让人看不透的人物,因为很多人都不知道这个人是正还是邪,这个人就是玉阳宫主。 因为这个人明面上是掌管东宁府维护东…

怎么在谷歌浏览器中安装.crx扩展名的离线chrome插件

前提概要: 其实,如果用户可以正常打开chrome商店,那么用户可以搜索找到对应的插件在线安装。问题现在用户很可能无法打开chrome商品。那么 怎么样将已经下载好的 chrome插件 (.crx 前提概要:其实,如果用户可以正常打开…

【51单片机】LED点阵屏(动画显示CSDN)

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大…

vue3 自定义指令

Vue 除了内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令。 一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。 在setup语法糖中,任何以 v 开头的驼峰式命名的变量…

基于热交换优化的BP神经网络(分类应用) - 附代码

基于热交换优化的BP神经网络(分类应用) - 附代码 文章目录 基于热交换优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.热交换优化BP神经网络3.1 BP神经网络参数设置3.2 热交换算法应用 4.测试结果&#x…

Java Cryptography Tools and Techniques

链接:https://pan.baidu.com/s/1n6tYUtYYL_3Gn_Mjp4QEWg?pwdh23n 提取码:h23n Block and Stream Ciphers Two fundamental types of encryption algorithms are Block Ciphers and Stream Ciphers. Block Ciphers : These work on data blocks of fix…

【想法】取代NI的 PCIe-8371

PCIe-8371 涨价非常厉害。 PCA3 https://www.terasic.com.tw/cgi-bin/page/archive.pl?LanguageEnglish&CategoryNo65&No1143 PCA3 (PCIe Cable Adapter, Gen 3) is a conversion card to connect boards with your host PC. It can support up to PCIe Gen 3 x4. …

C++笔记之popen()和std_system()和std_async()执行系统命令比较

C笔记之popen()和std_system()和std_async()执行系统命令比较 code review! 文章目录 C笔记之popen()和std_system()和std_async()执行系统命令比较1.popen()2.std::system()3.std::async()——C11提供的异步操作库,适合在多线程中执行外部命令,建议使…

计算机毕业设计选什么题目好?springboot 美食推荐系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

【翻译】Efficient Data Loader for Fast Sampling-Based GNN Training on Large Graphs

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 此内容为机器翻译的结果,若有异议的地方,建议查看原文。 机器翻译的一些注意点,比如: 纪元、时代 > epoch工人 > worker火车、培训、训练师 > train Effic…