主要内容

洗牌

在minibatchqueue中洗牌数据

    描述

    洗牌(兆贝可重置所持有的数据兆贝可然后把它打乱成一个随机的顺序。变换之后,下一个函数返回不同的小批量。在自定义训练循环的每个训练阶段之后,使用此语法重置和洗牌数据。

    例子

    全部折叠

    洗牌函数将重置和洗牌minibatchqueue对象,以便以随机顺序从它获取数据。相比之下,重置函数重置minibatchqueue对象指向底层数据存储的开始。

    创建一个minibatchqueue对象。

    ds = digitDatastore;兆贝可= minibatchqueue (ds,“MinibatchSize”, 256)
    mbq = minibatchqueue with 1 output and properties: Mini-batch creation: MiniBatchSize: 256 PartialMiniBatch: 'return' MiniBatchFcn: 'collate' DispatchInBackground: 0 Outputs: OutputCast: {'single'} OutputAsDlarray: 1 MiniBatchFormat: {"} outputenenvironment: {'auto'}

    获取第一个小批量数据。

    X1 =下一个(兆贝可);

    中的其余数据进行迭代minibatchqueue对象。使用hasdata检查数据是否仍然可用。

    hasdata(兆贝可)下(兆贝可);结束

    洗牌的minibatchqueue对象,并在队列洗牌后获取第一个迷你批处理。

    洗牌(兆贝可);X2 =下一个(兆贝可);

    再次迭代剩余的数据。

    hasdata(兆贝可)下(兆贝可);结束

    重置minibatchqueue对象,并在队列重置后获取第一个迷你批处理。

    重置(兆贝可);X3 =下一个(兆贝可);

    检查复位或洗牌后获得的小批量minibatchqueue对象后的第一个迷你批处理相同minibatchqueue创建对象。

    isequal (X1, X2) isequal (X1, X2)
    Ans = 0 Ans = 1

    重置函数的作用是:返回minibatchqueue对象设置为底层数据的开始,以便下一个函数每次都以相同的顺序返回小批量。相比之下,洗牌函数会打乱底层数据并产生随机的小批量。

    输入参数

    全部折叠

    小批量队列,指定为minibatchqueue对象。

    介绍了R2020b