自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 沐神深度学习笔记8(多层感知机)

可以对if后面的函数求导得到w和b的增量(附:w和x的内积的偏导如对w的偏导为x,对x的偏导为w)虽然这之中只有一个隐藏层,但是它包含了h1到h5多个感知机。一层的感知机是一个多输入单输出的二分类问题。

2023-06-12 22:15:56 58

原创 沐神深度学习笔记7(5)

softmax回归输出的是一个全连接层,所有我们要在nn.sequential中添加一个10输出的全连接层。即使用pytorch.nn的模组来实现softmax回归。总结,调用api实在太好用了(。这段引用也没有好说的。

2023-06-08 21:54:51 74

原创 沐神深度学习笔记7(4)

上面这段代码定义了一次迭代的过程。matplotlib,看下就行。

2023-06-07 21:39:38 94

原创 沐神深度学习笔记7(3)

原理:在上面的代码中,y_hat代表了一个2*3的矩阵,说明,有2个样本3个类别的预测,而y相当于之前的one_hot码,她的0,2分别代表对应样本中正确预测的那个类别,在本个例子中,y_hat样本1的第1个即0,和第二个样本的2即第三个预测正确,那么在最后的输出中,输出了对应的结果。这一块选定了训练的batch_size,同时运用之前封装的迭代器获取了train和test数据集。y_hat[[],[]]中,第一个位置代表真实标号,第二个位置为对应的值。输出结果为两个值:0.1和0.5。

2023-06-04 21:52:09 134

原创 沐神深度学习笔记7(2)

其中next()表示拿到第一个小批量,iter()用于返回一个迭代器对象。通过内置的迭代器我们每次可以轻松的读取batch_size个数据为一批次。黑白图片,所以第一位为1,长和宽为28。以fashion_mnist为例。上面的函数将图像一幅幅展示。上面的函数用于返回标签。图像分类数据集的使用。查看读取数据所用时间。

2023-06-04 17:03:11 76 1

原创 沐神深度学习笔记7

softmax是新的操作子,作用在o上,得到了新的y_hat,其中,y_hat有我们的目标:向量中所有元素非负并且所有元素和为1.通过比较y(真实概率)和ŷ (softmax)的区别作为损失,真实概率即:p = 1 else p = 0,p表示正确分类。在y的概率中,只有在预测正确时,y为1,其他为0,说明我们只要求正确类的预测成功率要高,其他类不在考虑范围内。exp是求指数,可以令ŷ 值全为正,同时除以k个exp和,可以保证和为1,这样之后ŷ 为一个概率。:预测一个离散类别,比如:这个是不是手写的。

2023-06-03 21:47:14 36

原创 沐神深度学习笔记6(3)

nn是神经网络的缩写,里面有大量定义好的层,线性回归只要用线性层,只要指定输入和输出的维度,上面使用了nn的linear层,输入为2,输出为1;dataloader中第二项batch_size表示每次取的个数,shuffle表示是否需要随机打乱顺序。parameter是network中所有参数,包括w和b,lr表示学习率。此处可以看到,导入了torch.utils中的data。这里调用了synthetic_data来生成数据集。这里is train是训练集,所以要打乱。调用框架的预定义好的层。

2023-06-03 17:28:00 282

原创 沐神深度学习笔记6(2)

在上面的训练中,可以看出,超参数的选择lr,num_epochs是很重要的,所以我们往往要经过多次测试才能取到合适的结果。所以,通过随机选取,计算梯度,通过损失等更新参数,然后再次进行这个流程达到线性回归的目的。

2023-06-03 15:34:57 30

原创 沐神深度学习笔记6

这一块,可以看到,定义了synthetic_data函数来生成数据集,其中,x由均值为0,方差为1的正态分布生成(这也是normal函数的作用),x的形状为num_examples*len(w),然后y是x和w的内积+b,再给y加上一个正态分布取值的噪音。最后通过reshape函数,返回列向量x,y。上面的就是一个迭代器的封装。把人工数据集w和b带入,即可得到features和labels的数据集。(即返回了x和y的线性关系)requires_grad=True用于计算梯度,偏差b直接给标量1。

2023-06-01 22:28:49 246 1

原创 沐神深度学习笔记5

我们举一个实际的例子: 我们希望根据房屋的面积(平方英尺)和房龄(年)来估算房屋价格(美元)。(linear regression)可以追溯到19世纪初, 它在回归的各种标准工具中最简单而且最流行。线性回归基于几个简单的假设: 首先,假设自变量𝐱和因变量𝑦之间的关系是线性的, 即𝑦可以表示为𝐱。常见的例子包括:预测价格(房屋、股票等)、预测住院时间(针对住院病人等)、 预测需求(零售销量等)。对索引为𝑖的样本,其输入表示为𝐱(𝑖)=[𝑥(𝑖)1,𝑥(𝑖)2]⊤, 其对应的标签是𝑦(𝑖)。

2023-05-31 21:34:25 44 1

原创 沐神深度学习笔记4

分子布局和分母布局的建议理解,可以理解为哪种布局就用哪个量的维度作为结果行数(此理解仅限于向量情况)矩阵求导的本质与分子布局、分母布局的本质(矩阵求导——本质篇) - 知乎 (zhihu.com)c。从这里可以看出,y的值为x内积的两倍,同时有一个grad存在,存放了y形成的方式,在之后可以调用。pytorch会累积梯度,所以要及时清除之前的值。上面就利用了detach将参数固定住了。

2023-05-29 21:41:32 48 1

原创 沐神深度学习笔记3

在此处注意了,这个tersor中列向量与行向量表示相同的,所以在上面的x中表示的是列向量,即5*4的矩阵✖4*1的矩阵得到5*1的矩阵,没有错误。维度求和的顺序与reshape函数中相同,即如reshape(2,5,4)则axis=0时留下size(5,4)当使用keepims保存维度时例如X=[2,5,4]在axis=1求和时,保留结果为size=[2,1,4]从结果中不难看出,创建了一个三维的,x,y,z轴为3,4,2的三维矩阵。axis=1时,是(2,4),axis=2时,是(2,5)

2023-05-28 20:56:28 35

原创 沐神深度学习笔记2

巷子类型为“Pave”的行会将“Alley_Pave”的值设置为1,“Alley_nan”的值设置为0。inputs = inputs.fillna(inputs.mean())(fillna把所有的nan数用括号内数据填充,本例子中,用了其他数据的均值填充,即mean())通过上面的代码,我们可以实现对缺失的数据的值进行插值,那么如何对非数值类型如上面的例子中的Alley类型进行补充呢。由于“巷子类型”(“Alley”)列只接受两种类型的类别值“Pave”和“NaN”,常用方法:1.插值 2.删除。

2023-05-27 16:00:10 146 2

原创 沐神深度学习笔记

3.X = torch.arange(12, dtype=torch.float32).reshape((3,4))生成0-11的张量,数据类型为float32,格式为(3,4)[::3,::2] ::3表示隔三行去一次,即0,3,6.... ::2表示隔两行取一次,即0,2,4....访问元素:[1:3,1:]注意,这里1:3为开区间,实际上取1和2行,1:表示1到n列。5.zeros可以创建一个全零的矩阵,相对的,ones可以创建全为1的数组。不要换源,安装对应版本的pytorch,

2023-05-25 21:00:31 75 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除