![](https://img-blog.csdnimg.cn/20210304154500930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
pytorch深度学习实践
文章平均质量分 63
如题
王泽的随笔
这个作者很懒,什么都没留下…
展开
-
012_wz_ledr_pytorch深度学习实战_第十三讲——循环神经网络(RNN)高级篇
一、目的使用RNN(RNNCell使用GRU)搭建一个姓名分类器二、编程我们有数据集name-country:链接:https://pan.baidu.com/s/1vZ27gKp8Pl-qICn_p2PaSw提取码:cxe4我们将搭建下面这样一个网络用来对姓名进行分类在开始搭建网络之前我们要对数据集进行处理,将非结构化姓名转化为结构化的向量我们先将姓名表示为单个字符再用ASCII码处理因为不同的姓名长度不同,这样的数据无法输入到RNN,所以我们取最长的序列为基准,对其他的序列进行原创 2021-03-30 09:45:45 · 932 阅读 · 0 评论 -
011_wz_ledr_pytorch深度学习实战_第十二讲——循环神经网络(RNN)基础篇
一、目的搭建简单的RNN,实现seq2seq的转换二、编程先大概了解一下RNNRNN 其实也是一个普通的神经网络,只不过多了一个 hidden_state 来保存历史信息。跟一般网络不同的是,RNN 网络的输入数据的维度通常是[batch_size∗seqlen∗input_size][batch\_size*seqlen*input\_size][batch_size∗seqlen∗input_size],它多了一个序列长度seqlenseqlenseqlen。在前向过程中,我们会把样本ttt个原创 2021-03-27 21:30:16 · 424 阅读 · 3 评论 -
010_wz_ledr_pytorch深度学习实战_第十一讲——卷积神经网络(CNN)高级篇
一、目的本次目的是实现GoogNet的部分模块,以及如何去解决梯度消失问题(ResNet)二、编程GoogleNet中Inception模块其一:关于Inception模块的好处,看这篇文章:Inception 模块作用我们将搭建这样的网络输入层->卷积层->池化层->rule->inception->卷积层->池化层->relu->inception->全连接层数据集仍然使用Mnistimport torch.nn.fun原创 2021-03-25 20:57:29 · 228 阅读 · 0 评论 -
009_wz_ledr_pytorch深度学习实战_第十讲——卷积神经网络(CNN)基础篇
一、目的使用CNN网络对Mnist进行分类。二、编程我们使用pytorch框架。搭建两个卷积层、两个池化层、一个全连接层来实现。1、每一个卷积核它的通道数量要求和输入通道数量是一样的。这种卷积核的总数有多少个和你输出通道的数量是一样的。2、卷积(convolution)后,C(Channels)变,W(width)和H(Height)可变可不变,取决于是否padding。subsampling(或pooling)后,C不变,W和H变。3、卷积层:保留图像的空间信息。4、卷积层要求输入输出是原创 2021-03-24 16:41:26 · 286 阅读 · 0 评论 -
008_wz_ledr_pytorch深度学习实战_第九讲——多分类问题
一、目的使用softmax函数对Minist数据集进行分类二、编程2.1 softmax函数我们先来了解一下什么是softmax激活函数:softmax函数,又称归一化指数函数,它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。下图展示了softmax的计算方法:概率有两个性质:1)预测的概率为非负数;2)各种预测结果概率之和等于1。softmax就是将在负无穷到正无穷上的预测结果按照这两步转换为概率的。softmax如何将多分类输出转换为概率,可原创 2021-03-22 22:06:16 · 284 阅读 · 0 评论 -
007_wz_ledr_pytorch深度学习实战_第八讲——加载数据集
一、目的加载数据集,使用mini-batch二、编程在之前的编程基础上我们增加了两个类来实现mni-batchDataSet 是抽象类,不能实例化对象,主要是用于构造我们的数据集DataLoader 需要获取DataSet提供的索引[i]和len;用来帮助我们加载数据,比如说做shuffle(提高数据集的随机性),batch_size,能拿出Mini-Batch进行训练。它帮我们自动完成这些工作。DataLoader可实例化对象。import torchimport numpy as np原创 2021-03-20 15:41:52 · 184 阅读 · 0 评论 -
006_wz_ledr_pytorch深度学习实战_第七讲——处理多维特征的输入
一、目的处理一个数据的多维特征输入二、编程当一个数据具有多维特征时,我们要将其向量化才得以一次处理多个特征1、乘的权重(w)都一样,加的偏置(b)也一样。b变成矩阵时使用广播机制。神经网络的参数w和b是网络需要学习的,其他是已知的。2、学习能力越强,有可能会把输入样本中噪声的规律也学到。我们要学习数据本身真实数据的规律,学习能力要有泛化能力。3、该神经网络共3层;第一层是8维到6维的非线性空间变换,第二层是6维到4维的非线性空间变换,第三层是4维到1维的非线性空间变换。我们在前两层使用relu原创 2021-03-17 15:36:29 · 254 阅读 · 0 评论 -
005_wz_ledr_pytorch深度学习实战_第六讲——逻辑回归
一、目的用pytorch实现逻辑回归,并理解什么是逻辑回归二、编程相比于线性模型,逻辑回归在线性模型后面加入了非线性激活函数,使用了不同的损失函数(交叉熵);关于逻辑回归可以参考我的这篇文章——001_wz_sf_逻辑回归(Logistic Regression),我们主要看如何使用pytorch实现import numpy as npimport matplotlib.pyplot as pltimport torch# 数据集x_data = torch.Tensor([[1.0]原创 2021-03-06 16:37:14 · 164 阅读 · 0 评论 -
004_wz_ledr_pytorch深度学习实战_第五讲——用pytorch实现线性回归
一、目的使用pytorch实现线性回归二、编程2.1 实现流程2.2 编程实现import matplotlib.pyplot as pltimport torch# 数据集向量化# x,y是矩阵,3行1列 也就是说总共有3个数据,每个数据只有1个特征x_data = torch.tensor([[1.0], [2.0], [3.0]])y_data = torch.tensor([[2.0], [4.0], [6.0]])# 设计模型计算正向传播class LinearMod原创 2021-03-05 22:11:39 · 167 阅读 · 0 评论 -
003_wz_ledr_pytorch深度学习实战_第四讲——反向传播
一、目的线性模型y=ωxy={\omega}xy=ωx,使用pytorch实现反向传播二、编程w是tensor(张量类型),tensor中包含data和grad,data和grad也是Tensor。grad初始为None,调用l.backward()方法后w.grad为Tensor,故更新w.data时需使用w.grad.data。如果w需要计算梯度,那构建的计算图中,跟w相关的tensor都默认需要计算梯度。import torcha = torch.tensor([1.0])print(t原创 2021-03-04 18:23:21 · 217 阅读 · 2 评论 -
002_wz_ledr_pytorch深度学习实战_第三讲——梯度下降
一、目的模拟批量梯度下降算法,计算在x_data、y_data数据集下,y=ωxy={\omega}xy=ωx模型找到合适的ω\omegaω的值二、编程import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D# 数据集x_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]w = 1# 正向传播def forward(x)原创 2021-03-04 17:12:34 · 148 阅读 · 1 评论 -
001_wz_ledr_pytorch深度学习实战_第二讲——线性模型
一、目的对有y=ωx+by={\omega}x+by=ωx+b使用穷举法,找出最优参数二、编程import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D# 数据集x_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]# 正向传播def forward(x): return x * w + b# 计算损失def原创 2021-03-04 16:33:59 · 162 阅读 · 1 评论