Main Content

reset

Reset minibatchqueue to start of data

Since R2020b

    Description

    reset(mbq) resets mbq back to the start of the underlying datastore.

    Examples

    collapse all

    You can call next on a minibatchqueue object until all data is returned. When you reach the end of the data, use reset to reset the minibatchqueue object and continue obtaining mini-batches with next.

    Create a minibatchqueue object from a datastore.

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

    Iterate over all data in the minibatchqueue object. Use hasdata to check if data is still available.

    while hasdata(mbq)
        [~] = next(mbq);
    end

    When hasdata returns 0 (false), you cannot collect a mini-batch using next.

    hasdata(mbq)
    ans = 
       0
    X = next(mbq);
    Error using minibatchqueue/next (line 353)
    Unable to provide a mini-batch because end of data reached. Use reset or shuffle to continue generating mini-batches from the data set.

    Reset the minibatchqueue object. Now, hasdata returns 1 (true), and you can continue to obtain data using next.

    reset(mbq);
    hasdata(mbq)
    ans = 
       1
    
    X = next(mbq);

    Input Arguments

    collapse all

    Mini-batch queue, specified as a minibatchqueue object.

    Version History

    Introduced in R2020b