Python产生batch数据的方法
参考此文:https://blog.csdn.net/qq_33039859/article/details/79901667
产生batch数据
输入data中每个样本可以有多个特征,和一个标签,最好都是numpy.array格式。
datas = [data1, data2, …, dataN ], labels = [label1, label2, …, labelN],
其中data[i] = [feature1, feature2,…featureM], 表示每个样本数据有M个特征。
输入我们方法的数据,all_data = [datas, labels] 。
代码实现
通过索引值来产生batch大小的数据,同时提供是否打乱顺序的选择,根据随机产生数据量范围类的索引值来打乱顺序。
import numpy as npdef batch_generator(all_data , batch_size, shuffle=True):""":param all_data : all_data整个数据集,包含输入和输出标签:param batch_size: batch_size表示每个batch的大小:param shuffle: 是否打乱顺序:return:"""# 输入all_datas的每一项必须是numpy数组,保证后面能按p所示取值all_data = [np.array(d) for d in all_data]# 获取样本大小data_size = all_data[0].shape[0]print("data_size: ", data_size)if shuffle:# 随机生成打乱的索引p = np.random.permutation(data_size)# 重新组织数据all_data = [d[p] for d in all_data]batch_count = 0while True:# 数据一轮循环(epoch)完成,打乱一次顺序if batch_count * batch_size + batch_size > data_size:batch_count = 0if shuffle:p = np.random.permutation(data_size)all_data = [d[p] for d in all_data]start = batch_count * batch_sizeend = start + batch_sizebatch_count += 1yield [d[start: end] for d in all_data]
测试数据
样本数据x和标签y可以分开输入,也可以同时输入。
# 输入x表示有23个样本,每个样本有两个特征
# 输出y表示有23个标签,每个标签取值为0或1
x = np.random.random(size=[23, 2])
y = np.random.randint(2, size=[23,1])
count = x.shape[0]batch_size = 5
epochs = 20
batch_num = count // batch_size batch_gen = batch_generator([x, y], batch_size)for i in range(epochs):print("##### epoch %s ##### " % i)for j in range(batch_num):batch_x, batch_y = next(batch_gen)print("-----epoch=%s, batch=%s-----" % (i, j))print(batch_x, batch_y)
Python产生batch数据的方法相关推荐
- Python产生batch数据的操作
这篇文章主要介绍了Python产生batch数据的操作,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 产生batch数据 输入data中每个样本可以有多个特征,和一个标签,最好都是n ...
- python提取hbase数据_详解python操作hbase数据的方法介绍
配置 thrift python使用的包 thrift 个人使用的python 编译器是pycharm community edition. 在工程中设置中,找到project interpreter ...
- oracle数据导入到python,Python导入oracle数据的方法 -电脑资料
作者:Sephiroth 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Python导入oracle数据的方法,涉及Python读取csv文件信息再插入到Oracle数据库的相关技巧,具有一定参 ...
- oracle数据导入到python,Python导入oracle数据的方法
Python导入oracle数据的方法 本文实例讲述了Python导入oracle数据的方法.分享给大家供大家参考.具体如下: import cx_Oracle dns_tns=cx_Oracle.m ...
- python常用的数据预处理方法
2019独角兽企业重金招聘Python工程师标准>>> 转载自:http://2hwp.com/2016/02/03/data-preprocessing/ 常见的数据预处理方法,以 ...
- Python Pandas 列数据筛选方法汇总
Pandas 列数据筛选方法汇总 数据准备: 一.筛选得到指定的列 1.1 根据 label 选择特定的几列 1.2 选择单列的两种方式 1.3 通过正则表达式选择列 二.同时对 行 和 列 进行筛选 ...
- python如何收集数据的方法有哪些_class类在python中获取金融数据的实例方法
我们搜集金融数据,通常想要的是利用爬虫的方法.其实我们最近所学的class不仅可以进行类调用,在获取数据方面同样是可行的,很多小伙伴都比较关注理财方面的情况,对金融数据的需要也是比较多的.下面就cla ...
- Python八种数据导入方法,你掌握了吗?
数据分析过程中,需要对获取到的数据进行分析,往往第一步就是导入数据.导入数据有很多方式,不同的数据文件需要用到不同的导入方式,相同的文件也会有几种不同的导入方式.下面总结几种常用的文件导入方法. 大多 ...
- 【Python】Python八种数据导入方法,你掌握了吗?
数据分析过程中,需要对获取到的数据进行分析,往往第一步就是导入数据.导入数据有很多方式,不同的数据文件需要用到不同的导入方式,相同的文件也会有几种不同的导入方式.下面总结几种常用的文件导入方法. 大多 ...
最新文章
- 仅支持chrome的滚动条样式
- html页面多个按钮点击事件监听事件,HTML Button.onclick 事件汇总
- 幽默感七个技巧_如何通过三招,让自己成为一个有幽默感的说话高手?
- 【Magicodes.IE 2.0.0-beta1版本发布】已支持数据表格、列筛选器和Sheet拆分
- java gc堆中的分区_jvm内存各个区域详解
- python 画线条进行到指定区域更改颜色,使用Colormaps在matplotlib中设置线条的颜色...
- Go语言编程—Go语言实现文件拷贝
- 出现无效字符_网站出现死链的原因分析 - 最蜘蛛池租用
- arch linux 时间,archlinux入门--设置时钟 - webdancer's Blog
- 巧妙排查 揪出堵塞网络通信的祸首
- Java——全局变量与局部变量的区别
- Origin图例去除边框
- Java异常泄露敏感信息_浅谈“异常信息泄露(应用程序错误)”
- 华为外包数据库面试问题分享20211225
- 麻省理工大学计算机中心,Massachusetts Institute of Technology 麻省理工大学
- 纽约大学石溪分校计算机科学,纽约州立大学石溪分校的主要基本信息介绍
- [pwnable.kr]passcode
- QCOM 8976 porting SPI device
- 【教3妹学mysql】一条慢sql如何排查优化
- 灵魂筹码一直显示连接服务器,灵魂筹码进不去怎么办_灵魂筹码进入显示错误解决方法_3DM单机...
热门文章
- 计算机应用基础单元教学设计,《计算机应用基础》课程单元教学设计.doc
- 洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S
- java的异常体系_异常体系结构 throwable
- 网咖网络规划与安装流媒体服务器
- time33 java_time33,bobhash,SpookyHash算法记录
- 简易设置动态桌面壁纸的方法
- chapter1——亚稳态的世界
- ZYNQ7000 学习(二十八)C语言二维数组映射到显示器的原理分析以及实现实例 学
- 《精通QTP——自动化测试技术领航》—第1章1.2节帮助文档(HELP)-QTP的说明书...
- 干货| 时代在召唤云原生