Acest criteriu combină nn.LogSoftmax () și nn.NLLLoss () într-o singură clasă.

pytorch

Este util atunci când instruiți o problemă de clasificare cu clasele C. Dacă este furnizat, argumentul opțional al greutății ar trebui să fie un tensor 1D care atribuie greutatea fiecărei clase. Acest lucru este util mai ales atunci când aveți un set de antrenament dezechilibrat.

Se așteaptă ca intrarea să conțină scoruri brute, neormalizate pentru fiecare clasă.

Pierderea poate fi descrisă ca:

sau în cazul în care argumentul greutății este specificat:

Pierderile sunt calculate în medie prin observații pentru fiecare minibatch. Dacă este specificat argumentul ponderii, atunci aceasta este o medie ponderată:

Poate fi folosit și pentru intrări de dimensiuni mai mari, cum ar fi imaginile 2D, oferind o intrare de dimensiune (minibatch, C, d 1, d 2, ..., D K) (minibatch, C, d_1, d_2,. D_K) minibatch, C, d 1, d 2, ..., d K) cu K ≥ 1 K \ geq 1 K ≥ 1, unde KKK este numărul de dimensiuni și o țintă de formă adecvată (vezi mai jos).

greutate (Tensor, opțional) - o greutate de redimensionare manuală acordată fiecărei clase. Dacă este dat, trebuie să fie un tensor de dimensiunea C

mărime_medie (bool, opțional) - Învechit (vezi reducerea). În mod implicit, pierderile sunt calculate pentru fiecare element de pierdere din lot. Rețineți că, pentru unele pierderi, există mai multe elemente pe eșantion. Dacă câmpul size_average este setat la False, pierderile sunt însumate pentru fiecare minibatch. Ignorat atunci când reducerea este falsă. Implicit: Adevărat

ignore_index (int, opțional) - Specifică o valoare țintă care este ignorată și nu contribuie la gradientul de intrare. Când size_average este True, pierderea este calculată în medie față de țintele neignorate.

reduce (bool, opțional) - Învechit (vezi reducerea). În mod implicit, pierderile sunt mediate sau însumate pe observații pentru fiecare minibatch în funcție de mărime_medie. Când reducerea este False, returnează o pierdere pe element de lot și ignoră size_average. Implicit: Adevărat

reducere (șir, opțional) - Specifică reducerea de aplicat la ieșire: „none” | „înseamnă” | 'sumă'. „none”: nu se va aplica nicio reducere, „mean”: se ia media ponderată a rezultatului, „suma”: rezultatul va fi însumat. Notă: size_average și reduce sunt în curs de depreciere și, între timp, specificarea oricăruia dintre aceste două argumente va anula reducerea. Implicit: „medie”