Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[MXNet逐梦之旅]练习四·使用MXNetFashionMNIST数据集分类简洁实现

[MXNet逐梦之旅]练习四·使用MXNetFashionMNIST数据集分类简洁实现

作者头像
小宋是呢
发布于 2019-06-27 03:48:29
发布于 2019-06-27 03:48:29
60400
代码可运行
举报
文章被收录于专栏:深度应用深度应用
运行总次数:0
代码可运行

[MXNet逐梦之旅]练习四·使用MXNetFashionMNIST数据集分类简洁实现

  • code
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#%%
import sys
import time
from mxnet import gluon as gl
import mxnet as mx
from matplotlib import pyplot as plt
from mxnet import autograd, nd
import numpy as np

mnist_train = gl.data.vision.FashionMNIST(root="fashion-mnist/",train=True)
mnist_test = gl.data.vision.FashionMNIST(root="fashion-mnist/",train=False)
print(len(mnist_train), len(mnist_test))

"""我也遇到这个问题,想用之前下载好的数据集直接使用。但是由于MXNet的MNIST数据集读取的机制会去验证数据集的正确性,所以我使用的用keras下载的数据集放到相关位置,MXNet还是还是会去下载。
解决方法,我用MXNet下载了好了fashion-mnist数据集,上传了,大家可以直接下载到相应位置解压即可。
也可以从采用自定义位置的方式 :_mnist_train = gl.data.vision.FashionMNIST(root="fashion-mnist/",train=True)_
只需放到编写代码处解压即可。。"""

#%%

batch_size = 100
transformer = gl.data.vision.transforms.ToTensor()
if sys.platform.startswith('win'):
    num_workers = 0  # 0表示不用额外的进程来加速读取数据
else:
    num_workers = 4


train_iter = gl.data.DataLoader(mnist_train.transform_first(transformer),
                              batch_size, shuffle=True,
                              num_workers=num_workers)
test_iter = gl.data.DataLoader(mnist_test.transform_first(transformer),
                             1000, shuffle=False,
                             num_workers=num_workers)



def get_fashion_mnist_labels(labels):
    text_labels = ['t-shirt', 'trouser', 'pullover', 'dress', 'coat',
                   'sandal', 'shirt', 'sneaker', 'bag', 'ankle boot']
    return([text_labels[int(i.asnumpy())] for i in labels])

def show_img(x,y):
    plt.figure("Image") # 图像窗口名称
    plt.imshow(x.asnumpy()*255)
    plt.title(get_fashion_mnist_labels(y)) # 图像题目
    plt.show()


"""start = time.time()
for X, y in train_iter:
    break
print('%.2f sec' % (time.time() - start))"""

model = gl.nn.Sequential()
model.add(gl.nn.Dense(256,activation="relu"))
model.add()
model.add(gl.nn.Dense(10))
model.initialize(mx.init.Normal(sigma=0.01))

lr = 0.1
loss = gl.loss.SoftmaxCrossEntropyLoss()

trainer = gl.Trainer(model.collect_params(), 'sgd', {'learning_rate': lr})

def accuracy(y_hat, y):
    return (y_hat.argmax(axis=1) == y.astype('float32')).mean().asscalar()

num_epochs = 10
for epoch in range(1, num_epochs + 1):
    losses = []
    for X, y in train_iter:
        with autograd.record():
            l = loss(model(X), y)
            losses.append(l.asnumpy())
        l.backward()
        trainer.step(batch_size)

    loss_sum = np.mean(losses)
    for Xt, yt in test_iter:
        accy = accuracy(model(Xt),yt)
        break

    print('epoch %d, loss: %f, accy: %f' % (epoch,loss_sum,accy))
  • out
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
60000 10000
epoch 1, loss: 0.773934, accy: 0.812000
epoch 2, loss: 0.490065, accy: 0.855000
epoch 3, loss: 0.436965, accy: 0.852000
epoch 4, loss: 0.401657, accy: 0.875000
epoch 5, loss: 0.380360, accy: 0.856000
epoch 6, loss: 0.363831, accy: 0.869000
epoch 7, loss: 0.349141, accy: 0.873000
epoch 8, loss: 0.337938, accy: 0.877000
epoch 9, loss: 0.326593, accy: 0.874000
epoch 10, loss: 0.319641, accy: 0.884000
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年01月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[MXNet逐梦之旅]练习三·使用MXNetFashionMNIST数据集分类手动实现
[MXNet逐梦之旅]练习三·使用MXNetFashionMNIST数据集分类手动实现 code #%% import sys import time from mxnet import gluon as gl import mxnet as mx from matplotlib import pyplot as plt from mxnet import autograd, nd import numpy as np mnist_train = gl.data.vision.FashionMNIST(r
小宋是呢
2019/06/27
4240
[MXNet逐梦之旅]练习五·使用MXNetFashionMNIST数据集CNN分类(对比CPU与GPU)
[MXNet逐梦之旅]练习五·使用MXNetFashionMNIST数据集CNN分类(对比CPU与GPU) 使用下述代码实现检测当前环境GPU是否支持 def try_gpu(): try: ctx = mx.gpu() _ = mx.nd.zeros((1,), ctx=ctx) except mx.base.MXNetError: ctx = mx.cpu() return ctx ctx = try_gpu() 使用下述代码实现
小宋是呢
2019/06/27
5670
[MXNet逐梦之旅]练习六·使用MXNetFashionMNIST数据集RNN分类
我们需要注意的参数有hidden_size (int),num_layers (int, default 1)与layout (str, default 'TNC')
小宋是呢
2019/06/27
5240
[MXNet逐梦之旅]练习六·使用MXNetFashionMNIST数据集RNN分类
【动手学深度学习笔记】之图像分类数据集(Fashion-MNIST)
这个数据集是我们在后面学习中将会用到的图形分类数据集。它的图像内容相较于手写数字识别数据集MINIST更为复杂一些,更加便于我们直观的观察算法之间的差异。
树枝990
2020/08/20
3.9K0
【动手学深度学习笔记】之图像分类数据集(Fashion-MNIST)
【动手学深度学习笔记】之PyTorch实现softmax回归
由softmax回归模型的定义可知,softmax回归模型只有权重参数和偏差参数。因此可以使用神经网络子模块中的线性模块。
树枝990
2020/08/20
1.8K0
【深度学习基础】线性神经网络 | 图像分类数据集
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特征是具有自动提取特征的能力。神经网络算法、算力和数据是开展深度学习的三要素。深度学习在计算机视觉、自然语言处理、多模态数据分析、科学探索等领域都取得了很多成果。本专栏介绍基于PyTorch的深度学习算法实现。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
Francek Chen
2025/01/22
1080
【深度学习基础】线性神经网络 | 图像分类数据集
【动手学深度学习笔记】之多层感知机实现
Fashion-MNIST数据集中的图像为28*28像素,也就是由784个特征值。Fashion-MNIST数据集一共有十个类别。因此模型需要784个输入,10个输出。假设隐藏单元为256(超参数,可调节)。
树枝990
2020/08/19
6420
从零开始学Pytorch(四)softmax及其实现
softmax运算符(softmax operator)解决了以上两个问题。它通过下式将输出值变换成值为正且和为1的概率分布:
墨明棋妙27
2022/09/23
1.3K0
动手学深度学习(二) Softmax与分类模型
softmax运算符(softmax operator)解决了以上两个问题。它通过下式将输出值变换成值为正且和为1的概率分布:
致Great
2020/02/24
8470
【动手学深度学习笔记】之实现softmax回归模型
设置小批量数目为256。这一部分与之前的线性回归的读取数据大同小异,都是转换类型-->生成迭代器。
树枝990
2020/08/20
8720
【动手学深度学习笔记】之PyTorch实现多层感知机
上一步最终得到的数据为tensor(x)的形式,为了得到最终的pytorch number,需要对其进行下一步操作
树枝990
2020/08/20
7840
从0到1,实现你的第一个多层神经网络
多层感知机在单层神经网络的基础上引入了一到多个隐藏层(hidden layer)。如图所示的隐藏层一共有5个隐藏单元。由于输入层不涉及计算,因此这个多层感知机的层数为2。如图所示的多层感知机中的隐藏层和输出层都是全连接层。
树枝990
2020/08/19
7880
[MXNet逐梦之旅]练习二·使用MXNet拟合直线简洁实现
[MXNet逐梦之旅]练习二·使用MXNet拟合直线简洁实现 code #%% #%matplotlib inline from matplotlib import pyplot as plt from mxnet import autograd, nd import random #%% num_inputs = 1 num_examples = 100 true_w = 1.56 true_b = 1.24 features = nd.arange(0,10,0.1).reshape((-1, 1))
小宋是呢
2019/06/27
4170
[MXNet逐梦之旅]练习二·使用MXNet拟合直线简洁实现
机器学习笔记(4):多类逻辑回归-使用gluton
接上一篇机器学习笔记(3):多类逻辑回归继续,这次改用gluton来实现关键处理,原文见这里 ,代码如下: import matplotlib.pyplot as plt import mxnet as mx from mxnet import gluon from mxnet import ndarray as nd from mxnet import autograd def transform(data, label): return data.astype('float32')/255,
菩提树下的杨过
2018/01/18
6030
机器学习笔记(4):多类逻辑回归-使用gluton
机器学习笔记(3):多类逻辑回归
仍然是 动手学尝试学习系列的笔记,原文见:多类逻辑回归 — 从0开始 。 这篇的主要目的,是从一堆服饰图片中,通过机器学习识别出每个服饰图片对应的分类是什么(比如:一个看起来象短袖上衣的图片,应该归类到T-Shirt分类) 示例代码如下,这篇的代码略复杂,分成几个步骤解读: 一、下载数据,并显示图片及标签 1 from mxnet import gluon 2 from mxnet import ndarray as nd 3 import matplotlib.pyplot as plt 4 im
菩提树下的杨过
2018/01/18
1K0
机器学习笔记(3):多类逻辑回归
线性神经网络——softmax 回归随笔【深度学习】【PyTorch】【d2l】
softmax 函数是一种常用的激活函数,用于将实数向量转换为概率分布向量。它在多类别分类问题中起到重要的作用,并与交叉熵损失函数结合使用。
来杯Sherry
2023/07/24
4640
线性神经网络——softmax 回归随笔【深度学习】【PyTorch】【d2l】
动手学深度学习(一)——逻辑回归(从零开始)
版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/79298122
Tyan
2019/05/25
3900
三分钟解决Fashion-MNIST无法下载的问题
下面讲一下我解决这个问题的办法 首先创建一个这个目录 <C:\Users\树枝990\Datasets\FashionMNIST\FashionMNIST> 然后在里面新建raw和processed两个文件夹。processed不用动,下载这四个文件放入文件夹。
树枝990
2020/08/20
1.4K1
【动手学深度学习笔记】之通过丢弃法缓解过拟合问题
除了上一篇文章介绍的权重衰减法,深度学习常用的缓解过拟合问题的方法还有丢弃法。本文介绍倒置丢弃法及其实现。
树枝990
2020/08/19
1K0
机器学习笔记(5):多类逻辑回归-手动添加隐藏层
了解神经网络原理的同学们应该都知道,隐藏层越多,最终预测结果的准确度越高,但是计算量也越大,在上一篇的基础上,我们手动添加一个隐藏层,代码如下(主要参考自多层感知机 — 从0开始): from mxnet import gluon from mxnet import ndarray as nd import matplotlib.pyplot as plt import mxnet as mx from mxnet import autograd def transform(data, label):
菩提树下的杨过
2018/01/18
9210
机器学习笔记(5):多类逻辑回归-手动添加隐藏层
推荐阅读
相关推荐
[MXNet逐梦之旅]练习三·使用MXNetFashionMNIST数据集分类手动实现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验