
深度学习
文章平均质量分 70
Swayzzu
这个作者很懒,什么都没留下…
展开
-
NLP-Seq2Seq
端到端的模型简介原创 2021-11-29 08:51:01 · 1683 阅读 · 0 评论 -
表示学习方法
一、概述表示学习就是在深度学习或者机器学习的过程中,随着不断地训练,我们慢慢得到一些,能够代表样本的一些内容。比如在神经网络中,每一层都是一个表示学习的过程,只不过最后一层的表示最好。不论是什么形式的学习,其最终的目标,都是在学习更好的表示。大约90%的论文都是在研究如何学习一个更好的表示方法。什么样的表示,是一个好的表示?有一句比较经典的话:The better representation lies in lower dimensional manifold.我们下面记录7中“好的表示应原创 2021-11-28 17:50:32 · 1385 阅读 · 0 评论 -
TensorFlow实现ResNet
目录1.概述2.Basic_Block① __init__②call3.Resnet①build_block②__init__③call1.概述通过tensorflow实现ResNet,需要先定义最小模块basic_block,在其中实现最基本的ResNet前向传播以及短接功能;之后定义ResNet模块,通过堆叠不同个数的basic_block,并拼接到一起,实现ResNet的功能实现。2.Basic_Block① __init__在这里面定义好.原创 2021-11-11 22:47:18 · 5332 阅读 · 4 评论 -
TensorFlow-Keras高层接口
一、metrics对数据进行记录跟踪。1.创建Meter2.更新数据3.获取数据4.清除缓存,记录下一阶段二、compile, fit快捷训练方法1.compile指定:优化器+lr,损失,准确率2.fit指定之后,直接fit即可,给出数据,指定epoch以上两行,直接完成训练返回的基本信息,得到训练周期,数据量,使用的时间,每一步使用的时间,每一个周期后的损失值3.测试compile中给出metr...原创 2021-11-10 21:54:21 · 1025 阅读 · 0 评论 -
TensorFlow自定义层、模型保存
1.必须继承自layers.layer必须实现两个方法,__init__和call添加参数,使用self.add_variable,直接调用即可,因为已经在母类中实现。2.网络的实现必须继承自keras.Model必须实现两个方法,__init__和call模型保存和加载1.只保存参数提供路径即可,加载的时候,先创建好和之前的网络结构一模一样的Sequencial,导入参数即可。2.保存模型的所有状态保存整个模型,包括结构,层的名字,参...原创 2021-11-10 21:39:48 · 1858 阅读 · 0 评论 -
TensorFlow数据填充复制
pad填0,需要填的数据对应如下:[[上行,下行],[左列,右列]]较为常用的是上下左右各一行。图片padding增加两行,两列tf.tile参数:数据,维度及复制次数,行和列。broadcast_to = expand_dims + tile,只要符合broadcast原则就可以。连broadcast_to这个操作都不需要用。...原创 2021-11-10 10:05:43 · 526 阅读 · 0 评论 -
TensorFlow张量、高阶操作
目录一、张量裁剪1.tf.maximum/minimum/clip_by_value()2.tf.clip_by_norm()二、张量排序1.tf.sort/argsort()2.tf.math.topk()三、TensorFlow高阶操作1.tf.where()2.tf.scatter_nd()3.tf.meshgrid()一、张量裁剪1.tf.maximum/minimum/clip_by_value()该方法按数值裁剪,传入tensor和阈值,.原创 2021-11-10 09:57:22 · 477 阅读 · 0 评论 -
TensorFlow数据合并、分割、统计
1.tf.concat()指定某维度,在某一维度合并。除了合并的维度之外,其他的维度必须相等。tf.splittf.stack可以创造新的维度。要求两个合并的数据维度全都一样。原创 2021-11-10 09:27:11 · 1801 阅读 · 0 评论 -
TensorFlow索引/维度变换
切片和Numpy一样。采样tf.gather按索引取数据。设数据是[4,35,8],4个班级,每个班级35个学生,每个学生8门课tf.gather_nd按维度索引前面输入数据,后面填取的联合维度。双中括号,还是和单的一样,只不过返回的是一个1维的。只把最内层的括号当做联合索引的坐标。下面的例子,也是一样,最内层的中括号,是一个联合索引。比如in56,第0个班级,第0号学生成绩,以及第1号班级,第1号学生的成绩。也就是每一个最内层中括号,都是一个样本,而里面的每一个数据,...原创 2021-11-09 09:22:30 · 322 阅读 · 0 评论 -
TensorFlow创建数据
tf.constant1.从numpy,list转换listtf.zeros和常用的方式一样,传入包含中括号的shape即可。tf.zeros_like和pytorch功能一样,传入有某个shape的数据,会生成和那个shape一样的zeros数据。tf.ones, tf.ones_like和你想的一样,把0换成1即可。tf.fill全部填任意的值,前面shape,后面填充的内容随机初始化数据tf.random.normal正态分布...原创 2021-11-09 09:07:22 · 350 阅读 · 0 评论 -
TensorFlow数据类型
所有的都在会话(Session)中执行数据就是tensor,数据和数据之间的操作,一个节点,就是op(operation)原创 2021-11-09 08:48:26 · 825 阅读 · 0 评论 -
PyTorch实现WGAN
目录1.GAN简述2.生成器模块3.判别器模块4.数据生成模块5.判别器训练6.生成器训练7.结果可视化1.GAN简述在GAN中,有两个模型,一个是生成模型,用于生成样本,一个是判别模型,用于判断样本是真还是假。但由于在GAN中,使用的JS散度去计算损失值,很容易导致梯度弥散的情况,从而无法进行梯度下降更新参数,于是在WGAN中,引入了Wasserstein Distance,使得训练变得稳定。本文中我们以服从高斯分布的数据作为样本。2.生成器模块这里从.原创 2021-11-07 16:14:37 · 1133 阅读 · 2 评论 -
PyTorch自建数据集+可视化结果
nn.LSTMinput sizehidden sizenum layersLSTM.forwardout, (ht, ct) = lstm(x,[ht0, ct0])原创 2021-11-06 13:28:44 · 1350 阅读 · 2 评论 -
PyTorch之ResNet模块
目录1.定义ResNet残差模块①各层的定义②前向传播2.ResNet18的实现①各层的定义②前向传播3.测试ResNet181.定义ResNet残差模块一个block中,有两个卷积层,之后的输出还要和输入进行相加。因此一个block的前向流程如下:输入x→卷积层→数据标准化→ReLU→卷积层→数据标准化→数据和x相加→ReLU→输出out中间加上了数据的标准化(通过nn.BatchNorm2d实现),可以使得效果更好一些。①各层的定义②...原创 2021-11-05 10:05:44 · 1121 阅读 · 0 评论 -
PyTorch中CNN及nn.Module
池化层maxpooling和avgpoolingBatch Normalizenn.Module类介绍数据增强原创 2021-11-04 16:09:29 · 818 阅读 · 0 评论 -
PyTorch分割数据集、动量
训练集、交叉验证集、测试集的生成、正则化动量和学习率衰减原创 2021-11-04 15:34:27 · 1465 阅读 · 0 评论 -
Pytorch梯度下降优化
aa原创 2021-11-02 20:20:46 · 538 阅读 · 0 评论 -
PyTorch进阶操作
目录一、合并与分割1.cat拼接2.stack堆叠3.拆分①Split按长度拆分②Chunk按数量拆分二、基本运算1.加减乘除2.矩阵相乘3.次方计算4. clamp三、属性统计1.求范数2.求极值、求和、累乘3. dim和keepdim4.topk和kthvalue5.比较运算6.高阶操作①where②gather一、合并与分割1.cat拼接直接按照指定的dim维度进行合并,要求除了所需要合并的维度之外,其他.原创 2021-11-01 23:14:38 · 268 阅读 · 0 评论 -
Pytorch的tensor基本操作
目录一、tensor的创建1.使用tensor2.使用Tensor3.随机初始化4.其他数据生成①torch.full②torch.arange③linspace和logspace④ones, zeros, eye⑤torch.randperm二、tensor的索引与切片1.索引与切片使用方法①index_select②...③mask三、tensor维度的变换1.维度变换①torch.view②squeeze/unsqueez原创 2021-11-01 15:55:49 · 1474 阅读 · 0 评论 -
Pytorch张量数据类型
python 和 pytorch的数据区别表达字符串:转换成编码的类型,比如one_hot,word2vec等如果是GPU tensor, 名字中间会加上cuda标量:[3]是1维,3是0维,也就是标量。可以通过不同的方法查看数据的维度:比如损失函数值,就是0维的。dim是维度,size/shape是形状向量:算法中输入的偏置项,是一维的tensor,也就是向量。三位适合RNN四维适合CNN2张图,3层颜色,...原创 2021-11-01 10:34:41 · 1952 阅读 · 0 评论 -
深度学习RNN
目录1.RNN基础模型2.LSTM3.流程结构1.RNN基础模型RNN主要特点是,在DNN隐藏层的输出内容会被存储,并且可以作为输入给到下一个神经元。如下图所示,当“台北”这个词被输入的时候,前面的词有可能是“离开“,有可能是”到达“,如果把上一次输入的”离开“,所得的隐藏层内容,输入给下一层,这样就有可能区分开是”离开台北“,还是”到达台北“。如果隐藏层存储的内容并给下次使用,叫做Elman Network如果最终的输出内容给下次使用,叫做Jordan Netw原创 2021-10-30 18:09:07 · 651 阅读 · 0 评论 -
深度学习CNN
如果100*100的图,特征太多,100*100*3,加上第二层去比如1000个神经元,参数还得*1000一个函数只学一个图的一部分。对图片降采样。架构:CNN-ConvolutionFilter是要被学出来的做内积这几层合起来叫做feature map对于彩色的不需要分开BGR相当于降采样的神经网络,如下图,本来应该连接36个神经元,但实际连接了9个。进行卷积的时候,共用同一个权重CNN-Max...原创 2021-10-30 18:10:17 · 1029 阅读 · 0 评论 -
深度学习模型训练建议
目录一、假如训练集表现不好1.尝试新的激活函数2.自适应学习率①Adagrad②RMSProp③ Momentum二、在测试集上效果不好1.提前停止2.正则化3.Dropout一、假如训练集表现不好1.尝试新的激活函数ReLU:Rectified Linear Unit图像如下图所示:当z<0时,a = 0, 当z>0时,a = z,也就是说这个激活函数是对输入进行线性转换。使用这个激活函数,由于有0的存在,计算之后会删除掉一些神经元.原创 2021-10-29 12:24:33 · 1279 阅读 · 0 评论 -
深度学习BackPropagation
链式法则:前向传播:计算z对w的偏导后向传播:计算C对z的偏导。原创 2021-10-28 22:23:35 · 197 阅读 · 0 评论 -
深度学习入门
以下内容来自李宏毅老师的深度学习课程。逻辑回归的限制:逻辑回归进行分类,会在图上画出一条分类的直线,但像下图这种情况,无论怎么画,一条直线都不可能将其完全分开。但假如我们可以对输入的特征进行一个转换,便有可能完成,比如创造一个新的特征x1:到(0,0)的距离,另一个x2:到(1,1)的距离。这样可以计算出四个点所对应的新特征,画到坐标系上如右图所示。这样转换之后,就可以使用一个逻辑回归,将其完全分开。虽然我们不容易直接找到这样的一个转换标准,但我们可以通过逻辑回归去寻找标准,使用第一个逻辑.原创 2021-10-28 21:41:40 · 115 阅读 · 0 评论 -
深度学习优化方法
gradient decentSGDSGDM----SGM with MomentumAdagradRMSPROPADAM原创 2021-10-27 15:44:55 · 255 阅读 · 0 评论