Разделяет datastore согласно заданным пропорциям меток
разделяет аудио файлов на [ADS1,ADS2]
= splitEachLabel(ADS
,p
)ADS
в два новых хранилища данных, ADS1
и ADS2
. Новый datastore ADS1
содержит первое p
файлы из каждой метки и ADS2
содержит оставшиеся файлы из каждой метки. p
может быть либо число от 0 до 1, исключающее, указывающее процент файлов от каждой метки, которой нужно назначить ADS1
, или целое число, указывающее абсолютное количество файлов из каждой метки, которую нужно назначить ADS1
.
разделяет datastore на [ADS1,...,ADSM]
= splitEachLabel(ADS
,p1,...,pN
)N+1
новые хранилища данных. Новый datastore ADS1
содержит первое p1
файлы из каждой метки, следующего нового datastore ADS2
содержит следующую p2
файлы и так далее. Если p1,…,pN
представляют номера файлов, тогда их сумма должна быть не больше, чем количество файлов в наименьшей метке в исходном datastore, ADS
.
___ = splitEachLabel(___,'randomized')
случайным образом присваивает заданную долю файлов из каждой метки новым хранилищам данных.
___ = splitEachLabel(___,
задает свойства новых хранилищ данных, используя один или несколько аргументы пары "имя-значение". Для примера можно задать, с какими метками разделять Name,Value
)'Include','labelname'
.
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A
к первой половине файлов и к метке B
ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B
. Функции countEachLabel
чтобы подтвердить, что половина файлов помечена A
и половина файлов помечена B
.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ... repmat({'B'},1,ceil(numel(ADS.Files)/2))]; ADS.Labels = labels; countEachLabel(ADS)
ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделите ADS на два хранилища данных, ADS1
и ADS2
, указывая, что каждый новый datastore содержит пятьдесят процентов каждой метки и соответствующих файлов. Функции countEachLabel
чтобы подтвердить, что половина файлов помечена A
и половина файлов помечена B
для каждого из новых хранилищ данных.
[ADS1,ADS2] = splitEachLabel(ADS,0.5)
ADS1 = 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 7 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 7 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS2 = audioDatastore with properties: Files: { ' .../build/matlab/toolbox/audio/samples/Engine-16-44p1-stereo-20sec.wav'; ' .../build/matlab/toolbox/audio/samples/FemaleSpeech-16-8-mono-3secs.wav'; ' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav' ... and 7 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 7 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS1count = countEachLabel(ADS1)
ADS1count=2×2 table
Label Count
_____ _____
A 5
B 5
ADS2count = countEachLabel(ADS2)
ADS2count=2×2 table
Label Count
_____ _____
A 5
B 5
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A
к первой половине файлов и к метке B
ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B
. Функции countEachLabel
чтобы подтвердить, что половина файлов помечена A
и половина файлов помечена B
.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ... repmat({'B'},1,ceil(numel(ADS.Files)/2))]; ADS.Labels = labels; countEachLabel(ADS)
ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделите ADS на два хранилища данных, ADS1
и ADS2
. Задайте, что ADS1
содержит четыре метки и соответствующий им файл. ADS2
содержит оставшиеся метки и соответствующие файлы. Функции countEachLabel
чтобы подтвердить, что ADS1
содержит четыре файла с меткой A
и четыре файла, помеченные B
, и что ADS2
содержит оставшиеся метки.
[ADS1,ADS2] = splitEachLabel(ADS,4)
ADS1 = 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 5 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 5 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS2 = audioDatastore with properties: Files: { ' .../build/matlab/toolbox/audio/samples/Counting-16-44p1-mono-15secs.wav'; ' .../build/matlab/toolbox/audio/samples/Engine-16-44p1-stereo-20sec.wav'; ' .../build/matlab/toolbox/audio/samples/FemaleSpeech-16-8-mono-3secs.wav' ... and 9 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 9 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS1count = countEachLabel(ADS1)
ADS1count=2×2 table
Label Count
_____ _____
A 4
B 4
ADS2count = countEachLabel(ADS2)
ADS2count=2×2 table
Label Count
_____ _____
A 6
B 6
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A
к первой половине файлов и к метке B
ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B
. Функции countEachLabel
чтобы подтвердить, что половина файлов помечена A
и половина файлов помечена B
.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ... repmat({'B'},1,ceil(numel(ADS.Files)/2))]; ADS.Labels = labels; countEachLabel(ADS)
ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделение ADS
в три новых хранилища данных, ADS60
, ADS10
, и ADS30
. Первый datastore, ADS60
, содержит первые 60% файлов с A
пометить и первые 60% файлов с B
метка. ADS10
содержит следующие 10% файлов из каждой метки. ADS30
содержит оставшиеся 30% файлов из каждой метки. Если процент, примененный к метке, не приводит к целому числу файлов, splitEachLabel
округлится до ближайшего целого числа.
[ADS60,ADS10,ADS30] = splitEachLabel(ADS,0.6,0.1)
ADS60 = 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' } Labels: {'A'; 'A'; 'A' ... and 9 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS10 = audioDatastore with properties: Files: { ' .../build/matlab/toolbox/audio/samples/FemaleSpeech-16-8-mono-3secs.wav'; ' .../matlab/toolbox/audio/samples/TrainWhistle-16-44p1-mono-9secs.wav' } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'B'} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS30 = audioDatastore with properties: Files: { ' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav'; ' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav'; ' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav' ... and 3 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 3 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
Функции countEachLabel
для подтверждения правильного распределения меток для каждого datastore.
countEachLabel(ADS60)
ans=2×2 table
Label Count
_____ _____
A 6
B 6
countEachLabel(ADS10)
ans=2×2 table
Label Count
_____ _____
A 1
B 1
countEachLabel(ADS30)
ans=2×2 table
Label Count
_____ _____
A 3
B 3
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav');
Добавьте метку A
к первой половине файлов и к метке B
ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B
. Функции countEachLabel
чтобы подтвердить, что половина файлов помечена A
и половина файлов помечена B
.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ... repmat({'B'},1,ceil(numel(ADS.Files)/2))]; ADS.Labels = labels; countEachLabel(ADS)
ans=2×2 table
Label Count
_____ _____
A 10
B 10
Разделение ADS
в три новых хранилища данных, ADS1
, ADS2
, и ADS3
. Первый datastore, ADS1
, содержит первый файл с A
пометить и первый файл с B
метка. ADS2
содержит следующий файл из каждой метки. ADS3
содержит оставшиеся файлы из каждой метки. Если процент, примененный к метке, не приводит к целому числу файлов, splitEachLabel
округлится до ближайшего целого числа.
[ADS1,ADS2,ADS3] = splitEachLabel(ADS,1,1)
ADS1 = audioDatastore with properties: Files: { ' .../build/matlab/toolbox/audio/samples/Ambiance-16-44p1-mono-12secs.wav'; ' .../matlab/toolbox/audio/samples/MainStreetOne-16-16-mono-12secs.wav' } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'B'} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS2 = audioDatastore with properties: Files: { ' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav'; ' .../build/matlab/toolbox/audio/samples/NoisySpeech-16-22p5-mono-5secs.wav' } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'B'} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS3 = audioDatastore with properties: Files: { ' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav'; ' .../build/matlab/toolbox/audio/samples/Click-16-44p1-mono-0.2secs.wav'; ' .../build/matlab/toolbox/audio/samples/Counting-16-44p1-mono-15secs.wav' ... and 13 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 13 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
Функции countEachLabel
для подтверждения правильного распределения меток для каждого datastore.
countEachLabel(ADS1)
ans=2×2 table
Label Count
_____ _____
A 1
B 1
countEachLabel(ADS2)
ans=2×2 table
Label Count
_____ _____
A 1
B 1
countEachLabel(ADS3)
ans=2×2 table
Label Count
_____ _____
A 8
B 8
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav')
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 17 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } AlternateFileSystemRoots: {} OutputDataType: 'double' Labels: {} SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
Добавьте метку A
к первой половине файлов и к метке B
ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B
. Функции countEachLabel
чтобы подтвердить, что половина файлов помечена A
и половина файлов помечена B
.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ... repmat({'B'},1,ceil(numel(ADS.Files)/2))]; ADS.Labels = labels; countEachLabel(ADS)
ans=2×2 table
Label Count
_____ _____
A 10
B 10
Создайте два новых хранилища данных из файлов в ADS
путем случайного рисования из каждой метки. Первый datastore, ADS1
, содержит два случайных файла с A
пометить и два случайных файла с B
метка. ADS2
содержит оставшиеся файлы из каждой метки.
[ADS1,ADS2] = splitEachLabel(ADS,2,'randomized')
ADS1 = audioDatastore with properties: Files: { ' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav'; ' .../build/matlab/toolbox/audio/samples/Engine-16-44p1-stereo-20sec.wav'; ' .../matlab/toolbox/audio/samples/MainStreetOne-16-16-mono-12secs.wav' ... and 1 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'B' ... and 1 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
ADS2 = 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'; ' .../build/matlab/toolbox/audio/samples/Click-16-44p1-mono-0.2secs.wav' ... and 13 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 13 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder,'FileExtensions','.wav')
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 17 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } AlternateFileSystemRoots: {} OutputDataType: 'double' Labels: {} SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
Добавьте метку A
к первой половине файлов и к метке B
ко второму тайму. Если существует нечетное количество файлов, присвойте дополнительному файлу метку B
. Функции countEachLabel
чтобы подтвердить, что половина файлов помечена A
и половина файлов помечена B
.
labels = [repmat({'A'},1,floor(numel(ADS.Files)/2)), ... repmat({'B'},1,ceil(numel(ADS.Files)/2))]; ADS.Labels = labels; countEachLabel(ADS)
ans = 2x2 table Label Count _____ _____ A 10 B 10
Создайте два новых хранилища данных из файлов в ADS
, включая только файлы с A
метка. ADS1
содержит первые 70% файлов с A
метки, и ADS2
содержит оставшиеся 30% меток с A
метка.
[ADS1,ADS2] = splitEachLabel(ADS,0.7,'Include','A')
ADS1 = 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 4 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 4 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav" ADS2 = audioDatastore with properties: Files: { ' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav'; ' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav'; ' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav' } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A'} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
Эквивалентно, вы можете разделить только A
метка путем исключения B
метка.
[ADS1,ADS2] = splitEachLabel(ADS,0.7,'Exclude','B')
ADS1 = 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 4 more } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A' ... and 4 more} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav" ADS2 = audioDatastore with properties: Files: { ' .../BR2021ad/build/matlab/toolbox/audio/samples/Heli_16ch_ACN_SN3D.wav'; ' .../matlab/toolbox/audio/samples/JetAirplane-16-11p025-mono-16secs.wav'; ' .../build/matlab/toolbox/audio/samples/Laughter-16-8-mono-4secs.wav' } Folders: { '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples' } Labels: {'A'; 'A'; 'A'} AlternateFileSystemRoots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"
Укажите путь к файлу для выборок аудио, включенных в 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"
Создайте таблицу меток с двумя переменными:
containsMusic
- Может быть либо true
или false
.
instrument
- Можно Guitar
, Drums
, или Unknown
.
containsGuitar = contains(ADS.Files,'guitar','IgnoreCase',true); containsDrums = contains(ADS.Files,'drum','IgnoreCase',true); containsMusic = or(containsGuitar,containsDrums); instrument = strings(size(ADS.Files)); instrument(:) = "Unknown"; instrument(containsGuitar) = "Guitar"; instrument(containsDrums) = "Drums";
Присвойте таблицу меток Labels
свойство audio datastore для связи строк таблицы меток со строками datastore. Функции countEachLabel
для определения случайностей containsMusic
и instrument
.
labels = table(containsMusic,instrument); ADS.Labels = labels; containsMusicCount = countEachLabel(ADS,'TableVariable','containsMusic')
containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 27
true 7
instrumentCount = countEachLabel(ADS,'TableVariable','instrument')
instrumentCount=3×2 table
instrument Count
__________ _____
Drums 4
Guitar 3
Unknown 27
Разделите datastore ADS
в два, исходя из того, содержит ли аудио файла музыку. ADS1
содержит 70% аудио файлов, которые содержат музыку, и ADS2
содержит сообщение rest. call countEachLabel
чтобы проверить, что отношение containsMusic == true
на containsMusic == false
сохраняется для новых хранилищ данных в пределах округления.
[ADS1,ADS2] = splitEachLabel(ADS,0.7,'TableVariable','containsMusic'); ADS1_containsMusicCount = countEachLabel(ADS1,'TableVariable','containsMusic')
ADS1_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 19
true 5
ADS2_containsMusicCount = countEachLabel(ADS2,'TableVariable','containsMusic')
ADS2_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 8
true 2
Разделите datastore ADS
в два, на основе типа инструмента, присутствующего в аудио файла. ADS3
содержит 25% аудио файлов, которые имеют метку инструмента, и ADS4
содержит сообщение rest. call countEachLabel
чтобы проверить, что отношение instrument == "drums"
на instrument == "guitar"
сохраняется для новых хранилищ данных в пределах округления.
[ADS3,ADS4] = splitEachLabel(ADS,0.25,'TableVariable','instrument'); ADS3_instrumentCount = countEachLabel(ADS3,'TableVariable','instrument')
ADS3_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 1
Guitar 1
Unknown 7
ADS4_instrumentCount = countEachLabel(ADS4,'TableVariable','instrument')
ADS4_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 3
Guitar 2
Unknown 20
Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™. Создайте audio datastore, который указывает на указанную папку.
folder = fullfile(matlabroot,'toolbox','audio','samples'); ADS = audioDatastore(folder);
Создайте таблицу меток с двумя переменными:
containsMusic
- Может быть либо true
или false
.
instrument
- Можно Guitar
, Drums
, или Unknown
.
containsGuitar = contains(ADS.Files,'guitar','IgnoreCase',true); containsDrums = contains(ADS.Files,'drum','IgnoreCase',true); containsMusic = or(containsGuitar,containsDrums); instrument = strings(size(ADS.Files)); instrument(:) = "Unknown"; instrument(containsGuitar) = "Guitar"; instrument(containsDrums) = "Drums";
Присвойте таблицу меток Labels
свойство audio datastore для связи строк таблицы меток со строками datastore. Функции countEachLabel
для определения случайностей containsMusic
и instrument
.
labels = table(containsMusic,instrument); ADS.Labels = labels; containsMusicCount = countEachLabel(ADS,'TableVariable','containsMusic')
containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 27
true 7
instrumentCount = countEachLabel(ADS,'TableVariable','instrument');
Разделите datastore ADS
в два, исходя из того, содержит ли аудио файла музыку. ADS1
содержит 5 меток под табличной переменной containsMusic
, и ADS2
содержит сообщение rest. call countEachLabel
для проверки.
[ADS1,ADS2] = splitEachLabel(ADS,5,'TableVariable','containsMusic'); ADS1_containsMusicCount = countEachLabel(ADS1,'TableVariable','containsMusic')
ADS1_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 5
true 5
ADS2_containsMusicCount = countEachLabel(ADS2,'TableVariable','containsMusic')
ADS2_containsMusicCount=2×2 table
containsMusic Count
_____________ _____
false 22
true 2
Разделите datastore ADS
в два, на основе типа инструмента, присутствующего в аудио файла. ADS3
содержит 2 каждой метки под табличной переменной instrument
, и ADS4
содержит сообщение rest. call countEachLabel
для проверки.
[ADS3,ADS4] = splitEachLabel(ADS,2,'TableVariable','instrument'); ADS3_instrumentCount = countEachLabel(ADS3,'TableVariable','instrument')
ADS3_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 2
Guitar 2
Unknown 2
ADS4_instrumentCount = countEachLabel(ADS4,'TableVariable','instrument')
ADS4_instrumentCount=3×2 table
instrument Count
__________ _____
Drums 2
Guitar 1
Unknown 25
ADS
- Входной audio datastoreaudioDatastore
объектВведите audio datastore, заданный как audioDatastore
объект.
p
- Доля файлов в разделенииДоля файлов в разделении, заданная как скаляр в интервале (0,1) или положительный целочисленный скаляр.
Если p
находится в интервале (0,1), представляет процент файлов от каждой метки, которой нужно назначить ADS1
. Если p
представляет процент, и это не приводит к целому числу, тогда splitEachLabel
округлится до ближайшего целого числа.
Если p
является целым числом, оно представляет абсолютное количество файлов из каждой метки, которую нужно назначить ADS1
. Когда p
представляет ряд файлов, должно быть не менее p
файлы, сопоставленные с каждой меткой.
Типы данных: double
p1,...,pN
- Список пропорцийСписок пропорций, заданных как скаляры в интервале (0,1) или положительные целочисленные скаляры.
Если пропорции находятся в интервале (0,1), они представляют процент файлов от каждой метки, которые нужно назначить выход хранилищам данных. Когда пропорции представляют проценты, их сумма должна быть не более 1.
Если пропорции являются целыми числами, они указывают абсолютное количество файлов из каждой метки для назначения выхода хранилищам данных. Когда пропорции представляют количество файлов, должно быть достаточно файлов, сопоставленных с каждой меткой, чтобы удовлетворить каждой пропорции.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
[ADS1,ADS2] = splitEachLabel(ADS,0.5,'Exclude','noisy')
'Include'
- Метки, которые нужно включитьМетки для включения, заданные как разделенная разделенными запятой парами, состоящая из 'Include'
и вектор, массив ячеек или строковые массивы имен меток того же типа, что и Labels
свойство. Каждое имя должно совпадать с одной из меток в Labels
свойство datastore.
Эта опция не может использоваться с 'Exclude'
опция.
'Exclude'
- Метки, которые нужно исключитьМетки для исключения, заданные как разделенная разделенными запятой парами, состоящая из 'Exclude'
и вектор, массив ячеек или строковые массивы имен меток того же типа, что и Labels
свойство. Каждое имя должно совпадать с одной из меток в Labels
свойство datastore.
Эта опция не может использоваться с 'Include'
опция.
'TableVariable'
- Имя табличной переменной метокИмя табличной переменной, заданное как разделенная разделенными запятой парами, состоящая из 'TableVariable'
и вектор символов или строка. Когда Labels
свойство audio datastore ADS
является таблицей, которую вы должны использовать 'TableVariable'
чтобы указать, какая метка используется для разделения.
Типы данных: char
| string
[ADS1,ADS2]
- Выход аудиоданныхaudioDatastore
объектыВыход аудиоданных, возвращенный как audioDatastore
объекты. ADS1
содержит указанную долю файлов из каждой метки в ADS
, и ADS2
содержит оставшиеся файлы.
[ADS1,...,ADSM]
- Список выходных хранилищ аудиоданныхaudioDatastore
объектыСписок выхода хранилищ аудиоданных, возвращенный как audioDatastore
объекты. Количество элементов в списке больше, чем количество перечисленных пропорций. Каждый из новых хранилищ данных содержит долю каждой метки в ADS
определяется p1,…,pN
. Все оставшиеся файлы присваиваются M-му datastore.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.