exponenta event banner

перетасовка

Перетасовка данных в мини-очереди

    Описание

    shuffle(mbq) сбрасывает данные, содержащиеся в mbq и перетасовывает его в случайный порядок. После перетасовки следующая функция возвращает различные мини-пакеты. Используйте этот синтаксис, чтобы сбросить и перетасовать данные после каждого периода обучения в индивидуальном цикле обучения.

    Примеры

    свернуть все

    shuffle функция сбрасывает и тасует minibatchqueue объект, чтобы из него можно было получить данные в случайном порядке. Напротив, reset функция сбрасывает minibatchqueue объект в начале базового хранилища данных.

    Создать minibatchqueue объект из хранилища данных.

    ds = digitDatastore;
    mbq = 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: {''}
           OutputEnvironment: {'auto'}
    

    Получите первый мини-пакет данных.

    X1 = next(mbq);

    Итерация по остальным данным в minibatchqueue объект. Использовать hasdata для проверки доступности данных.

    while hasdata(mbq)
        next(mbq);
    end

    Перетасовать minibatchqueue и получают первый мини-пакет после перетасовки очереди.

    shuffle(mbq);
    X2 = next(mbq);

    Повторите итерацию по оставшимся данным.

    while hasdata(mbq)
        next(mbq);
    end

    Сбросить minibatchqueue и получают первый мини-пакет после сброса очереди.

    reset(mbq);
    X3 = next(mbq);

    Проверьте, получены ли мини-партии после сброса или перетасовки minibatchqueue объекты совпадают с первой мини-партией после minibatchqueue создается объект.

    isequal(X1,X2)
    isequal(X1,X3)
    ans = 
       0
    ans = 
       1
    

    reset функция возвращает minibatchqueue объект к началу базовых данных, так что next функция возвращает мини-пакеты в одном и том же порядке каждый раз. Напротив, shuffle функция перетасовывает базовые данные и создает рандомизированные мини-пакеты.

    Входные аргументы

    свернуть все

    Очередь мини-пакетов, указанная как minibatchqueue объект.

    Представлен в R2020b