小白学习之pytorch框架(5)-多层感知机(MLP)-(tensor、variable、计算图、ReLU()、sigmoid()、tanh())

先记录一下一开始学习torch时未曾记录(也未好好弄懂哈)导致又忘记了的tensor、variable、计算图

计算图

计算图直白的来说,就是数学公式(也叫模型)用图表示,这个图即计算图。借用 https://hzzone.io/cs231n/%E7%90%86%E8%A7%A3-PyTorch-%E8%AE%A1%E7%AE%97%E5%9B%BE%E3%80%81Autograd-%E6%9C%BA%E5%88%B6%E5%92%8C%E5%AE%9E%E7%8E%B0%E7%BA%BF%E6%80%A7%E6%8B%9F%E5%90%88.html 一张图 ,红色圈里就是计算图

Tensor应该是好懂的,就是一张量,百度一下就可以的。torch.tensor和numpy.ndarray可以相互转换,

Variable本质上和Tensor一样,Variable是对Tensor的封装,操作和tensor基本一致,但是既然封装了,肯定加了东西,加了什么呢?每个Variable被构建时都含三个属性,1、tensor本身的.data(可取出Variable中tensor数值);2、对应tensor的梯度.grad(反向传播的梯度);3、grad_fn属性,如何得到的Variable的操作,如加减乘除。

  detach()方法,官网解释是从当前计算图中分离的Variable,意思是通过此方法把requires_grad设置为False了,然后返回一个新的Variable,数据存放位置未变。

在博客 https://www.cnblogs.com/JadenFK3326/p/12072272.html 说了torch.mm()(正常矩阵相乘)和torch.mul()(矩阵对应值相乘)    参考博客 https://blog.csdn.net/da_kao_la/article/details/87484403 感谢博主   还有tensor乘法是torch.matmul()、torch.bmm()

  补充一下,torch.mm()是矩阵相乘,输入的tenso维度只能两维;torch.matmul()可以说是torch.mm()的boradcast版本,可以进行大于2维的tensor乘法。多个矩阵并行计算 官网解释如下(看不懂英语自己在谷歌浏览器上打开官网,自动翻译):

torch.bmm(),两个三维张量相乘,分别为(b*n*m)和(b*m*p),其中b代表batch_size,输出为(b*n*p)

  torch.max(input,dim,keepdim=False,out=None):按维度dim返回最大值

  torch.max(input,other,out=None):两个tensor:input和other元素相比较,返回大的那个

下面的多层感知机和激活函数都比较简单,就说一下其公式了

多层感知机

  即含有至少一个隐藏层的由全连接层组成的神经网络,且每个隐藏层的输出通过激活函数进行变换。

$ H = \varnothing (XW_{h})+b_{h} $

$ O = HW_{o}+b_{o} $

其中,$ \varnothing$表示激活函数

ReLU函数

$ ReLU(x) = max(x,0) $

Sigmoid函数

$ sigmoid(x) = \frac{1}{1 + exp(-x)} $

tanh函数

$ tanh(x) = \frac{1 - exp(-2x)}{1 + exp(-2x)} $

原文地址:https://www.cnblogs.com/JadenFK3326/p/12142731.html

时间: 2024-08-03 13:49:04

小白学习之pytorch框架(5)-多层感知机(MLP)-(tensor、variable、计算图、ReLU()、sigmoid()、tanh())的相关文章

小白学习之pytorch框架(2)-动手学深度学习(begin)

在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比较执着,想学pytorch,好,有个大神来了,把<动手学深度学习>整本书用pytorch代码重现了,其GitHub网址为:https://github.com/ShusenTang/Dive-into-DL-PyTorch   原书GitHub网址为:https://github.com/d2l-

小白学习之pytorch框架(4)-softmax回归(torch.gather()、torch.argmax())

学习pytorch路程之动手学深度学习-3.4-3.7 置信度.置信区间参考:https://cloud.tencent.com/developer/news/452418 本人感觉还是挺好理解的 交叉熵参考博客:https://www.cnblogs.com/kyrieng/p/8694705.html   https://blog.csdn.net/tsyccnh/article/details/79163834  个人感觉还不错,好理解 (这段瞅瞅就行了)torchvision包,服务于P

小白学习之pytorch框架(6)-模型选择(K折交叉验证)、欠拟合、过拟合(权重衰减法(=L2范数正则化)、丢弃法)、正向传播、反向传播

下面要说的基本都是<动手学深度学习>这本花书上的内容,图也采用的书上的 首先说的是训练误差(模型在训练数据集上表现出的误差)和泛化误差(模型在任意一个测试数据集样本上表现出的误差的期望) 模型选择 验证数据集(validation data set),又叫验证集(validation set),指用于模型选择的在train set和test set之外预留的一小部分数据集 若训练数据不够时,预留验证集也是一种luxury.常采用的方法为K折交叉验证.原理为:把train set分割成k个不重合

keras多层感知机MLP

肯定有人要说什么多层感知机,不就是几个隐藏层连接在一起的吗.话是这么说,但是我觉得我们首先要自己承认自己高级,不然怎么去说服(hu nong)别人呢 from keras.models import Sequential from keras.layers import Dense import numpy as np #设置随机种子,使得每次结果都是一致的 np.random.seed(7) import pandas as pd dataFrame = pd.read_csv("E:/数据集

Theano学习记录(二) 多层感知机

Theano学习记录(一) 逻辑斯蒂回归 Experiment 1: 使用推荐的配置 learning_rate = 0.01 L1_reg = 0.00 L2_reg=0.0001 n_epoches=1000 batch_size=20 n_hidden=500 实验结果: 实验耗时: Experiment 2: 自己中间加入两个隐含层,分别为400 和 300 个节点.实验配置如下: learning_rate = 0.01 L1_reg = 0.00 L2_reg=0.0001 n_ep

学习笔记TF026:多层感知机

隐含层,指除输入.输出层外,的中间层.输入.输出层对外可见.隐含层对外不可见.理论上,只要隐含层节点足够多,只有一个隐含层,神经网络可以拟合任意函数.隐含层越多,越容易拟合复杂函数.拟合复杂函数,所需隐含节点数,随隐含层数量增多指数下降. 过拟合,模型预测准确率在训练集上升,在测试集下降.泛化性不好,模型记忆当前数据特征,不具备推广能力.参数太多.Hinton教授团队,Dropout.随便丢弃部分输出数据节点.创造新随机样本,增大样本量,减少特征数量,防止过拟合.bagging方法,对特征新种采

从头学pytorch(五) 多层感知机及其实现

多层感知机 上图所示的多层感知机中,输入和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元(hidden unit).由于输入层不涉及计算,图3.3中的多层感知机的层数为2.由图3.3可见,隐藏层中的神经元和输入层中各个输入完全连接,输出层中的神经元和隐藏层中的各个神经元也完全连接.因此,多层感知机中的隐藏层和输出层都是全连接层. 具体来说,给定一个小批量样本\(\boldsymbol{X} \in \mathbb{R}^{n \times d}\),其批量大小为\(n\),输入个数为\(

动手学习pytorch——(3)多层感知机

多层感知机(multi perceptron,MLP).对于普通的含隐藏层的感知机,由于其全连接层只是对数据做了仿射变换,而多个仿射变换的叠加仍然是一个仿射变换,即使添加更多的隐藏层,这种设计也只能与仅含输出层的单层神经网络等价.解决问题的一个方法是引入非线性变换,对隐藏变量使用非线性变化,然后作为下一个全连接层的输入,这个非线性函数被称为激活函数. 激活函数主要有ReLu.Sigmoid.tanh.其中ReLu计算简单,且不像其他两个哪个容易造成梯度消失,使用较多. 多层感知机pytorch实

《深度学习与计算机视觉算法原理框架应用》PDF+《深度学习之PyTorch实战计算机视觉》PDF

下载:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w <深度学习与计算机视觉 算法原理.框架应用>PDF,带书签,347页.<大数据架构详解:从数据获取到深度学习>PDF,带书签,373页.配套源代码. 下载:https://pan.baidu.com/s/1P0-o29x0ZrXp8WotN7GzcA<深度学习之PyTorch实战计算机视觉> 更多分享:https://pan.baidu.com/s/1g4hv05UZ_