Pytorch深度学习基础——Softmax回归实现
程序员文章站
2022-05-26 21:13:02
...
Pytorch实现Softmax回归
FashionMNIST数据集
我们将会使用FashionMNIST这个数据集,这相当于机器学习当中的“Hello World”,无论什么时候提出一个新的分类算法,都想知道该算法在这个数据集上的表现如何。
获取数据集
import torch
from torch import nn
from torch.nn import init
import numpy as np
import sys
sys.path.append("..")
import d2lzh_pytorch as d2l
train_iter=torch.utils.data.DataLoader(mnist_train,batch_size=batch_size,shuffle=True,num_workers=num_workers)
test_iter=torch.utils.data.DataLoader(mnist_test,batch_size=batch_size,shuffle=True,num_workers=num_workers)
定义模型并训练
num_inputs=784
num_outputs=10
class LinearNet(nn.Module):
def __init__(self,num_inputs,num_outputs):
super(LinearNet,self).__init__()
self.linear=nn.Linear(num_inputs,num_outputs)
def forward(self,X):
y=self.linear(X.view(X.shape[0],-1))
return y
net=LinearNet(num_inputs,num_outputs);
print(net)
class FattenLayer(nn.Module):
##处理数据集的shape
def __init__(self):
super(FattenLayer,self).__init__()
def forward(self,X):
return X.view(X.shape[0],-1)
net=nn.Sequential(
FattenLayer(),
LinearNet(num_inputs,num_outputs)
)
init.normal_(net[1].linear.weight,mean=0,std=0.01)
init.constant_(net[1].linear.bias,val=0)
loss=nn.CrossEntropyLoss()
optimizer=torch.optim.SGD(net.parameters(),lr=0.1)
num_epochs = 5
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, batch_size, None, None, optimizer)
下一篇: markdown的基础语法
推荐阅读
-
深度学习零基础使用 PyTorch 框架跑 MNIST 数据集的第四天:单例测试
-
深度学习框架Pytorch——学习笔记(六)PyTorch实现L1,L2正则化以及Dropout
-
【深度学习】Dropout实现(pyTorch)
-
(pytorch-深度学习系列)pytorch避免过拟合-dropout丢弃法的实现-学习笔记
-
深度学习pytorch基础入门教程(1小时)-自动梯度
-
基于深度学习的口罩识别与检测PyTorch实现
-
Pytorch 深度学习 Day01 ---Softmax与分类模型
-
【深度学习学习笔记】3.softmaxRegression:实现softmax的交叉熵损失函数
-
pytorch 深度学习入门代码 (四)多层全连接神经网络实现 MNIST 手写数字分类
-
动手学深度学习PyTorch-task1(线性回归;Softmax与分类模型;多层感知机)