Pessoal, compartilho aqui minha versão do notebook da Aula 4. Mantive o espírito do material e acrescentei algumas melhorias para facilitar análise de desempenho e diagnóstico do modelo.
Original: https://github.com/alura-cursos/1563-treinando-pytorch/blob/aula-04/Carregamento%20de%20Dados.ipynb
Minha versão: https://github.com/carlosvblessa/treinando-pytorch/blob/main/04-CarregamentoDeDados.ipynb
Principais diferenças
Loop de treino corrigido:
- Removi o Softmax final (uso
CrossEntropyLoss
, que já espera logits). - Incluí
optimizer.zero_grad()
antes deloss.backward()
.
- Removi o Softmax final (uso
Histórico de métricas por época (loss/accuracy) e gráficos de loss × época e acurácia de teste.
Avaliação completa ao final:
classification_report
(precision/recall/F1) e matrizes de confusão.Organização do código para ficar fácil testar número de épocas, batch size e seed.
Resultados
- Acurácia em teste ~98% (treino ~99,6%).
- As curvas mostram perda decrescente e estabilidade de acurácia; dá para encerrar por volta da 20ª época sem prejuízo relevante, reduzindo tempo de execução.
Fica o registro caso ajude alguém a explorar métricas e diagnósticos extras.