This shows you the differences between two versions of the page.
|
ps:labs_python_gpt:01 [2025/09/24 22:57] andrei.gavriliu |
ps:labs_python_gpt:01 [2025/10/02 20:16] (current) andrei.gavriliu |
||
|---|---|---|---|
| Line 7: | Line 7: | ||
| <note important>Vom folosi versiunea **[[https://www.python.org/downloads/ | Python 3.11]]**</note> | <note important>Vom folosi versiunea **[[https://www.python.org/downloads/ | Python 3.11]]**</note> | ||
| - | + | Reguli de utilizare a modelelor de AI la laborator și la temă: | |
| - | + | * Studenții **nu pot** folosi ChatGPT, Gemini, Copilot etc pentru rezolvarea integrală a laboratorului sau a temei | |
| - | De asemenea, încurajăm folosirea modelelor de AI precum ChatGPT, Google Gemini sau GitHub Copilot, dar într-un mod constructiv rezolvării laboratoarelor. Utilizarea lor eficientă își dorește să ofere studentului părți din soluție sau idei, atunci când acesta se află în impas și nu soluția completă a laboratorului. | + | * Studenții **pot** folosi ChatGPT, Gemini, Copilot etc pentru generarea de bucăți de cod, funcții, sub-task-uri, adică doar părți din problemă, nu problema integral |
| + | * Studenții trebuie să înțeleagă soluțiile oferite de modelele de AI și să le explice asistentului de laborator, în caz contrar laboratorul fiind notat cu 0 | ||
| + | * Studenții trebuie să fie asumați în utilizarea modelelor precum ChatGPT, Gemini, Copilot etc | ||
| <note tip>**Task:** Generați și afișati o sinusoidă de frecvență 1 Hz peste 1 secundă.</note> | <note tip>**Task:** Generați și afișati o sinusoidă de frecvență 1 Hz peste 1 secundă.</note> | ||
| - | <note warning>**Exemplul unui prompt pentru o abordare ineficientă:** | + | <note warning>**Exemplul unui prompt pe care nu îl recomandăm în rezolvarea task-ului:** |
| * Generați și afișati o sinusoidă de frecvență 1 Hz peste 1 secundă. | * Generați și afișati o sinusoidă de frecvență 1 Hz peste 1 secundă. | ||
| </note> | </note> | ||
| - | <note tip>**Exemplul unui prompt pentru o abordare eficientă:** | + | <note tip>**Exemplul unor prompturi pe care le recomandăm pentru înțelegerea și rezolvarea task-ului:** |
| - | * Cum poți defini frecvența?, De ce este relevantă pentru o sinusoidă? | + | |
| * Ce funcție din Python pot folosi pentru a genera o sinusoidă? | * Ce funcție din Python pot folosi pentru a genera o sinusoidă? | ||
| * Ce argumente primește? | * Ce argumente primește? | ||
| Line 36: | Line 37: | ||
| * <nowiki>afișați (a**b)</nowiki> | * <nowiki>afișați (a**b)</nowiki> | ||
| - | Pentru procesarea semnalelor ne vom folosi de bibliotecile **scipy** și **numpy**. Aceastea ne vor ajuta să aplicăm o mulțime de operații matematice vectoriale. Putem defini elementele pe care le folosim cel mai des, precum vectorii și matricele, folosindu-ne de aceaste biblioteci. | + | Pentru procesarea semnalelor ne vom folosi de bibliotecile **scipy** și **numpy**. Acestea ne vor ajuta să aplicăm o mulțime de operații matematice vectoriale. Putem defini elementele pe care le folosim cel mai des, precum vectorii și matricele, folosindu-ne de aceste biblioteci. |
| <note>Va trebui să importați bibliotecile de care aveți nevoie pentru a le folosi | <note>Va trebui să importați bibliotecile de care aveți nevoie pentru a le folosi | ||
| import numpy as np | import numpy as np | ||
| Line 78: | Line 79: | ||
| * Transpuneți matricea pe care ați creat-o mai devreme. | * Transpuneți matricea pe care ați creat-o mai devreme. | ||
| - | * Creați un vector coloană cu elemente de unu, ca la al doilea exercițiu și modificând parametrul shape cu un număr de elemente mai mare decât unu pentru prima dimensiune. Printați acest vector. | + | * Creați un vector coloană cu elemente de unu, ca la al doilea exercițiu, modificând parametrul shape cu un număr de elemente mai mare decât unu pentru prima dimensiune. Printați acest vector. |
| * Acum transpuneți acest vector și printați-l din nou. Care este diferența dintre afișări? | * Acum transpuneți acest vector și printați-l din nou. Care este diferența dintre afișări? | ||
| Line 138: | Line 139: | ||
| Ar trebui să obțineți ceva de genul: | Ar trebui să obțineți ceva de genul: | ||
| {{:ps:labs:sine2.png?direct&200|Figura 2}} | {{:ps:labs:sine2.png?direct&200|Figura 2}} | ||
| + | |||
| + | După rezolvarea task-ului, încercați să confuzați cumva modelul de AI pentru a oferi un răspuns greșit. | ||
| + | |||
| + | <note tip> Hint: Modificați cumva graficul obținut la exercițiul precedent sau cel de la exercițiul curent pentru ca mai apoi modelul să ofere un răspuns greșit. (ex. culori, titlu, axe, grid etc) </note> | ||
| 9. O aplicație ușoară | 9. O aplicație ușoară | ||
| Line 151: | Line 156: | ||
| * scădeți cumva matricele de zgomot | * scădeți cumva matricele de zgomot | ||
| * afișați imaginea după ce ați eliminat zgomotul | * afișați imaginea după ce ați eliminat zgomotul | ||
| + | <note> | ||
| Rețineți că o matrice imagine conține numai valori de la 0 la 255. | Rețineți că o matrice imagine conține numai valori de la 0 la 255. | ||
| + | </note> | ||
| 10. Înmulțire de matrici | 10. Înmulțire de matrici | ||
| Line 164: | Line 169: | ||
| 11. Procesarea unui sunet | 11. Procesarea unui sunet | ||
| - | Pentru acest exercițiu, task-ul vostru va fi să citiți și să afișați grafic semnalul cu zgomot ({{:ps:labs:noisy_sound.mat|click aici}}) | + | Pentru acest exercițiu, task-ul vostru va fi să citiți și să afișați grafic semnalul cu zgomot ({{:ps:labs_python:lab1_noisy_sound.zip|click aici}}) |
| + | |||
| + | * Folosiți funcția load pentru a încărca semnalul | ||
| + | * Extrageți informații despre semnal, folosind indexarea | ||
| + | |||
| + | <note> Indexarea datelor din semnal | ||
| + | noisy_signal = npz['noisy_sound'] | ||
| + | fs = noisy_signal.shape[0] | ||
| + | </note> | ||
| + | |||
| + | * Afișați grafic semnalul asemenea sinusoidelor | ||
| + | * Afișați frecvența de eșantionare (fs) și lungimea semnalului. Ce observați? | ||
| - | Task-ul vostru va fi să construiți 2 matrici cu elemente random de dimensiune identică 3x3 și să folosiți cei trei operatori: | ||
| - | * Generați și afișați matricele | ||
| - | * Înmulțiți matricele element cu element apoi afișați rezultatul | ||
| - | * Înmulțiți matricele matematic folosind funcția corespunzătoare din numpy apoi afișați rezultatul | ||
| - | * Înmulțiți matricele matematic folosind operatorul specific apoi afișați rezultatul | ||
| 12. Row-major | 12. Row-major | ||