参考此文: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数据的方法相关推荐

  1. Python产生batch数据的操作

    这篇文章主要介绍了Python产生batch数据的操作,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 产生batch数据 输入data中每个样本可以有多个特征,和一个标签,最好都是n ...

  2. python提取hbase数据_详解python操作hbase数据的方法介绍

    配置 thrift python使用的包 thrift 个人使用的python 编译器是pycharm community edition. 在工程中设置中,找到project interpreter ...

  3. oracle数据导入到python,Python导入oracle数据的方法 -电脑资料

    作者:Sephiroth 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Python导入oracle数据的方法,涉及Python读取csv文件信息再插入到Oracle数据库的相关技巧,具有一定参 ...

  4. oracle数据导入到python,Python导入oracle数据的方法

    Python导入oracle数据的方法 本文实例讲述了Python导入oracle数据的方法.分享给大家供大家参考.具体如下: import cx_Oracle dns_tns=cx_Oracle.m ...

  5. python常用的数据预处理方法

    2019独角兽企业重金招聘Python工程师标准>>> 转载自:http://2hwp.com/2016/02/03/data-preprocessing/ 常见的数据预处理方法,以 ...

  6. Python Pandas 列数据筛选方法汇总

    Pandas 列数据筛选方法汇总 数据准备: 一.筛选得到指定的列 1.1 根据 label 选择特定的几列 1.2 选择单列的两种方式 1.3 通过正则表达式选择列 二.同时对 行 和 列 进行筛选 ...

  7. python如何收集数据的方法有哪些_class类在python中获取金融数据的实例方法

    我们搜集金融数据,通常想要的是利用爬虫的方法.其实我们最近所学的class不仅可以进行类调用,在获取数据方面同样是可行的,很多小伙伴都比较关注理财方面的情况,对金融数据的需要也是比较多的.下面就cla ...

  8. Python八种数据导入方法,你掌握了吗?

    数据分析过程中,需要对获取到的数据进行分析,往往第一步就是导入数据.导入数据有很多方式,不同的数据文件需要用到不同的导入方式,相同的文件也会有几种不同的导入方式.下面总结几种常用的文件导入方法. 大多 ...

  9. 【Python】Python八种数据导入方法,你掌握了吗?

    数据分析过程中,需要对获取到的数据进行分析,往往第一步就是导入数据.导入数据有很多方式,不同的数据文件需要用到不同的导入方式,相同的文件也会有几种不同的导入方式.下面总结几种常用的文件导入方法. 大多 ...

最新文章

  1. 仅支持chrome的滚动条样式
  2. html页面多个按钮点击事件监听事件,HTML Button.onclick 事件汇总
  3. 幽默感七个技巧_如何通过三招,让自己成为一个有幽默感的说话高手?
  4. 【Magicodes.IE 2.0.0-beta1版本发布】已支持数据表格、列筛选器和Sheet拆分
  5. java gc堆中的分区_jvm内存各个区域详解
  6. python 画线条进行到指定区域更改颜色,使用Colormaps在matplotlib中设置线条的颜色...
  7. Go语言编程—Go语言实现文件拷贝
  8. 出现无效字符_网站出现死链的原因分析 - 最蜘蛛池租用
  9. arch linux 时间,archlinux入门--设置时钟 - webdancer's Blog
  10. 巧妙排查 揪出堵塞网络通信的祸首
  11. Java——全局变量与局部变量的区别
  12. Origin图例去除边框
  13. Java异常泄露敏感信息_浅谈“异常信息泄露(应用程序错误)”
  14. 华为外包数据库面试问题分享20211225
  15. 麻省理工大学计算机中心,Massachusetts Institute of Technology 麻省理工大学
  16. 纽约大学石溪分校计算机科学,纽约州立大学石溪分校的主要基本信息介绍
  17. [pwnable.kr]passcode
  18. QCOM 8976 porting SPI device
  19. 【教3妹学mysql】一条慢sql如何排查优化
  20. 灵魂筹码一直显示连接服务器,灵魂筹码进不去怎么办_灵魂筹码进入显示错误解决方法_3DM单机...

热门文章

  1. 计算机应用基础单元教学设计,《计算机应用基础》课程单元教学设计.doc
  2. 洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S
  3. java的异常体系_异常体系结构 throwable
  4. 网咖网络规划与安装流媒体服务器
  5. time33 java_time33,bobhash,SpookyHash算法记录
  6. 简易设置动态桌面壁纸的方法
  7. chapter1——亚稳态的世界
  8. ZYNQ7000 学习(二十八)C语言二维数组映射到显示器的原理分析以及实现实例 学
  9. 《精通QTP——自动化测试技术领航》—第1章1.2节帮助文档(HELP)-QTP的说明书...
  10. 干货| 时代在召唤云原生