首页 > 编程知识 正文

优化器都做了啥,optimizer参数

时间:2023-05-03 12:14:47 阅读:173652 作者:38

1 .第一个讲的重要zero_grad() 坡度清除。

每次坡度计算完成时,不会自动清除网络中的优化器坡度,因此必须手动输入函数才能清除优化器坡度。 例如:

for i,datainenumerate(dataloader ) : #图像和标签inputs,labels=data inputs,labels=variable ) inputs, variable(labels ) optimizer.zero_grad ) #优化梯度清零outputs=net(inputs ) loss=criterion ) outputs,labels ) #损耗函数

state_dict() 关于获取模型参数

在里面放入词典,放入模型的权重、bias偏移,以词典形式返回。 例如:

#导入所需的库函数importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorchvisionimportnumpyasmpimportmatplotlib.pottib #网络classthemodelclass(nn.module ) : def _ init _ (self ) :super ) themodelclass,self )5) self.pooo 5 ) self.fc1=nn.linear ) 16 * 5,16 *510 ) defforward(self, x ) :x=self.pool ) f.relu ) self.conV1 ) x ) x=self.pool ) f.relu ) self.conVon 16*5*5) x=f.relu 是主函数def main ) )的优化程序初始化optimizer=optim.SGD (model.parameters ),lr=0.001,momentum=0.9 ) # 打印模式' s state _ dict print (' model.state _ dict : ) (for param _ tensorinmodel.state _ dict ) )是“t” model.state _ dict ([ param _ tensor ].size ) ) print optimizer ' s state _ dict print ' optimizer,state _ dict 33334

等待手续。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。