在训练模型的过程中,我们需要不断的读取小批量的数据样本。Pytorch提供了

data

包来读取数据。接下来我将人工生成一些数据,然后使用

data

包来处理数据。

import torch

import numpy as np

'''

The features number is 3, and the number of examples is 1000.

'''

true_w = [2, 3, 5.3]

true_b = 9.7

features = torch.tensor(np.random.normal(0, 1, (1000, 3)), dtype=torch.float)

labels = true_w[0] * features[:, 0] + true_w[1] * features[:, 1] \

+ true_w[2] * features[:, 2] + true_b

noise = torch.tensor(np.random.normal(0, 0.01, size = labels.size()),

dtype = torch.float32)

labels += noise ## add the noise item

print(features[0],'\n',labels[0])

outputs is:

tensor([0.9225, 0.4987, 0.5109])

tensor(15.7612)

接下来我们使用

data.TensorDataset()

来讲特征和标签结合起来,然后使用

DataLoader

来生成一个数据生成器。

import torch.utils.data as Data

dataset = Data.TensorDataset(features, labels)

data_iter = Data.DataLoader(dataset, batch_size=10, shuffle = True)

for item in data_iter:

print(type(item[0]))

print(item[0].size())

print(item)

break

output is :

torch.Size([10, 3])

[tensor([[-0.1667, 0.0887, -0.7024],

[ 1.2368, -1.2652, 0.1885],

[-1.0656, 0.3612, 0.7720],

[-0.4624, -0.5067, -0.5172],

[ 1.4083, 0.0131, -0.0313],

[ 1.5364, -0.6841, 0.3231],

[ 0.2451, 1.0406, -1.6667],

[-1.6337, -0.2157, 0.9186],

[-0.7980, 0.0130, -0.1350],

[ 0.7879, 1.4658, 0.9814]]), tensor([ 5.9068, 9.3762, 12.7405, 4.5073, 12.3995, 12.4275, 4.4938, 10.6610,

7.4216, 20.8734])]

在实践中,数据读取的速度往往对模型的训练性能有着很大的影响,为了提高读取数据的性能,我们可能需要使用多个进程来读取数据,

DataLoader

可以很方便的使用多进程读取数据。

只需在上述代码中加入一个num_workers参数即可:

import torch.utils.data as Data

from multiprocessing import cpu_count

print('CPU核的数量:',cpu_count())##你可以先确定你的计算机上有几个核。

dataset = Data.TensorDataset(features, labels)

data_iter = Data.DataLoader(dataset, batch_size=10, shuffle = True,

num_workers = 4)

感谢趣的朋友可以自己试试在不同num_workers的情景下,数据读取速度的变化。

python读取data_Python批处理数据读取方法的细节:dataloader,Pytorch,批量,详解,DataLoader...相关推荐

  1. python读文件的三个方法read()、readline()、readlines()详解

    1.读取文件的三个方法:read().readline().readlines() 2.三个方法均可接受一个变量用以限制每次读取的数据量,通常不使用该变量. 关于read()方法: 1.读取整个文件, ...

  2. python字符串连接的三种方法及其效率、适用场景详解

    python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...

  3. python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...

    小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...

  4. python读取mat数据_Python几种读取mat格式数据的方法,python几种读取mat

    Python几种读取mat格式数据的方法,python几种读取mat matlab中使用的数据一般会以mat的格式存储,用python读取有以下几种方法 1.使用scipy,具体实现如下: impor ...

  5. python读取txt文件并求和,Python读取txt文件数据的方法(用于接口自动化参数化数据)...

    小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...

  6. Python神经网络4之数据读取、神经网络

    Python神经网络4之数据读取.神经网络 数据读取 文件读取流程 构造文件名队列 读取与解码 批处理 线程操作 图片数据 图像基本知识 图片三要素 张量形状 图片特征值处理 数据格式 案例:狗图片读 ...

  7. sqlitepython导入数据_python从sqlite读取并显示数据的方法

    这篇文章主要介绍了 python 从 sqlite 读取并显示数据的方法 , 涉及 Python 操作 SQLite 数据库的读取及显示相关技巧 , 需要的朋友可以参考下 import cgi, os ...

  8. Python数据处理之一:数据读取

    Python数据处理之一:数据读取 数据可以存储成许多不同的格式和文件类型.某些格式存储的数据很容易被机器处理,而 另一些格式存储的数据则容易被人工读取.微软的Excel. Word 文档等属于后者, ...

  9. 【python数据处理基础】--数据读取、清洗数据

    python 数据处理实战 目录 数据读取 选择特列 清洗数据 目录 随着网络数据的爆发式的增长,数据处理工作日益显示出它的重要性,我们的目的是从大量的杂乱无章的数据中找出对我们的工作有益的数据或者发 ...

最新文章

  1. 远程处理Remoting
  2. ServerSocket01
  3. excel相乘再相加_excel将两组数据相乘后再求和该怎么操作?
  4. 智慧城市顶层设计方法_主頁
  5. 浅析HTML、CSS、JavaScript之间的联系与区别
  6. 如何在业务层实现响应缓存
  7. 加速你的IDE !!!送9个固态硬盘(金士顿240G SSD)
  8. php redis用途,redis可以做什么?
  9. iOS协议、代理、Block和回调、类别
  10. Mysql err 1055
  11. MySQL Innodb引擎和MyIASM引擎的区别
  12. 利用BayesianOptimization库对模型进行贝叶斯调参(XGBOOST)
  13. Sharepoint 2010 对话框框架
  14. 网易新闻iOS版开发使用的第三方框架和组件列表
  15. PHP+node搞一下58微聊的聊天内容的获取
  16. 82_Linux检测指定ip指定端口是否开放
  17. PDF单位尺寸与像素转换
  18. 电脑仙人掌机器人作文_蜗牛、仙人掌、电脑、雪人、机器人、蚕宝宝、大象选三到四个词作文...
  19. ftp服务器无法上传文件,ftp无法上传文件的原因
  20. ACM/ICPC 大赛常见英语词汇

热门文章

  1. 2020 从新开始:你应该知道的Oracle认证新变化
  2. MySQL亿级数据数据库优化方案测试-银行交易流水记录的查询
  3. 举一反三:跨平台版本迁移之 XTTS 方案操作指南
  4. 带你了解Node.js包管理工具:包与NPM
  5. 探究数字内容生产商机,把握未来内容生产脉搏
  6. JS对象拷贝:深拷贝和浅拷贝
  7. #开工新姿势#开启一年新征程,云社区叫你来充电啦!
  8. DJFP2FP2计算机电缆,ZR-DJFP2FP2-22 (ZR-DJFP2FP2-22计算机电缆)(百勤石油)
  9. 华侨大学计算机学院2019,华侨大学计算机科学与技术学院2019年非全日制研究生复试成绩(第四批)...
  10. Spark之StructuredStreaming