exponenta event banner

разделение

Хранилище данных секционирования и возврат секционированной части

Описание

пример

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

пример

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

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

Примеры

свернуть все

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

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"

Разбейте хранилище данных на три части.

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™. Создайте хранилище аудиоданных, указывающее на указанную папку.

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

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

n = numpartitions(ADS);

Разбиение хранилища данных на разделы по умолчанию и возврат хранилища данных, соответствующего первому разделу.

subADS = partition(ADS,n,1);

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

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

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

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

Разбиение хранилища данных по файлам и возврат детали, соответствующей второму файлу. 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"

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

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

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

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

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

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

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

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

свернуть все

Хранилище аудиоданных, указанное как audioDatastore объект.

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

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

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

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

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

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

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

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

свернуть все

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

Представлен в R2018b