怎么在Python项目中生成一个批数据

  介绍

这篇文章将为大家详细讲解有关怎么在Python项目中生成一个批数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

产生批数据

输入数据中每个样本可以有多个特征,和一个标签,最好都是numpy。数组格式。

数据=[data1、data2,…, dataN],标签=[label1 label2,…, labelN],

其中数据[我]=[feature1、feature2…featureM),表示每个样本数据有M个特征。

输入我们方法的数据,all_data=https://www.yisu.com/zixun/(数据、标签)。

代码实现

通过索引值来产生批量大的小的数据,同时提供是否打乱顺序的选择,根据随机产生数据量范围类的索引值来打乱顺序。

import  numpy  as  np   def  batch_generator (all_data ,, batch_size,,洗牌=True):   ,“““   ,param  all_data : all_data整个数据集,包含输入和输出标签   ,:param  batch_size: batch_size表示每个批的大小   ,:param 洗牌:是否打乱顺序   ,返回:   ,“““   ,#输入all_datas的每一项必须是numpy数组,保证后面能按p所示取值=,all_data  [np.array (d), for  d 拷贝all_data]   ,#获取样本大?,,data_size  all_data [0] .shape [0]   ,打印(“data_size:,,,, data_size)   ,if 洗牌:   #,才能随机生成打乱的索引   时间=p 才能;np.random.permutation (data_size)   #,才能重新组织数据   时间=all_data 才能;[d [p], for  d 拷贝all_data]   batch_count =, 0   ,while 真正的:   #,才能数据一轮循环(时代)完成,打乱一次顺序   if 才能;batch_count  *, batch_size  +, batch_size 祝辞,data_size:   ,,batch_count =0   ,,if 洗牌:   ,,,p =, np.random.permutation (data_size)   ,,,all_data =, (d [p], for  d 拷贝all_data]   时间=start 才能;batch_count  * batch_size   最终获得才能=,start  + batch_size   batch_count 才能+=1   油品收率才能[d[开始:,结束),for  d 拷贝all_data]

测试数据

样本数据x和标签y可以分开输入,也可以同时输入。

#,输入x表示有23个样本,每个样本有两个特征   #,输出y表示有23个标签,每个标签取值为0或1   时间=x  np.random.random(大?[23,,2])   时间=y  np.random.randint(2,大?[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 小姐:拷贝范围(时代):   ,打印(“# # # # #,epoch  % s  # # # # #,,, %,我)   ,for  j 拷贝范围(batch_num):   batch_x,才能,batch_y 下(batch_gen)=,   打印才能(“——时代=% s,批=% s——产生绯闻;,%,(i, j))   打印才能(batch_x, batch_y)

<强>补充:使用tensorflow.data。数据集构造批数据集

import  tensorflow  as  tf   import  numpy  as  np   def  _parse_function (x):=,,num_list  np.arange (10)   return  num_list   def  _from_tensor_slice (x):   ,return  tf.data.Dataset.from_tensor_slices (x)   时间=softmax_data  tf.data.Dataset.range(1000), #,构造一个队列   时间=softmax_data  softmax_data.map (lambda  x: tf.py_func (_parse_function, [x], [tf.int32])) #,将数据进行传入   时间=softmax_data  softmax_data.flat_map (_from_tensor_slice), #将数据进行平铺,,将其变为一维的数据,from_tensor_slice将数据可以输出   时间=softmax_data  softmax_data.batch(1), #构造一个批处理的数量   时间=softmax_iter  softmax_data.make_initializable_iterator(), #,构造数据迭代器   时间=softmax_element  softmax_iter.get_next(), #,获得一个批处理的数据   时间=sess  tf.Session ()   sess.run (softmax_iter.initializer), #,数据迭代器的初始化操作   print (sess.run (softmax_element)), #,实际获得一个数据   打印(sess.run (softmax_data)

关于怎么在Python项目中生成一个批数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在Python项目中生成一个批数据