Kevin Liao
PreguntaHola, alguien me puede explicar para qué sirve esta pieza de código por favor?
optimizer.zero_grad() loss.backward() optimizer.step()

Anderson Steven Mendez Chipatecua
El **optimezer.zero_grad() **se refiere a que va a reiniciar los gradientes porque PyTorch acumula los gradientes, y los tienes que reiniciar porque si no lo haces eso va a afectar a tu posicion. **loss.backward() **lo que hace es que va a calcular todas las derivadas parciales en este caso solo la del loss es decir esa funcion nos calcula el gradiente. optimizer.step() es para avanzar en la dirección contraria del gradiente que calculaste anteriormente, y asi sucesivamente en las siguientes iteraciones, calculas el gradiente en la posicion donde esta y avanzas hacia un minimo local de la funcion. si tienes dudas de porque se calcula el gradiente y porque avanzas te recomiendo que revises mas afondo el concepto o teoria ya que en esta clase y en la anterior no se explica muy bien, puedes ver los videos de Dot CSV y leer en el libro de Hands on machine Learning edicio 2. pag.112- ahí explican la regresion lineal,el gradiente y la regresion logistica, tengo unas notas en notion por si te interesan.