partition

Partition datastore и возврат на секционированный фрагмент

Описание

пример

subADS = partition(ADS,numPartitions,index) partitions datastore ADS в количество частей, заданное numPartitions и возвращает раздел, соответствующий index.

пример

subADS = partition(ADS,'Files',index) разделяет datastore по файлам и возвращает раздел, относящийся к файлу индекса index в Files свойство.

subADS = partition(ADS,'Files',filename) разделяет datastore по файлам и возвращает раздел, соответствующий файлу, заданному filename.

Примеры

свернуть все

Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.

folder = fullfile(matlabroot,'toolbox','audio','samples');
ADS = audioDatastore(folder)
ADS = 
  audioDatastore with properties:

                       Files: {
                              ' .../build/matlab/toolbox/audio/samples/Ambiance-16-44p1-mono-12secs.wav';
                              ' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav';
                              ' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav'
                               ... and 31 more
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

Разделите datastore на три части.

subADS1 = partition(ADS,3,1)
subADS1 = 
  audioDatastore with properties:

                       Files: {
                              ' .../build/matlab/toolbox/audio/samples/Ambiance-16-44p1-mono-12secs.wav';
                              ' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav';
                              ' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav'
                               ... and 9 more
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

subADS2 = partition(ADS,3,2)
subADS2 = 
  audioDatastore with properties:

                       Files: {
                              ' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav';
                              ' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav';
                              ' .../matlab/toolbox/audio/samples/MainStreetOne-16-16-mono-12secs.wav'
                               ... and 8 more
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

subADS3 = partition(ADS,3,3)
subADS3 = 
  audioDatastore with properties:

                       Files: {
                              ' .../matlab/toolbox/audio/samples/RockGuitar-16-96-stereo-72secs.flac';
                              ' .../build/matlab/toolbox/audio/samples/SingingAMajor-16-mono-18secs.ogg';
                              ' .../build/matlab/toolbox/audio/samples/SoftGuitar-44p1_mono-10mins.ogg'
                               ... and 8 more
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.

folder = fullfile(matlabroot,'toolbox','audio','samples');
ADS = audioDatastore(folder);

Получите количество разделов по умолчанию для ADS.

n = numpartitions(ADS);

Разделите datastore на количество разделов по умолчанию и верните datastore, соответствующий первому разделу.

subADS = partition(ADS,n,1);

Считайте данные в subADS.

while hasdata(subADS)
    data = read(subADS);
end

Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.

folder = fullfile(matlabroot,'toolbox','audio','samples');
ADS = audioDatastore(folder);

Разделите datastore по файлам и верните часть, соответствующую второму файлу. subds содержит один файл.

subds = partition(ADS,'Files',2)
subds = 
  audioDatastore with properties:

                       Files: {
                              ' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav'
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

Разделите datastore, чтобы облегчить параллельный доступ к доступному параллельному пулу работников.

Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.

folder = fullfile(matlabroot,'toolbox','audio','samples');
ADS = audioDatastore(folder);

Возвращает оценку разумного количества разделов для параллельной обработки, учитывая текущий параллельный пул.

pool = gcp;
n = numpartitions(ADS,pool);

Разделите audio datastore и считайте данные в каждой части.

parfor ii = 1:n
    subds = partition(ADS,n,ii);
    while hasdata(subds)
        data = read(subds);
    end
end

Входные параметры

свернуть все

Audio datastore, заданный как audioDatastore объект.

Количество разбиений, заданное в виде положительного целого числа. Использовать numpartitions оценить разумное значение для numPartitions.

Типы данных: double

Индекс подdatastore, заданный в виде положительного целого числа в область значений [1, numPartitions].

Типы данных: double

Имя файла, заданное как вектор символов.

Значение filename должен точно совпадать с именем файла, содержащимся в Files свойство datastore.

Типы данных: char

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

свернуть все

Выход аудиоданных datastore, возвращенный как audioDatastore объект.

Введенный в R2018b