This shows you the differences between two versions of the page.
ps:tema_2021 [2021/11/07 21:51] andrei.nicolicioiu created |
ps:tema_2021 [2023/11/07 06:23] (current) andrei.nicolicioiu |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <hidden> | ||
+ | ====== Această temă este veche. NU o faceți pe aceasta. ====== | ||
+ | |||
===== Temă ===== | ===== Temă ===== | ||
- | Această temă are termen limită de predare **16 Noiembrie 23:59**, până când va fi încărcată pe cs.curs.pub.ro și va fi prezentată la laborator în săptămâna urmatoare. Dacă tema va fi încărcată după termenul limită va avea o penalizare de minim 30% apoi câte 10% pentru fiecare zi peste termenul limită. | + | Această temă are termen limită de predare **21 Noiembrie 23:59**, până când va fi încărcată pe curs.upb.ro și va fi prezentată la laborator în săptămâna următoare. Dacă tema va fi încărcată după termenul limită va avea o penalizare de minim 30%, apoi câte 10% pentru fiecare zi peste termenul limită. |
Tema valorează 10% din punctajul cursului. | Tema valorează 10% din punctajul cursului. | ||
Line 30: | Line 33: | ||
% select a fraction of alpha percents of each file | % select a fraction of alpha percents of each file | ||
alpha = 1 / 1000; | alpha = 1 / 1000; | ||
- | b = size(audio_train)(1) / 2 - alpha * size(audio_train)(1) / 2 + 1; | + | b = floor(size(audio_train,1) / 2 - alpha * size(audio_train,1) / 2 + 1); |
- | e = size(audio_train)(1) / 2 + alpha * size(audio_train)(1) / 2; | + | e = floor(size(audio_train,1) / 2 + alpha * size(audio_train,1) / 2); |
audio_train_small = audio_train(b:e,:); | audio_train_small = audio_train(b:e,:); | ||
- | b = size(audio_train)(1) / 2 - alpha * size(audio_train)(1) / 2 + 1; | + | b = floor(size(audio_train,1) / 2 - alpha * size(audio_train,1) / 2 + 1); |
- | e = size(audio_train)(1) / 2 + alpha * size(audio_train)(1) / 2; | + | e = floor(size(audio_train,1) / 2 + alpha * size(audio_train,1) / 2); |
audio_test_small = audio_test(b:e,:); | audio_test_small = audio_test(b:e,:); | ||
% calculam vectorii de trasaturi pentru fiecare fisier din datasetul de train si de test | % calculam vectorii de trasaturi pentru fiecare fisier din datasetul de train si de test | ||
- | % get_features primeste toate sunetele din set date intr-o matrice | + | % get_features primeste toate sunetele din set date intr-o matrice (audio_train) |
- | % de dimensiune Dimensiune_dataset x Numaresults_esantioane si returnează toate | + | % de dimensiune: numar_ensantioane x numar_sunete si returnează toate |
- | % featurile acestor sunete intr-o matrice de dimensiune Numaresults_sunete x (2*M) | + | % featurile acestor sunete intr-o matrice (feat_train) de dimensiune numar_sunete x (2*M) |
+ | % alaturi de setul de filtre h folosite (filters) reprezentat de o matrice de dimeniune K x M | ||
+ | |||
% TODO: calculati featurile folosind un set de M filtre Gammatone | % TODO: calculati featurile folosind un set de M filtre Gammatone | ||
% plot_figs == true afisati figurile cerute in tema | % plot_figs == true afisati figurile cerute in tema | ||
Line 47: | Line 51: | ||
[filters, feat_train] = get_features(audio_train, fs, plot_figs); | [filters, feat_train] = get_features(audio_train, fs, plot_figs); | ||
[filters, feat_test] = get_features(audio_test, fs, plot_figs); | [filters, feat_test] = get_features(audio_test, fs, plot_figs); | ||
+ | |||
+ | % size(audio_train) = numar_ensantioane x numar_sunete = 160704 x 300 | ||
+ | % size(feat_train) = numar_sunete x (2*M) = 300 x 24 | ||
+ | % size(filters) = K x M | ||
% antrenam un clasificator | % antrenam un clasificator | ||
Line 96: | Line 104: | ||
% select a fraction of alpha percents of each file | % select a fraction of alpha percents of each file | ||
alpha = 1 / 1000; | alpha = 1 / 1000; | ||
- | b = size(audio_train)(1) / 2 - alpha * size(audio_train)(1) / 2 + 1; | + | b = floor(size(audio_train,1) / 2 - alpha * size(audio_train,1) / 2 + 1); |
- | e = size(audio_train)(1) / 2 + alpha * size(audio_train)(1) / 2; | + | e = floor(size(audio_train,1) / 2 + alpha * size(audio_train,1) / 2); |
audio_train_small = audio_train(b:e,:); | audio_train_small = audio_train(b:e,:); | ||
- | b = size(audio_train)(1) / 2 - alpha * size(audio_train)(1) / 2 + 1; | + | b = floor(size(audio_train,1) / 2 - alpha * size(audio_train,1) / 2 + 1); |
- | e = size(audio_train)(1) / 2 + alpha * size(audio_train)(1) / 2; | + | e = floor(size(audio_train,1) / 2 + alpha * size(audio_train,1) / 2); |
audio_test_small = audio_test(b:e,:); | audio_test_small = audio_test(b:e,:); | ||
% calculam vectorii de trasaturi pentru fiecare fisier din datasetul de train si de test | % calculam vectorii de trasaturi pentru fiecare fisier din datasetul de train si de test | ||
- | % get_features primeste toate sunetele din set date intr-o matrice | + | % get_features primeste toate sunetele din set date intr-o matrice (audio_train) |
- | % de dimensiune Dimensiune_dataset x Numaresults_esantioane si returnează toate | + | % de dimensiune: numar_ensantioane x numar_sunete si returnează toate |
- | % featurile acestor sunete intr-o matrice de dimensiune Numaresults_sunete x (2*M) | + | % featurile acestor sunete intr-o matrice (feat_train) de dimensiune numar_sunete x (2*M) |
+ | % alaturi de setul de filtre h folosite (filters) reprezentat de o matrice de dimeniune K x M | ||
+ | |||
% TODO: calculati featurile folosind un set de M filtre Gammatone | % TODO: calculati featurile folosind un set de M filtre Gammatone | ||
% plot_figs == true afisati figurile cerute in tema | % plot_figs == true afisati figurile cerute in tema | ||
- | |||
[filters, feat_train] = get_features(audio_train, fs, plot_figs); | [filters, feat_train] = get_features(audio_train, fs, plot_figs); | ||
[filters, feat_test] = get_features(audio_test, fs, plot_figs); | [filters, feat_test] = get_features(audio_test, fs, plot_figs); | ||
+ | |||
+ | % size(audio_train) = numar_ensantioane x numar_sunete = 160704 x 300 | ||
+ | % size(feat_train) = numar_sunete x (2*M) = 300 x 24 | ||
+ | % size(filters) = K x M | ||
% antrenam un clasificator | % antrenam un clasificator | ||
Line 141: | Line 153: | ||
% sound(audio_test(:,r),fs); | % sound(audio_test(:,r),fs); | ||
% sprintf('Clasa corecta: %s', labels_name(labels_test(r))) | % sprintf('Clasa corecta: %s', labels_name(labels_test(r))) | ||
- | % sprintf('Clasa prezisa: %s', labels_name(results_test(r))) | + | % sprintf('Clasa prezisa: %s', labels_name(pred_test(r))) |
</file> | </file> | ||
</note> | </note> | ||
+ | </hidden> | ||
+ |