一、pytorch学习笔记之简单分类器的构建

1.下载训练集数据和测试集数据

2.利用pytorch定义一个CNN:

 CNN结构:conv1-->relu-->pool-->conv2-->relu-->pool-->view()-->fc1-->relu-->fc2-->relu-->f3

pytorch中神经网络的一般形式:

class Net(nn.Module):

        def __init__(self):

                super(Net,self).__init__

                self.conv1=nn.Conv2d(3,6,5)

                self.conv2=nn.Conv3d(3,16,5)

                self.pool=nn.MaxPool2d(2,2)

                self.fc1=nn.Linear(16*5*5,120)

                self.fc2=nn.Linear(120,84)

                self.fc3=nn.Linear(84,10)

        def forward(self,x):

                x=self.pool(F.relu(self.conv1(x)))

                x=self.pool(F.relu(self.conv2(x)))

                x=x.view(-1,16*5*5)

                x=F.relu(self.fc1(x))

                x=F.relu(self.fc2(x))

                x=self.fc3(x)

return x

net=Net()

3.定义loss function和优化函数

import torch.optim as optim

criterion=nn.CrossEntropyLoss()

optimizer=optim.SGD(net.parameters(),lr=0.001,momentum=0.9)

4训练

for epoch in range(num_epochs)

    running_loss=0.0

    for  每个minibatch

            inputs,labels=data

            optimizer.zero_grad()#梯度清零

            outputs=net(intputs)#前向传播

            loss=criterion(outputs,labels)#计算损失

            loss.backward()#反向传播

           optimizer.step()#更新参数

  输出loss


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值