PyTorch神经网络
主要用于记录本人在学习机器学习过程中的代码。。。
My heart will go ~~
我懂你的孤独,也懂我的孤独。
展开
-
PyTorch学习(十四)Batch_Normalization(批标准化)
神经网络太深的话,传到后面,受到激励函数饱和区间、失效期间的影响,最后导致神经网络学不到了。批标准化:将分散数据统一的一种方法,优化神经网络。处理方式大概为下图:代码如下:import torchfrom torch import nnfrom torch.nn import initimport torch.utils.data as Dataimport matplotlib.pyplot as pltimport numpy as np# torch.manual_seed原创 2021-05-12 10:44:13 · 519 阅读 · 0 评论 -
PyTorch学习(十三)过拟合
过拟合:不能表达处理训练数据以外其他的数据。解决方法1:增加数据量。解决方法2:运用正规化。过拟合中,W变化的比较大,所以在计算误差的时候做一些手脚,让学出来的曲线不会过于扭曲。专门用在神经网络的正规化方法:droptout regularization,随机忽略掉一些神经元和神经的连接。处理过程大概为下面两张图:丢掉一些神经元之后对比是否丢掉神经元的结果代码如下:import torchimport matplotlib.pyplot as plt# torch.manual_原创 2021-05-12 09:58:25 · 394 阅读 · 0 评论 -
PyTorch学习(十二)GAN(对抗神经网咯)
本节依据莫烦的画家的实例来介绍GAN的工作流程,代码如下。import torchimport torch.nn as nnimport numpy as npimport matplotlib.pyplot as plt# torch.manual_seed(1) # reproducible# np.random.seed(1)# Hyper ParametersBATCH_SIZE = 64LR_G = 0.0001 # 两个神经网络generator,原创 2021-05-11 11:18:20 · 299 阅读 · 0 评论 -
PyTorch学习(十一)encoded,decoded
本节主要介绍自编码的相关内容。区别于以前内容的是,自编码过程并不需要标签。只需要数据集即可。import torchimport torch.nn as nnimport torch.utils.data as Dataimport torchvisionimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import cmimport numpy as np#原创 2021-05-11 09:54:07 · 711 阅读 · 0 评论 -
PyTorch学习,optimizer优化器
本节主要介绍不同的优化器的效率import torchimport torch.utils.data as Dataimport torch.nn.functional as Fimport matplotlib.pyplot as plt# torch.manual_seed(1) # reproducibleLR = 0.01BATCH_SIZE = 32EPOCH = 12# 数据#1000个数据,每批分成32个,训练12次,所以1000*12/32=375.x原创 2021-05-09 17:09:40 · 111 阅读 · 0 评论 -
PyTorch学习(十)RNN回归
RNN回归import torchimport torch.nn as nnfrom torch.autograd import Variableimport torch.utils.data as Dataimport torchvisionimport numpy as npimport matplotlib.pyplot as plttorch.manual_seed(1) # reproducibleTIME_STEP=10#考虑多少时间点的数据,INPUT_SI原创 2021-05-09 14:22:59 · 293 阅读 · 0 评论 -
PyTorch学习(九),RNN分类
数据集与先前下载的数据集一致,所以此次就不再下载,但仍然呈现了下载的代码代码如下,大部分都加了详细的注释import torchimport torch.nn as nnfrom torch.autograd import Variableimport torch.utils.data as Dataimport torchvisionEPOCH=1 #训练整批数据的次数BATCH_SIZE = 64#批训练的数据个数TIME_STEP=28#考虑多少时间点的数据,INPUT_SIZ原创 2021-05-09 10:57:23 · 827 阅读 · 0 评论 -
PyTorch学习(八)CNN手写体识别
本节将介绍利用CNN进行手写体识别首先呢,我们需要下载数据来进行训练。下载的代码如下:注意:数据集下载一次就好,DOWNLOAD_MNIST = Truetrain_data=torchvision.datasets.MNIST(#下载数据的代码 root='./mnist', train=True, transform=torchvision.transforms.ToTensor(), #(网上数据改为tensor),0-1之间,并复制到train_data中原创 2021-05-07 15:02:20 · 545 阅读 · 0 评论 -
PyTorch学习(七)批训练
批训练import torchimport torch.utils.data as Datatorch.manual_seed(1) # reproducibleBATCH_SIZE = 5 # 批训练的数据个数x = torch.linspace(1, 10, 10) # x data (torch tensor)y = torch.linspace(10, 1, 10) # y data (torch tensor)# 先转换成 torch 能原创 2021-05-05 16:54:47 · 163 阅读 · 0 评论 -
PyTorch学习(六)网络的保存与提取
保存提取神经网络import torchfrom torch.autograd import Variableimport matplotlib.pyplot as plttorch.manual_seed(1)# 数据x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)y = x.pow(2) + 0.2*torch.rand(x.size())x,y=Variable(x,requires_grad=False),Variabl原创 2021-05-05 16:36:16 · 139 阅读 · 0 评论 -
PyTorch学习(五)快速搭建网络
分类问题,与回归问题大同小异,框架基本一致,只不过要修改之前的数据,以及在输出结果的地方进行加工。import torchfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyplot as pltn_data = torch.ones(100, 2) x0 = torch.normal(2*n_data, 1) # 类型0 x data (te原创 2021-05-05 14:53:22 · 145 阅读 · 0 评论 -
PyTorch学习(四)第一个神经网络(回归与分类)
第一个网络即将横空出世…分类与回归。本节主要介绍回归问题Regression回归。import torchfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyplot as plt#生成一些伪数据x=torch.unsqueeze(torch.linspace(-1,1,100), dim=1)#变成二维数据,因为只能处理二维数据y=x.pow(2)+0.2*torc原创 2021-05-04 18:18:13 · 199 阅读 · 0 评论 -
PyTorch学习(三)激活函数
y=Wx, 神经网络y=AF(Wx),,AF为激励函数,是一个非线性方程。激励函数必须是可以微分的。默认首选激励函数:卷积神经网络中:relu循环神经网络中:relu or tanh激励(激活)函数(activation function)import torchimport torch.nn.functional as Ffrom torch.autograd import Variableimport matplotlib.pyplot as pltx=torch.linspac原创 2021-05-04 17:02:41 · 218 阅读 · 0 评论 -
PyTorch学习(二)variable
本节主要放置variable的应用代码import torchfrom torch.autograd import Variabletensor=torch.FloatTensor([[1,2],[3,4]])#tensor不能反向传播variable=Variable(tensor,requires_grad=True)#可以反向传播t_out=torch.mean(tensor*tensor)v_out=torch.mean(variable*variable)v_out.back原创 2021-05-04 16:27:06 · 190 阅读 · 0 评论 -
PyTorch学习(一)数据格式转换
Numpy:用于处理数据的模块。Torch:是神经网络中的numpy,是一个tensor的形式。两者之间的对比以及一些简单计算功能代码如下:数据类型转换np_data = np.arange(6).reshape((2,3))torch_data=torch.from_numpy(np_data)#np类型转换成Torch类型tensor2array=torch_data.numpy()#torch类型转换成numpy类型data=[-1,-2,1,2]tensor=torch.Float原创 2021-05-04 16:07:37 · 558 阅读 · 0 评论