train_loader=DataLoader(dataset=Mydata,batch_size=20,shuffle=True,num_workers=0)

Dataset、Dataloader 简介

Dataset是Pytorch自带的建立自己数据库的一个类,可通过其建立自己的数据库。

Dataloader是Pytorch自带加载自己数据库的一个工具,可通过其加载自建数据库中的数据。

看完这个简介你应该对Dataset、Dateloader有一个基本的了解,下面我们就来谈一谈代码的实现问题。

导入相关的的库

import torch
import torch.nn as nn
from torch.utils.data import DataLoader,Dataset
import numpy as np
import xlrd

Dataset、Dateloader代码实现及详解

对于Dataset,作者是通过定义一个新类别来实现,这个类别主要实现的是三个功能:

1、从Excal(txt)文件中提取所有数据

def __init__(self,filepath):

从Excal中具体实现过程可以借鉴我的前一篇文章

python自动化办公-提取excal表格某列数据

从txt中提取数据则是利用np.loadtxt(filepath,delimiter,dtype)实现

参数详解:

filepath = 文件所在路径

delimiter = 数据间的分隔符

dtype = 将文本中的数据转换成需要的类型

2、创建每一组数据的索引

def __getitem__(self, index):

3、返回所创建数据库的长度

def __len__(self):

建立好这三个功能,一个可以实现加载、索引、确定长度的数据库的新类就建立完成,我们的工作也向前走了一大步。

下面看看从Excal(txt)中提取数据的代码实现:

class Mydataset(Dataset):def __init__(self,filepath):datalist=[]data = xlrd.open_workbook(filepath, encoding_override='utf-8')table = data.sheets()[0]  # 选定表sheet1 或sheet2  0表示sheet1 1表示sheet2nrows = table.nrows  # 获取行号ncols = table.ncols  # 获取列号'''def __init__(self,filepath):xy = np.loadtxt(filepath,delimiter=' ',dtype=np.float)self.x_data = torch.from_numpy(data_scaler.fit_transform(datalist[:,:-1]))self.y_data = torch.from_numpy(xy[:,[-1]])'''for i in range(0, nrows):  # 第0行为表头alldata = table.row_values(i)  # 循环输出excel表中每一行,即所有数据datalist.append(alldata)  # 创建datalist = np.array(datalist,dtype=np.float32) #将获取的数据全部转换成数组浮点数self.len = datalist.shape[0]self.x_data = torch.from_numpy(data_scaler.fit_transform(datalist[:,:-1])) #将特征输入归一化self.y_data = torch.from_numpy(datalist[:,[-1]])print("数据已录入")def __getitem__(self, index):return self.x_data[index],self.y_data[index]def __len__(self):return self.len

 Dataloader 参数详解

train_loader=DataLoader(dataset=Mydata,batch_size=20,shuffle=True,num_workers=0)

Dataloader中的参数中比较有用的有四个:

dataset = 加载数据集

batch_size = 将所有数据进行打包分装(int)

shuffle = 是否随机打乱(True/None)

num_workers = 线程数(int)

过程图:

以上就是本篇文章的全部内容了,下一篇文章将用一个简单的深层神经网络来实现。

创作不易,可不可以请您动动宝贵的手指给我顶个赞呢??

非常感谢,祝您有个愉快的一天!!

看完不会你揍我!!Pytorch利用文本数据建立自己的数据集- Dataset Dataloader详解 附案例相关推荐

  1. 看完你也能独立负责项目!产品经理做APP从头到尾的所有工作流程详解!

    (一)项目启动前 从事产品的工作一年多,但自己一直苦于这样或者那样的困惑,很多人想要从事产品,或者老板自己创业要亲自承担产品一职,但他们对产品这个岗位的认识却不明晰,有的以为是纯粹的画原型,有的是以为 ...

  2. python数据集的预处理_关于Pytorch的MNIST数据集的预处理详解

    关于Pytorch的MNIST数据集的预处理详解 MNIST的准确率达到99.7% 用于MNIST的卷积神经网络(CNN)的实现,具有各种技术,例如数据增强,丢失,伪随机化等. 操作系统:ubuntu ...

  3. 【小白学PyTorch】扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization

    <<小白学PyTorch>> 扩展之Tensorflow2.0 | 21 Keras的API详解(上)卷积.激活.初始化.正则 扩展之Tensorflow2.0 | 20 TF ...

  4. 【小白学PyTorch】扩展之Tensorflow2.0 | 21 Keras的API详解(上)卷积、激活、初始化、正则...

    [机器学习炼丹术]的学习笔记分享 <<小白学PyTorch>> 扩展之Tensorflow2.0 | 20 TF2的eager模式与求导 扩展之Tensorflow2.0 | ...

  5. 怎么看计算机硬件配置情况,怎么样查看电脑配置?5种方法查看电脑硬件配置好坏图文详解...

    学会看电脑配置,其实对于我们来说十分重要,因为电脑硬件配置的好坏,是直接影响到我们实际操作的.而查看电脑配置的方法有很多,比如说命令查看,系统查看,诊断程序查看,你还可以使用第三方软件查看.下面,电脑 ...

  6. 执行一次怎么会写入两次数据_Java进阶知识:一文详解缓存Redis的持久化机制,新手看完也会用

    Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制. Redis有两种持久化的方式: ...

  7. 【pytorch】model.train和model.eval用法及区别详解

    使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的 ...

  8. Pytorch torchvision完成Faster-rcnn目标检测demo及源码详解

    Torchvision更新到0.3.0后支持了更多的功能,其中新增模块detection中实现了整个faster-rcnn的功能.本博客主要讲述如何通过torchvision和pytorch使用fas ...

  9. PyTorch模型部署:pth转onnx跨框架部署详解+代码

    文章目录 引言 基础概念 onnx:跨框架的模型表达标准 onnxruntime:部署模型的推理引擎 示例代码 0)安装onnx和onnxruntime 1)pytorch模型转onnx模型 2)on ...

  10. 关于遍历,看这篇文章就足够了【find()、findIndex()、forEach()、splice()、slice()详解】

    在日常写JS逻辑的时候,有小伙伴经常问及我一些遍历相关的逻辑,很多都是很基础性的知识点,只不过需要组合一下就可以实现效果.所以,我觉得还是有必要举几个例子来说明一下这几个js常用的方法,find(). ...

最新文章

  1. gentoo.tw的临时解决方法[转贴]
  2. 21-爬虫之scrapy框架selenium的使用08
  3. P7115-[NOIP2020]移球游戏【构造】
  4. Java StringBuilder codePointAt()方法与示例
  5. CAS实现单点登录方案(SSO完整版)
  6. Team Foundation Server 源代码控制权限问题
  7. cloudare mysql 密码修改_CentOS7.3 LAMP环境搭建私有云NextCloud过程记录
  8. spark 动态预加载数据_Spark+TDengine 在中国电信电力测功系统监控平台上的应用实践...
  9. 有关scm和check style的pom.xml文件
  10. c语言编写dnf辅助,DNF辅助脚本怎么制作?游戏简易脚本制作教程
  11. 苹果电脑怎样下载爱奇艺
  12. spring5-介绍Spring框架
  13. Pointnet模型源码解读(更新中)
  14. flutter混编ios打包生成ipa文件
  15. h5物体拖动_HTML5原生拖拽/拖放(drag drop)详解
  16. 5G通信呼啸而来,对未来WiFi覆盖有何影响?
  17. hosts屏蔽网站以及代理越过屏蔽
  18. Android中singleTask模式没起作用!!
  19. darknet预测分类性能提升2.2:GPU加速resize_image()
  20. UGUI_事件执行类ExecuteEvents

热门文章

  1. Mac上有哪些好用的写作软件?四类写作软件总有一款适合你!
  2. 二手房交易有哪些税费?
  3. 计算机制造商logo,如何更改系统oem制造商logo等信息
  4. 关于百度导航SDK没声音的一种解决办法
  5. 右键新建文本文档不见了
  6. dell进入u盘启动模式_戴尔Dell笔记本电脑的BIOS怎么设置从U盘启动
  7. Live555实时视频流应用总结
  8. 7.20-7.26 字节推荐算法(DATA-EDU)5道面试题分享
  9. Dropshipping在Facebook广告语怎么写?
  10. 对 torch 中 dim 的总结和理解