
pytorch
林中化人
这个作者很懒,什么都没留下…
展开
-
关于pytorch的eval()和no_grad()
不论是否再no_grad()的条件下,bn层在非eval状态下,只要运行过数据,内部的变量running_meanrunning_varnum_batches_tracked都会发生更新,发生变化。而在eval情况下,则会相反。原创 2020-08-06 18:12:36 · 415 阅读 · 0 评论 -
关于pytorch的backward()
pytorch中的loss.backward()是梯度反传,计算每一个变量的grad。只是之前在纠结GAN的两个loss什么时候反传,参数什么时候更新的时候,观察到backward()后,内存的存储量下降,原来反传完毕之后,就把中间计算变量都释放了。所以你重复运行两次loss.backward()会报错:Trying to backward through the graph a second time, but the buffers have already been freed.当然你可以加原创 2020-08-06 17:28:50 · 1493 阅读 · 0 评论