莫凡系列学习笔记
文章平均质量分 57
pytorch搭建模型入门笔记
troublemaker、
零基础的研究生
展开
-
Torch和Numpy之间的简单对比
numpy和torch两者用法十分相似,torch可以说是神经网络中的numpy。numpy和torch之间的互相转换:import torchimport numpy as npnp_data = np.arange(6).reshape(2, 3)print("Numpy 数据:", np_data)torch_data = torch.tensor([[0, 1, 2], ...原创 2020-03-10 20:25:20 · 3143 阅读 · 0 评论 -
pytorch中的Variable——反向传播必备
什么是Variable?在pytorch中tensor是tensor的数据格式,variable是variable的数据格式,那tensor和variable有什么区别呢?variable是tensor的封装,其实variable也是tensor生成的(tensor是variable他爸)。在神经网络中,常需要反向传播这些的,所以需要各个节点是连接在一起的,是个计算图。tensor的数...原创 2020-03-11 16:49:53 · 1440 阅读 · 0 评论 -
pytorch中的relu,sigmiod,tanh等激励函数(激活函数)
什么是激励函数(激活函数):在神经网络中原本输入输出都是线性关系,但现实中,许多的问题是非线性的(比如,房价问题中,房价不可能随着房子面积的增加一直线性增加),这个时候就神经网络的线性输出,再经过激励函数,便使得原本线性的关系变成非线性了,增强了神经网络的性能。常用的激励函数(激活函数):relu,sigmoid,tanh,softmax,softplustorch 实现激励函数(...原创 2020-03-20 17:32:49 · 5060 阅读 · 0 评论 -
pytorch—搭建简单神经网络(回归)
用pytorch搭建神经网络,拟合曲线: y=x2y=x^2y=x2环境 pytoch1.1.01. 生成训练数据# 准备数据x_data = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=-1)y_data = x_data.pow(2)# 通过matplotlib可视化生成的数据# plt.scatter(x_data.n...原创 2020-03-20 21:25:21 · 1208 阅读 · 0 评论 -
pytorch_搭建简单神经网络(分类)
用pytorch搭建神经网络,将数据分成两类环境 pytoch1.1.01. 生成训练数据# 准备数据data = torch.ones(100, 2)x1 = torch.normal(mean=2*data, std=1)y1 = torch.zeros(100) # x1 对应的标签x2 = torch.normal(mean=-2*data, std=1)y2...原创 2020-03-23 16:38:23 · 1138 阅读 · 0 评论 -
pytorch快速搭建神经网络_Sequential
之前用Class类来搭建神经网络class Neuro_net(torch.nn.Module): """神经网络""" def __init__(self, n_feature, n_hidden_layer, n_output): super(Neuro_net, self).__init__() self.hidden_layer = tor...原创 2020-03-23 17:02:49 · 719 阅读 · 0 评论 -
pytorch中保存网络和提取网络
保存网络:# 保存全部网络torch.save(网络, 网络名)# 只保存网络参数torch.save(网络.state_dict(), 网络名)保存整个网络,不需要再搭建结构;只保存网络参数需要在搭建之前一样的网络结构,再将参数放进去。就好比前者是去饭店直接买来一碗色香俱全的酸菜鱼,后者是老板加什么调料,多少调料,煮多久都告诉你,你回家自己做,,做完就和直接买来的一样了。据说只...原创 2020-03-23 22:21:54 · 1351 阅读 · 0 评论 -
pytorch中的批训练(batch)
用pytorch进行批训练其实很简单,只要把数据放入DataLoader(可以把它看成一个收纳柜,它会帮你整理好)大概步骤:生成X,Y数据将X,Y数据转为datasetdataset = Data.TensorDataset(X,Y)将dataset放入DataLoader中loader = Data.DataLoader( dataset=dataset, ...原创 2020-03-30 13:03:17 · 10054 阅读 · 6 评论 -
pytorch中SGD/Momentum/RMSprop/Adam优化器的简单比较
SGD是比较普通的优化器(其实SDG也挺好的)Momentum是SGD的升级版,代码里可看到和SGD用的也是同一个函数,只是加了动量RMSprop是Momentum的升级版Adam是RMSprop的升级版设置超参,准备数据 利用之前的回归来实现# 超参数LR = 0.01batch_size = 10epoches = 3torch.manual_seed(15)# 准备...原创 2020-03-30 14:39:18 · 3771 阅读 · 1 评论 -
pytorch搭建CNN卷积神经网络详解
个人觉得应该先写卷积操作的常见技术和公式操作,才能对卷积输入维度(结果),输出维度(结果)有更直观的了解吧。简单介绍一下卷积的常用trick:PaddingStriding下方是输入输出公式(本人开始也很困惑,找到对应公式后,就十分明朗了):n:原始输入的维度 | f:卷积核的大小 | p:padding的大小| s:stride的大小no padding: n - ...原创 2020-04-06 16:15:08 · 23506 阅读 · 7 评论 -
pytorch搭建RNN-LSTM循环神经网络[分类]详解
因为RNN在长序列中进行反向传播,很可能会出现梯度消失或者梯度爆炸的情况,而LSTM能解决该问题,下面就使用LSTM对MNIST数据集进行分类操作这里主要讲解搭建RNN部分,其他部分和前文中CNN搭建类似。可参考pytorch搭建CNN卷积神经网络详解???? 搭建LSTM 重要!:class LSTM_RNN(nn.Module): """搭建LSTM""" ...原创 2020-04-06 21:23:04 · 4476 阅读 · 0 评论 -
pytorch搭建RNN-LSTM循环神经网络[回归]详解
实验结果:这次用RNN_LSTM实现回归任务代码中使用sin函数 拟合 cos函数这里主要讲解搭建RNN部分,其他部分和前文中CNN搭建类似。可参考pytorch搭建CNN卷积神经网络详解???? 搭建RNN(该任务使用RNN足矣)class RNN(nn.Module): def __init__(self): super(RNN, self)._...原创 2020-04-11 14:34:15 · 3267 阅读 · 3 评论