partition

Datastore раздела и возвращается на разделенном фрагменте

Описание

пример

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

пример

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

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

Примеры

свернуть все

Задайте путь к файлу к аудиосэмплам, включенным с Audio Toolbox™. Создайте аудио 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/BR2021bd/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/BR2021bd/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/BR2021bd/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/BR2021bd/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

Задайте путь к файлу к аудиосэмплам, включенным с Audio Toolbox™. Создайте аудио 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™. Создайте аудио 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/BR2021bd/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

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

Задайте путь к файлу к аудиосэмплам, включенным с Audio Toolbox™. Создайте аудио datastore, который указывает на заданную папку.

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

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

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

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

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

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

свернуть все

Аудио datastore в виде audioDatastore объект.

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

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

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

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

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

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

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

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

свернуть все

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

Введенный в R2018b