Sunt un începător în Deep Learning cu Pytorch. Aici folosesc setul de date Prețul locuințelor de la Kaggle. Am încercat eșantionarea cu primele 50 de rânduri. Dar model.parameters () nu se actualizează pe măsură ce efectuez antrenamentul. Poate ajuta cineva?

care

1 Răspuns 1

Greutatea se actualizează, dar nu o capturați corect. model.weight.data este un tensor al torței, dar numele variabilei este doar o referință, deci setarea w = model.weight.data nu creează o copie, ci o altă referință la obiect. Prin urmare, schimbarea model.weight.data s-ar schimba și ea.

Deci, prin setarea datelor w = model.weight.data și w_new = model.weight într-o parte diferită a buclelor, înseamnă că atribuiți două referințe la același obiect, făcând valoarea lor egală în permanență.

Pentru a evalua dacă greutatea modelului se schimbă, fie imprimați (model.weight.data) înainte și după buclă (deoarece aveți un strat liniar de 10 parametri, este încă bine să faceți asta) sau pur și simplu setați w = model.weight .data.clone (). În acest caz, rezultatul dvs. va fi:

Iată un exemplu care vă arată că greutățile dvs. se schimbă: