exponenta event banner

разделение

Мини-очередь с разделами

    Описание

    пример

    submbq = partition(mbq,numParts,indx) разделы minibatchqueue объект mbq в numParts и возвращает раздел, соответствующий индексу indx. Свойства submbq являются теми же, что и свойства mbq.

    Продукция minibatchqueue объект имеет доступ только к разделу данных, который он получает при создании. Используя reset с submbq сбрасывает minibatchqueue объект в начале раздела данных. Используя shuffle с submbq перетасовывает только секционированные данные. Если требуется перетасовать данные по нескольким разделам, необходимо перетасовать оригинал. minibatchqueue объект, а затем повторно разбиение.

    Примеры

    свернуть все

    Используйте функцию секционирования для разделения minibatchqueue объект на три части.

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

    ds = digitDatastore;
    mbq = minibatchqueue(ds)
    mbq = 
    minibatchqueue with 1 output and properties:
    
       Mini-batch creation:
               MiniBatchSize: 128
            PartialMiniBatch: 'return'
                MiniBatchFcn: 'collate'
        DispatchInBackground: 0
    
       Outputs:
                  OutputCast: {'single'}
             OutputAsDlarray: 1
             MiniBatchFormat: {''}
           OutputEnvironment: {'auto'}
    

    Разбиение на разделы minibatchqueue разбить объект на три части и вернуть первый раздел.

    sub1 = partition(mbq,3,1)
    sub1 = 
    minibatchqueue with 1 output and properties:
    
       Mini-batch creation:
               MiniBatchSize: 128
            PartialMiniBatch: 'return'
                MiniBatchFcn: 'collate'
        DispatchInBackground: 0
    
       Outputs:
                  OutputCast: {'single'}
             OutputAsDlarray: 1
             MiniBatchFormat: {''}
           OutputEnvironment: {'auto'}
    

    sub1 содержит приблизительно первую треть данных в mbq.

    Используйте partition функция для разделения minibatchqueue объект на три части.

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

    ds = digitDatastore;
    mbq = minibatchqueue(ds)
    mbq = 
    minibatchqueue with 1 output and properties:
    
       Mini-batch creation:
               MiniBatchSize: 128
            PartialMiniBatch: 'return'
                MiniBatchFcn: 'collate'
        DispatchInBackground: 0
    
       Outputs:
                  OutputCast: {'single'}
             OutputAsDlarray: 1
             MiniBatchFormat: {''}
           OutputEnvironment: {'auto'}
    

    Разбиение на разделы minibatchqueue объект на три части на трех рабочих в параллельном пуле. Выполните итерацию над данными каждого работника.

    numWorkers = 3;
    p = parpool('local',numWorkers);
    parfor i=1:3
        submbq = partition(mbq,3,i);
        while hasdata(submbq)
            data = next(submbq);
        end
    end

    Каждый работник имеет доступ к подмножеству данных в оригинале minibatchqueue объект.

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

    свернуть все

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

    Число секций, указанное как числовой скаляр.

    Индекс секционирования, указанный как числовой скаляр.

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

    свернуть все

    Продукция minibatchqueue, указано как minibatchqueue объект. submbq содержит подмножество данных в mbq. Свойства submbq являются теми же, что и свойства mbq.

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