美文网首页
2018-12-24 epoch、training step;n

2018-12-24 epoch、training step;n

作者: 七月那个阿瓜呀 | 来源:发表于2018-12-24 22:17 被阅读28次

    1. epoch、training step等

    转至深度学习中 number of training epochs 中的 epoch到底指什么?

    ①一次epoch=所有训练数据forward+backward后更新参数的过程。1个epoch表示过了1遍训练集中的所有样本。
    epoch:中文翻译为时期。一个时期 = 所有训练样本的一个正向传递和一个反向传递。
    ②一次training step(又称iteration或迭代)=[batch size]个训练数据forward+backward后更新参数过程。每次迭代更新1次网络结构的参数
    batch-size 指1次迭代所使用的样本量

    值得注意的是,在深度学习领域中,常用带mini-batch的随机梯度下降算法(Stochastic Gradient Descent, SGD)训练深层结构,它有一个好处就是并不需要遍历全部的样本,当数据量非常大时十分有效。此时,可根据实际问题来定义epoch,例如定义10000次迭代为1个epoch,若每次迭代的batch-size设为256,那么1个epoch相当于过了2560000个训练样本。

    举个例子

    训练集有1000个样本,batchsize=10,训练完整个样本集需要: 100次training step,1次epoch。具体的计算公式为:

    one epoch = numbers of iterations = N = 训练样本的数量/batch_size

    batch_size=10这10个数据组成的数据集叫batch
    每跑完一个batch都要更新参数,这个过程叫一个training step
    epoch指的就是跑完这100个batch(100个training step)的这个过程

    2. npy npz文件的读取

    import numpy as np
    test=np.load('E:/PyCharm/Agua_Code/···/dataset1_appended_v1.npz',encoding = "latin1")  #加载文件
    doc = open('Dataset1.txt', 'a')  #打开一个存储文件,并依次写入
    print(test.keys())  #将打印内容写入文件中
    print(test['requests_v1'])
    

    参考CSDN

    >>> arch=np.load('C:\Users\Administrator\Desktop\\array_archive.npz') 
    >>> arch 
    <numpy.lib.npyio.NpzFile object at 0x0000000003AF3470> 
    >>> arch.keys() 
    ['a', 'b'] 
    >>> arch['b'] 
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    

    相关文章

      网友评论

          本文标题:2018-12-24 epoch、training step;n

          本文链接:https://www.haomeiwen.com/subject/pautlqtx.html