PyTorch
实现神经网络图像分类
本文章主要参考《深度学习与图像识别 原理与实践一书》
上篇文章介绍了KNN
分类算法,并用其来实现MNIST
和Cifar10
数据集的分类任务,这篇文章同样是做这两个数据集的分类,但是使用的Pytorch
构建神经网络算法来完成实验,是我自己对Pytorch
的一个初步学习。
之前一直是使用Keras
,之所以学习Pytorch
是因为,Keras
比较适合作为练习使用的深度学习框架,因为其过度的封装导致学习时无法理解深度学习的真正内涵。
PyTorch
的使用
Tensor
Tensor是Pytorch
中的基础组件,Tensor与Numpy
中的ndarrays
非常类似,但是Tensor可以使用GPU
加速而ndarrays
不可以。在pytorch
下使用如下命令来进行GPU
运算:
1 | import torch |
x和y为Tensor类型的数据,如果电脑无GPU
,则无法进行GPU
运算。
Terson
与Numpy
互相转换
1 | import torch |
Tensor做矩阵运算(矩阵相乘)