partition

Разделите minibatchqueue

    Описание

    пример

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

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

    Примеры

    свернуть все

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

    Создайте minibatchqueue от datastore.

    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.

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

    Создайте minibatchqueue от datastore.

    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. submbq содержит подмножество данных в mbq Свойства submbq совпадают со свойствами mbq.

    Введенный в R2020b