基于PyTorch构建手写识别

使用PyTorch构建神经网络模型进行手写识别

PyTorch是一种基于Torch库的开源机器学习库,应用于计算机视觉和自然语言处理等应用,本章内容将从安装以及通过Torch构建基础的神经网络,计算梯度为主要内容进行学习。

How can we install Torch?

Torch在Linux,Windows,Mac等开发环境下都有特定的安装方法,首先搜索官方网页https://pytorch.org/,由下图所示我们可以根据自己适合的环境进行选择,我使用的是1.9.0版本Windows环境下conda包Python语言,CPU计算平台的安装。

安装过程需要打开Anaconda命令行输入下方所给提示命令指引,


安装好Torch后打开常用的编辑器进行测试


OK,我们可以看到已经成功的在电脑上安装了Torch

下列代码均在Jupyter NoteBook编辑,conda等安装方式不在此文章说明

在“PYTORCH”中定义神经网络

深度学习算法即为神经网络算法,它是由多层互连计算单元组成的计算系统。通过这些相互连接的单元传递数据,神经网络能够学习如何近似将输入转换位输出所需的计算。在Torch中可以使用torch.nn包构建神经网络。

最常听说的也是最基础的MNIST数据集也就是手写识别数据,定义用于MNIST数据集的神经网络需要如下步骤

1.导入库

2.定义初始化神经网络

3.指定数据集构建模型

4.通过模型传递数据进行测试

将从应用角度出发,下述内容神经网络名词定义不做过多叙述。

导入相关库加载数据

构建神经网络所需库为torch.nn以及torch.nn.functional

import os
import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets, transforms

通过上述模块和类,torch.nn帮助我们创建和训练神经网络,包含forward(input),返回output

定义,初始化神经网络

我们定义的神经网络将帮助我们识别图像,将使用PyTorch内置的卷积。卷积过程将图像的每个元素添加到local neighbors,由内核或小型矩阵权重配比,将有助于我们从输入图像中提取某些特征(边缘检测,锐度,模糊度等)。

定义Net模型的类有两个要求。第一个是编写一个__init__引用nn.Moudle。这个函数是你在你神经网络中定义全连接层的地方。

使用卷积,我们从构建的神经网络模型输出一个图像通道,输出匹配数字从0到9的10个标签的目标,下列构建传统的MNIST算法

class Net(nn.M
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值