python读取data_Python批处理数据读取方法的细节:dataloader,Pytorch,批量,详解,DataLoader...
在训练模型的过程中,我们需要不断的读取小批量的数据样本。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...相关推荐
- python读文件的三个方法read()、readline()、readlines()详解
1.读取文件的三个方法:read().readline().readlines() 2.三个方法均可接受一个变量用以限制每次读取的数据量,通常不使用该变量. 关于read()方法: 1.读取整个文件, ...
- python字符串连接的三种方法及其效率、适用场景详解
python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...
- python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...
小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...
- python读取mat数据_Python几种读取mat格式数据的方法,python几种读取mat
Python几种读取mat格式数据的方法,python几种读取mat matlab中使用的数据一般会以mat的格式存储,用python读取有以下几种方法 1.使用scipy,具体实现如下: impor ...
- python读取txt文件并求和,Python读取txt文件数据的方法(用于接口自动化参数化数据)...
小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...
- Python神经网络4之数据读取、神经网络
Python神经网络4之数据读取.神经网络 数据读取 文件读取流程 构造文件名队列 读取与解码 批处理 线程操作 图片数据 图像基本知识 图片三要素 张量形状 图片特征值处理 数据格式 案例:狗图片读 ...
- sqlitepython导入数据_python从sqlite读取并显示数据的方法
这篇文章主要介绍了 python 从 sqlite 读取并显示数据的方法 , 涉及 Python 操作 SQLite 数据库的读取及显示相关技巧 , 需要的朋友可以参考下 import cgi, os ...
- Python数据处理之一:数据读取
Python数据处理之一:数据读取 数据可以存储成许多不同的格式和文件类型.某些格式存储的数据很容易被机器处理,而 另一些格式存储的数据则容易被人工读取.微软的Excel. Word 文档等属于后者, ...
- 【python数据处理基础】--数据读取、清洗数据
python 数据处理实战 目录 数据读取 选择特列 清洗数据 目录 随着网络数据的爆发式的增长,数据处理工作日益显示出它的重要性,我们的目的是从大量的杂乱无章的数据中找出对我们的工作有益的数据或者发 ...
最新文章
- 远程处理Remoting
- ServerSocket01
- excel相乘再相加_excel将两组数据相乘后再求和该怎么操作?
- 智慧城市顶层设计方法_主頁
- 浅析HTML、CSS、JavaScript之间的联系与区别
- 如何在业务层实现响应缓存
- 加速你的IDE !!!送9个固态硬盘(金士顿240G SSD)
- php redis用途,redis可以做什么?
- iOS协议、代理、Block和回调、类别
- Mysql err 1055
- MySQL Innodb引擎和MyIASM引擎的区别
- 利用BayesianOptimization库对模型进行贝叶斯调参(XGBOOST)
- Sharepoint 2010 对话框框架
- 网易新闻iOS版开发使用的第三方框架和组件列表
- PHP+node搞一下58微聊的聊天内容的获取
- 82_Linux检测指定ip指定端口是否开放
- PDF单位尺寸与像素转换
- 电脑仙人掌机器人作文_蜗牛、仙人掌、电脑、雪人、机器人、蚕宝宝、大象选三到四个词作文...
- ftp服务器无法上传文件,ftp无法上传文件的原因
- ACM/ICPC 大赛常见英语词汇
热门文章
- 2020 从新开始:你应该知道的Oracle认证新变化
- MySQL亿级数据数据库优化方案测试-银行交易流水记录的查询
- 举一反三:跨平台版本迁移之 XTTS 方案操作指南
- 带你了解Node.js包管理工具:包与NPM
- 探究数字内容生产商机,把握未来内容生产脉搏
- JS对象拷贝:深拷贝和浅拷贝
- #开工新姿势#开启一年新征程,云社区叫你来充电啦!
- DJFP2FP2计算机电缆,ZR-DJFP2FP2-22 (ZR-DJFP2FP2-22计算机电缆)(百勤石油)
- 华侨大学计算机学院2019,华侨大学计算机科学与技术学院2019年非全日制研究生复试成绩(第四批)...
- Spark之StructuredStreaming