主要内容

洗牌

在小批量队列中打乱数据

    描述

    洗牌(兆贝可重置保存的数据兆贝可并将其随机排序。洗牌之后,下一个函数返回不同的小批。使用此语法在自定义训练循环中的每个训练周期之后重置和打乱数据。

    例子

    全部折叠

    洗牌函数重置和洗牌minibatchqueue对象,以便以随机顺序从中获取数据。相比之下,重置函数重置minibatchqueue对象添加到底层数据存储的开始位置。

    创建一个minibatchqueue对象。

    ds = digitDatastore;兆贝可= minibatchqueue (ds,“MinibatchSize”, 256)
    mbq = minibatchqueue,有1个输出和属性:迷你批创建:MiniBatchSize: 256 PartialMiniBatch: 'return' MiniBatchFcn: 'collate' DispatchInBackground: 0 Outputs: OutputCast: {'single'} OutputAsDlarray: 1 MiniBatchFormat: {"} OutputEnvironment: {'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