https://blog.csdn.net/zcgyq/article/details/83085028
Visite este site para assistir melhor
Encontrou o seguinte erro no pytorch:
libraries/torch/extra/cunn/lib/THCUNN/ClassNLLCriterion.cu:52: void
cunn_ClassNLLCriterion_updateOutput_kernel(Dtype *, Dtype *, Dtype *, long *,
Dtype *, int, int, int, int) [with Dtype = float, Acctype = float]: block:
[0,0,0], thread: [2,0,0] Assertiont >= 0 && t < n_classesfailed.
O motivo desse problema é que, ao realizar tarefas de classificação, há rótulos nos dados de treinamento que excedem o número de classificações. Por exemplo, eu defino um total de 8 classes, mas se 9 aparecer no rótulo nos dados de treinamento, esse erro será relatado.
Então aí vem o problema, tem uma armadilha aqui.
Se o rótulo nos dados de treinamento contiver 0, o erro acima também será relatado. Isso é muito estranho. Geralmente, começamos a contar a partir de 0, mas no pytorch, todos os rótulos de categoria abaixo de 0 relatarão um erro. Portanto, se os rótulos de classe começarem em 0, adicione um a todos os rótulos de classe.