minibatchqueue without shuffling by default
1 次查看(过去 30 天)
显示 更早的评论
mbq = minibatchqueue(ads,MiniBatchSize=miniBatchSize,MiniBatchFormat="BC");
If without mbq.shuffle, mbq retains the original sequence in ads? That is, minibatchqueue just cuts ads into length(ads)/miniBatchSize*portions?
e.g. ads=arrayDatastore(linspace(0,2,1000),IterationDimension=1) and if miniBatchSize=100, then the 1st batch of mbq is just [0, ..., 0.2]?
采纳的回答
Ben
2022-7-12
I think you need to use IterationDimension=2 to read out [0, ..., 0.2] in one mini-batch:
ads=arrayDatastore(linspace(0,2,1000),IterationDimension=2);
miniBatchSize=100;
mbq = minibatchqueue(ads,MiniBatchSize=miniBatchSize,MiniBatchFormat="BC");
batch = next(mbq);
This will read out a batch of 100 observations, first [0, ..., 0.1982], then [0.2002,...,0.3984] etc. These will be output as 1x100 dlarray with "CB" labels - i.e. a batch of 100 observations.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Custom Training Loops 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!