我是靠谱客的博主 醉熏火,最近开发中收集的这篇文章主要介绍FASHION-MNIST 图像分类实现(softmax regression)--Dive-into-DL-Pytorch,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
参照Dive-into-DL-Pytorch,可自行下载阅读。
本文在pycharm 中编译,结果如图所示,准确率还需提升。
导入模块
import torch
import numpy as np
import d2lzh_pytorch as d2l
d2lzh_pytorch是一个包,方便以后的调用,后面展示都有哪些函数。
#batch_size设为2^n
batch_size = 256
#导入fashion_mnist数据,第一次自动下载,训练样本60000(10类,每个6000张),测试样本10000(10类,每个1000张)
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)
#输入为28*28的图片,需转换为784*1
num_inputs = 784
#输出分类有10类,预测输出其中一类
num_outputs = 10
#softmax(w*x + b),w的维度为784*10,b的维度为1*10
w = torch.tensor(np.random.normal(0, 0.01, (num_inputs, num_outputs)), dtype=torch.float)
b = torch.zeros(num_outputs, dtype=torch.float)
#需要参数的梯度
w.requires_grad_(requires_grad=True)
b.requires_grad_(requires_grad=True)
#softmax计算,keepdim=True为在结果中保持行,列不变
def softmax(x):
x_exp = x.exp()
partition = x_exp.sum(dim=1, keepdim=True)
return x_exp / partition
#定义模型
def net(x):
return softmax(torch.mm(x.view(-1, num_inputs), w) + b)
#输出10个中,只有最大的那个为1,其余为0,故通过gather选出1所对应位置的y_hat即可,负对数
def cross_entropy(y_hat, y):
return - torch.log
最后
以上就是醉熏火为你收集整理的FASHION-MNIST 图像分类实现(softmax regression)--Dive-into-DL-Pytorch的全部内容,希望文章能够帮你解决FASHION-MNIST 图像分类实现(softmax regression)--Dive-into-DL-Pytorch所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复