本文重点
我们前面学习了基本网络模型的搭建,获取网络模型的子结构,以及优化器optim,我们发现我们设置优化器的时候,是对整个模型设置的,也就是说整个模型的参数学习率是一样,本节课程我们学习如何给不同的网络层设置不同的学习率。主要还是通过优化器optim来实现的,本文学习第6步(优化器)
网络模型的搭建
import torch
from torch import nn
from torch import optim
class Net(nn.Module):
def __init__(self):
super(Net,self).__init__()
self.features=nn.Sequential(
nn.Conv2d(3,6,5),
nn.ReLU(True),
nn.MaxPool2d(2,2),
nn.Conv2d(6,16,5),
nn.ReLU(),
nn.MaxPool2d(2,2)
)
self.classifier=nn.Sequential(
nn.Linear(16*5*5,120),
nn.ReLU(),
nn.Linear(120,84),
nn.ReLU(),
nn.Linear(84,10)
)
def forward(self,x):
x=self.features(x)
x=x.view(x.shape[0],-1)
x=self.classifier(x)
return x
net=Net()
optimizer=optim.SGD(params=net.parameters(),lr=1)
#优化的参数是net.parameters()也就是所有的参数,所有参数的学习率为1
print(optimizer
订阅专栏 解锁全文

857

被折叠的 条评论
为什么被折叠?



