(4)深度学习学习笔记-Softmax

news/2024/3/4 9:09:56

文章目录

  • 前言
  • 一、
  • 来源


前言

softmax和cross-entorpy

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


一、

import torch
import torchvision
from torch.utils import data
from torchvision import transforms
from d2l import torch as d2l
from torch import nn# 处理anaconda和torch重复文件
import osos.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"# 用svg显示图片
d2l.use_svg_display()# 定义load_data_fashion_mnist函数,用于获取和读取Fashion-MNIST数据集。 这个函数返回训练集和验证集的数据迭代器。 此外,这个函数还接受一个可选参数resize,用来将图像大小调整为另一种形状。
# 通过ToTensor实例将图像数据从PIL类型变换成32位浮点数格式,
# 并除以255使得所有像素的数值均在01之间
def load_data_fashion_mnist(batch_size, resize=None):"""下载Fashion-MNIST数据集,然后将其加载到内存中"""trans = [transforms.ToTensor()]  # 把图片转换为pytorch tensorif resize:trans.insert(0, transforms.Resize(resize))trans = transforms.Compose(trans)mnist_train = torchvision.datasets.FashionMNIST(# 这里是fashion mnist下载后存的位置root="D:/python_project/fashion-mnist-master/fashion-mnist-master/data/fashion",train=True,transform=trans,download=False)mnist_test = torchvision.datasets.FashionMNIST(root="D:/python_project/fashion-mnist-master/fashion-mnist-master/data/fashion",train=False,transform=trans,download=False)return (data.DataLoader(mnist_train, batch_size, shuffle=True,num_workers=get_dataloader_workers()),data.DataLoader(mnist_test, batch_size, shuffle=False,num_workers=get_dataloader_workers()))# print(mnist_train[0][0].shape)  # 黑白图片channel=1def get_fashion_mnist_labels(labels):"""返回Fashion-MNIST数据集的文本标签"""text_labels = ['t-shirt', 'trouser', 'pullover', 'dress', 'coat','sandal', 'shirt', 'sneaker', 'bag', 'ankle boot']return [text_labels[int(i)] for i in labels]def show_images(imgs, num_rows, num_cols, titles=None, scale=1.5):  # @save"""绘制图像列表"""figsize = (num_cols * scale, num_rows * scale)_, axes = d2l.plt.subplots(num_rows, num_cols, figsize=figsize)axes = axes.flatten()for i, (ax, img) in enumerate(zip(axes, imgs)):if torch.is_tensor(img):# 图片张量ax.imshow(img.numpy())else:# PIL图片ax.imshow(img)ax.axes.get_xaxis().set_visible(False)ax.axes.get_yaxis().set_visible(False)if titles:ax.set_title(titles[i])return axesdef get_dataloader_workers():  # @save"""使用4个进程来读取数据"""return 4# 展示图片
# X, y = next(iter(data.DataLoader(mnist_train, batch_size=18)))
# show_images(X.reshape(18, 28, 28), 2, 9, titles=get_fashion_mnist_labels(y))
# plt.show()# 把数据读入迭代器
batch_size = 256
train_iter,test_iter = load_data_fashion_mnist(batch_size)
# softmax回归的输出层是一个全连接层。在Sequential中添加一个带有10个输出的全连接层。
# 在线性层前定义了展平层(flatten),来调整网络输入的形状
net = nn.Sequential(nn.Flatten(), nn.Linear(784, 10))def init_weights(m):# m表示当前layer# 以均值0和标准差0.01随机初始化权重if type(m) == nn.Linear:nn.init.normal_(m.weight, std=0.01)net.apply(init_weights) # net进行初始化
# loss
loss = nn.CrossEntropyLoss()# 优化
trainer = torch.optim.SGD(net.parameters(), lr=0.1)  # parameters包含weights和biasnum_epochs = 10
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)
d2l.plt.show()

在这里插入图片描述
显示图片在pycharm上需要在Animator类中add函数加上花圈的两行。(ctrl+左键对准train_ch3,然后ctrl+f找到animator类)
在这里插入图片描述


来源

b站 跟李沐学AI 动手学深度学习v2 09


http://www.ppmy.cn/news/695175.html

相关文章

【Android从零单排系列十二】《Android视图控件——SeekBar》

前言 小伙伴们,在上文中我们介绍了Android视图控件——日历、日期、时间选择控件,本文我们继续盘点,介绍一下视图控件的SeekBar组件。 一.SeekBar基本介绍 SeekBar是Android平台上的一个UI组件,用于显示一个可滑动的滑块条&…

iphone 的屏幕像素

1. [UIScreen mainScreen].applicationFrame 是{(0,20),(320,460)} [UIScreen mainScreen].bounds 是{(0,0),(320,480)} [[UIApplication sharedApplication] statusBarFrame]; 是{(0,0),(320,20)} CGSize size [UIScreen mainScreen].currentMode.size;//以像素为单位…

电子时钟制作(瑞萨RA)(2)----使用串口进行程序烧写

概述 本篇文章主要介绍如何使用UART串口烧写程序到瑞萨芯片,并以实际项目进行演示。 硬件准备 首先需要准备一个开发板,这里我准备的是芯片型号R7FA2E1A72DFL的开发板: 视频教程 https://www.bilibili.com/video/BV1kX4y1v7tL/ 电子时钟制…

GO富集绘图绘制方法,零基础教程,替换数据直接作图,完成版R语言脚本

速绘 丨 GO富集气泡图 本期分享一个快速绘制GO富集结果图的方法,主要使用R语言tidyverse包,只需导入数据即可一步出图,可以自定义显示的数目、颜色、筛选参数,从此以后绘制GO富集图只需1秒。 前言介绍 下面是一个GO富集分析的结…

如何操作电脑QQ远程控制电脑?分享干货!怎么在电脑QQ发起远程控制?

QQ是腾讯开发的一款即时通信软件,如今在我们大家生活中普遍的使用,QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱多种功能,并可与多种通讯终端相连。在QQ中有许多使用的小功能,远程控制…

Python 识别拼图验证码

需要识别的某易易盾验证码如下: 识别过程也是非常简单,使用现成的拼图库就行,本文记录一下使用心得(其实也没啥心得,开箱即用,太简单了): 首先,下载gaps拼图库 Install requirements: $ pip install -r requirements.txt $ sudo apt-get install python-tkInstall …

win10系统qq远程不能控制怎么办?

这种情况是由于控制方和被控制方使用的系统账户不一致造成的。解决思路很简单,双方电脑都用administrator用户登录,然后再进行qq远程。 操作方法:1、右键点击“此电脑”,选择“管理”,打开计算机管理界面2、选择本地用…

向日葵远程控制软件:死磕鼠标交互,远程桌面操作精确

向日葵远程控制软件创新鼠标交互,手机远程桌面也能精细画图 远程桌面早已不是技术人员才会用的“专利”,越来越多的设计师、摄影师、财务等各种人群都意识到远程办公的好处,何况现在手机也能轻松控制电脑解决各种远程需求。但问题也随之而来&…

自己动手实现网页版的远程桌面

自己动手实现网页版的远程桌面 背景实现原理服务端客户端展示图片最后 背景 因为一些原因,小编需要使用远程桌面软件,但小编实在穷,所以使用的是免费版的向日葵。就在前几天,免费版的向日葵莫名其妙崩了(各种重启都没…

善用QQ远程控制!

善用QQ远程控制! 虽然现在很少用到QQ,不因为别的,实在受不了QQ那庞大的身躯及忍无可忍的登陆速度!但QQ提供的远程控制功能还是能很方便的帮你解决问题,虽然也可以使用WINDOWS的桌面软件或其它的控制软件,都没有这个来得方便!早上远在福州的朋友发来求救短信:报告电脑中了很严重…

仅需三步,远程桌面控制公司内网电脑

远程办公的概念很早就被提出来,但似乎并没有多少项目普及落实到实际应用层面,至少在前几年,远程办公距离我们仍然很遥远。但2019年末突如其来的疫情,着实打了大家一个措手不及。尽管国内最初的大面积传播势头被有效遏制住&#xf…

QQ也玩远程控制

真碰到几个比较奇怪和棘手的问题,朋友在电话那头费劲的描述,我在这头使劲地猜,活脱脱李勇主持的那个幸运52,平时碰到这种问题都是用pcAnyWhere、windows的远程桌面或者VPN过去我远程调试服务器的,这次碰见两边都在内网…

哪款远程控制软件可以远程玩游戏?

远程控制软件可以让你在不同设备之间进行远程控制。许多人可能会想知道,哪款远程控制软件可以在远程玩游戏时享受更好的游戏体验。 首先,在寻找适合远程游戏的远程控制软件之前,我们需要知道什么是远程游戏和远程控制。 远程游戏是一种允许玩…

向日葵远程控制桌面可以播放被控主机的声音-详解(亲测有效)

受疫情影响,很多码农都在家远程办公,当然绝绝子也是其中一位呀 但是播放不了远程主机的声音.....emmmm~~查了很久的百度,都没有完全解决这个问题的方案!好在工夫不负有心人,我整理一下自己解决啦~~ 参考&#xff1…

qq远程控制 总是提示权限不足

方法一: 76f61 1、点击QQ软件主界面左下角的主菜单按钮。e657 2、然后在弹出的QQ主菜单中点击“设置”的菜单项。 3、在打开的QQ系统设置窗口中点击权限设置的选项卡。d35d0f8 4、权限设置的窗口中点击左侧边栏的“远程桌面”的菜单项。 5、勾选“允许远程桌面…

15款免费远程控制软件下载

https://wenku.baidu.com/view/f5e314265901020207409c21.html 远程控制(Remote Control)是指在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术。大多数人平常接触最多的就是QQ的远程协…

todesk远程控制软件的使用

功能可以电脑控制电脑,也可以手机控制电脑 也可以远程控制手机,需要设置才可以,这个暂时不讲 功能全部免费 软件教程:https://docs.todesk.com/zh-CN/quickstart 1、第一步下载软件 电脑端https://www.todesk.com/download.html …

远程控制 Linux 系统的软件下载

远程控制 Linux 系统 一、远程登录 Linux 系统软件下载一、远程上传下载文件Xftp下载 一、远程登录 Linux 系统软件下载 1、为什么需要远程登录 Linux 系统 2、安装XShell7并使用 (1)下载 XShell,下边给出官网下载地址,进去之后根…

Win10 实现对计算机的远程控制 (Windows自带+QQ)

本篇文章会介绍如何对电脑进行远程控制: 1> 使用Windows10自带的远程控制功能 2> 使用QQ实现远程控制 一:使用Windows10自带的远程控制功能 1) 右键 "此电脑",按照下图操作,使得电脑可以被远程连接&a…

锁定计算机后qq能远程吗,如何通过QQ进行远程控制(利用QQ远程协助在不同网络下远程控制电脑)...

最近有人问我在家里怎么远程操控办公室内网的电脑。这让我回想起了很多年百思特网前用灰鸽子啊,Radmin等软件。但其实利用QQ也可以很轻松地在家里控制办公室的电脑,只需要一些简单的设置。简单点说就是把QQ远程连接设置为自动接受请求。 QQ自动接受远程桌…
最新文章