pytorch 实战测试——MNIST 手写数字识别

本文介绍了一个使用PyTorch训练MNIST数据集的示例项目。项目实现了三种不同的优化器(Adam、SGD、Adagrad)对同一网络模型进行训练,并通过可视化工具visdom展示了训练过程中的损失变化情况。

代码实现

工具类代码

# 文件名 utils01
import torch
from matplotlib import pyplot as plt


# 将列表中对应数据画出来
def plot_curve(ls):
    fig = plt.figure()
    palette = plt.get_cmap('Set1')
    # 读取数据,ls = [{'key01': list01}, {'key02': list02}, ...]
    for idx, data in enumerate(ls):
        for key, value in data.items():
            plt.plot(range(len(value)), value, color=palette(idx), label=key)
    plt.legend()
    plt.xlabel('step')
    plt.ylabel('value')
    plt.show()


# 展示部分 MNIST 图片
def plot_image(img, label, name):
    fig = plt.figure()
    for i in range(6):
        plt.subplot(2, 3, i+1)
        plt.tight_layout()
        plt.imshow(img[i][0]*0.3081+0.1307, cmap='gray', interpolation='none')
        plt.title("{}: {}".format(name, label[i].item()))
        plt.xticks([])
        plt.yticks([])
    plt.show()


# one hot 编码
def one_hot(label, depth=10):
    out = torch.zeros
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值