生成批次和轮次数据

# 生成批次 gen_batch
def gen_batch(dataSet, batch_size):
    row, col = dataSet.shape
    n = row // batch_size     # +1 是保证剩余的不够一个批次大小的数据也能 构造成 一个小批次, 但是,好像 不行,tensorflow图构造成后,就不能再修改了
    
    for i in range(n):   # 抽取 epoch_size 个数据
        x = dataSet[i * batch_size : (i + 1) * batch_size, 1:col]     # 第后面的1-col-1列是数据
        y = dataSet[i * batch_size : (i + 1) * batch_size, 0]         # 第0列是标签
        yield (x, y) 

def gen_epochs(n, dataSet, batch_size):
    
    for _ in range(n):          
        np.random.shuffle(dataSet)              #将数据集打扰
        yield gen_batch(dataSet, batch_size)


a = np.array([[1,2,4], [3,4,4], [5,6,4], [7,8,4], [9,0,4], [8,7,4], [6,5,4], [4,3,4], [2,1,4],
[0,1,4], [12,11,4], [10,21,4]])print a for idx, epoch in enumerate(gen_epochs(2, a, batch_size=5)): # 这是训练两论 for step, (X, Y) in enumerate(epoch): # 每论的批次读取 print X, Y for step, (X, Y) in enumerate(gen_batch(a,batch_size = 5)): print X, Y



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值