当前位置: 首页 > news >正文

一个深度学习项目需要什么

DataLoader

1.数据预处理

在将数据提供给模型之前,DataLoader需要对数据进行预处理。预处理可以包括数据增强、归一化、裁剪、缩放等操作。这些操作可以提高模型的性能和准确度。在处理点云数据时,可以通过最远点下采样到固定的点数。

2.读取标签文件

我 1 2 3

爱 45 6

python

matrix_file = open("D:\py_code\w123.txt", 'r', encoding='utf-8')  # 打开文件
lines = matrix_file.readlines()  # 读取文件中的所有行
print(lines)
print(len(lines))结果:
['我 1 2 3\n', '爱 45 6\n', 'python']
3

3.数据集的划分

生成数据集的训练集、测试集和全部数据集的文件列表并保存为txt文件,训练集的比例可以自行设置

4.加载数据类

MyDataset(Dataset)类包含__init__(),__len__(),__getitem__()等函数

Dataset:父类,所有开发人员训练、测试使用的所有数据集的一个模板或者抽象,该类是一个抽象类,所有的数据集想要在数据与标签之间建立映射,都需要继承这个类,所有的子类都需要重写__getitem__方法,该方法根据索引值获取每一个数据并且获取其对应的Label,子类也可以重写__len__方法,返回数据集的size大小

MyDataset:子类,是一个具体的数据集,继承父类的所有方法和属性

如何重写Dataset?

【深度学习】PyTorch Dataset类的使用与实例分析 - 知乎 (zhihu.com)

在明确如何组装路径、获取路径中的文件名以及获取具体数据对象后,重写方法

__init()存储数据目录下的所有文件名

__len__获取数据集的长度

__getitem__()返回的是数据项并非整个数据集,可以让索引与数据集中的具体数据对应起来

from torch.utils.data import Datasetclass MyDataset(Dataset):def __init__(self):#一个函数中的变量是不能拿到另外一个函数中使用的,self可以当做类中的全局变量print("1")def __len__(self):print("2")def __getitem__(self,idx):print("3")
dataset = MyDataset()#会自动调用__init__方法结果:
1

5.创建数据加载器

data = MyDataset()#实例化
DataLoader = torch.utils.data.DataLoader(data, batch_size=64, shuffle=True)

将样本按照batch_size(每个批次包含的样本数量)进行分批,并在每个epoch(所有样本被遍历一遍)开始时随机打乱数据

Train

  1. def parse_args()

参数包含batch_size/model/epoch/learning_rate/gpu/optimizier/data_path/result_savepath/check_savepath/log_dir/decay_rate等

  1. def valid(model,loader)

在验证集上测试网络模型的性能,返回精度

3.def main(args)

设置在哪个gpu上跑

创建目录

设置日志文件,记录训练过程中的一些信息

加载训练和测试数据

加载模型

修改学习率(6条消息) 【深度学习】学习率 (learning rate)_深度学习的学习速率_JNingWei的博客-CSDN博客

训练:每一个epoch训练一次

使用验证集验证:验证集专门用来看看每经过1个epoch的训练之后网络性能如何,可以用测试集代替验证集(7条消息) 测试集可用作验证集;验证集不能来自训练集!(交叉验证,留一法)_验证集可以当测试集吗_doubleslow;的博客-CSDN博客

Test

  1. def parse_args()

参数包含batch_size/model/gpu/data_path/save_path/pth_path等

2.def main(args)

创建数据保存目录

加载测试数据

加载模型:训练得到的最优模型

相关文章:

一个深度学习项目需要什么

DataLoader1.数据预处理在将数据提供给模型之前,DataLoader需要对数据进行预处理。预处理可以包括数据增强、归一化、裁剪、缩放等操作。这些操作可以提高模型的性能和准确度。在处理点云数据时,可以通过最远点下采样到固定的点数。2.读取标签文件我 1 2…...

【Java进阶篇】—— 常用类和基础API

一、String类 1.1 String的特性 java.lang.String 类代表字符串,由final关键字修饰,在赋值后不能改变(常量),不能继承String类String 对象的字符内容是存储在一个字符数组 value[]中的 我们来看一下String在JDK8中的…...

手敲Mybatis(六)-反射工具天花板

历时漫长的岁月,终于鼓起勇气继续研究Mybatis的反射工具类们,简直就是把反射玩出花,但是理解起来还是很有难度的,涉及的内容代码也颇多,所以花费时间也比较浩大,不过当了解套路每个类的功能也好&#xff0c…...

内含18禁~~关于自学\跳槽\转行做网络安全行业的一些建议

作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。所以可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。…...

春分策划×运维老王主讲:CMDB数据运营精准化公开课启动报名啦!

『CMDB数据运营精准化』 公开直播课 要来了! 👆扫描海报二维码,预约直播 CMDB似乎是运维中永恒的老话题。 提到CMDB很多人都是又爱又恨,爱的是它给我们提供了一个美好的未来,有了CMDB我们可以解决诸多运维中的难题。…...

制作INCA和CANape通用的A2L

文章目录 前言制作A2LA2ML定义MOD_COMMON定义MOD_PAR定义MEMORY_SEGMENTTransportLayer定义PROTOCOL_LAYERDAQ总结前言 由于INCA和CANape是两个不同的公司对XCP协议的实现,所以A2L中也会有不一样的地方,但是在标定时若每次都用两个A2L,是非常不方便的,本文介绍如何设计A2L…...

Python人脸识别

#头文件:import cv2 as cvimport numpy as npimport osfrom PIL import Imageimport xlsxwriterimport psutilimport time#人脸录入def get_image_name(name):name_map {f.split(.)[1]:int(f.split(.)[0]) for f in os.listdir("./picture")}if not name…...

我用Python写了一个下载网站所有内容的软件,可见即可下,室友表示非常好用

Python 写一个下载网站内容的GUI工具,所有内容都能下载,真的太方便了!前言本次要实现的功能效果展示代码实战获取数据GUI部分最后前言 哈喽大家好,我是轻松。 今天我们分享一个用Python写下载视频弹幕评论的代码。 之前自游写了…...

【M365运维】扩充OneDrive存储空间

【问题】E3,E5等订阅许可下&#xff0c;默认的OneDrive存储空间为 1TB&#xff0c;满了之后该如何扩充&#xff1f;【解决】1.运行Powershell2. 链接到Sharepoint Online: Connect-SPOSerivce -url https://<这里通常是公司名>-admin.sharepoint.com3. 定义三个扩充空间时…...

hashcat(爆破工具,支持GPU,精)

目录 简介 分类 参数 -m hash的类型 -a 攻击方式 掩码 使用方法 字典破解 简介 虽然John the R...

【机器学习】什么是监督学习、半监督学习、无监督学习、自监督学习以及弱监督学习

监督学习&#xff08;Supervised Learning&#xff09;&#xff1a;利用大量的标注数据来训练模型&#xff0c;模型最终学习到输入与输出标签之间的相关性。半监督学习&#xff08;Semi- supervised Learning&#xff09;&#xff1a;利用少量有标签数据和大量无标签数据来训练…...

HashiCorp packer 制作AWS AMI镜像示例

准备工作 验证AWS 可以先手动启动一个EC2实例验证自己创建的VPC, subnet, internet gateway 和routetable等, 确保实例创建后不会出现连接不上的情况. 可以按照下面的链接配置避免连接超时 https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/TroubleshootingInstan…...

【java基础】根据泛型动态构造jackson的TypeReference(json反序列化为带泛型的类的对象)

根据泛型动态构造jackson的TypeReference引出问题使用TypeReference反序列化的例子根据泛型动态构造TypeReference带泛型的类如何表示&#xff1f;完成HttpClient的实现引出问题 将json字符串反序列化为带泛型的类的对象怎么操作&#xff1f;怎么根据TypeReference<List<…...

为什么VMware会给我多创建了两个网络呢?Windows和Linux为什么可以彼此ping的通呢

为什么VMware会给我多创建了两个网络呢&#xff1f;Windows和Linux为什么可以彼此ping的通呢 文章目录为什么VMware会给我多创建了两个网络呢&#xff1f;Windows和Linux为什么可以彼此ping的通呢桥接模式ANT模式&#xff08;VMnet8&#xff09;仅主机模式&#xff08;VMnet1&a…...

服务器带宽承载多少人同时访问计算方法-浏览器中查看当前网页所有资源数据大小-客服系统高并发承载人数【唯一客服】...

浏览器中怎么查看当前网页所有资源的数据大小 在开发者工具的“网络”选项卡中&#xff0c;可以看到所有请求和响应的详细信息&#xff0c;包括每个资源的大小。如果需要查看网页所有资源的总大小&#xff0c;可以按照以下步骤操作&#xff1a; 打开要查看的网页。打开开发者工…...

给新手----编译VSOMEIP保姆级别教程

前言&#xff1a;当你学习了SOMEIP理论基础后&#xff0c;一定很希望上手实操一波吧&#xff0c;本文档以SOMEIP协议里比较成熟的VSOMEIP开源框架为例&#xff0c;带你从0到1实现开源框架的下载到上手&#xff0c;坐稳啦&#xff0c;开车&#xff01;&#xff01;&#xff01;&…...

MarkDown设置上下标

上标&#xff1a;$a^{2-5}$ 下标&#xff1a;$a_{n-1}$显示&#xff1a;结果 上标&#xff1a;a2−5a^{2-5}a2−5 下标&#xff1a;an−1a_{n-1}an−1​ 如果上下标中需要多个显示&#xff0c;需要用{}括起来&#xff0c;否则就像下面一样 上标&#xff1a;$a^2-5$ 下标&…...

Python批量爬取游戏卡牌信息

文章目录前言一、需求二、分析三、处理四、运行结果前言 本系列文章来源于真实的需求本系列文章你来提我来做本系列文章仅供学习参考阅读人群&#xff1a;有Python基础、Scrapy框架基础 一、需求 全站爬取游戏卡牌信息 二、分析 查看网页源代码&#xff0c;图片资源是否存在…...

什么是PCB走线的3W原则

在设计PCB的时候我们会经常说到3W原则&#xff0c; 它指的是两个PCB走线它们的中心间距不小于3倍线宽&#xff0c;这个W就是PCB走线的宽度。这样做的目的主要是为了减小走线1和走线2之间的串扰&#xff0c;一般对于时钟信号&#xff0c;复位信号等一些关键信号需要遵循3W原则。…...

计算机网络面试总结

计算机网络 1.计算机网络 2.计算机网络拓扑结构 3.计算机网络覆盖 4.时延 5.交换技术 6.单工、半双工、全双工 7.OSI模型 8.TCP/IP模型 9.物理层有哪些设备 10.数据链路层介质访问控制 11.数据链路层有哪些设备 12.数据链路层流量控制 13.数据链路层的三个基本问题和解决方法 1…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...