pytorch
pytorch
Marshal~
这个作者很懒,什么都没留下…
展开
-
对损失函数加入正则
def cal_loss(self, pred, target): #返回加了正则的损失 ''' Calculate loss ''' regularization_loss = 0 for param in model.parameters(): # TODO: you may implement L1/L2 regularization here # 使用L2正则项 # regula.原创 2021-10-24 15:43:01 · 766 阅读 · 0 评论 -
哈哈哈哈哈哈哈哈哈哈哈哈哈哈
# -*- coding: utf-8 -*-"""Created on Fri Mar 13 07:43:42 2020@author: ljh"""import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.utils.data import Dataset,DataLoaderimport collectionsfrom collections import Counterimpor原创 2021-10-09 13:46:20 · 93 阅读 · 0 评论 -
pytorch_模型_GRU
一、GRU的原理GRU一共有2个门。z:更新门,取sigmoid表示以前的信息是否需要更新。r:重置门,取sigmoid类似于LSTM的忘记门,代表以前的信息是否需要重置。就是忘记Ht-1的内容。h‘:输入+忘记该忘记的(ht-1 * r)(R=0时候直接进行忘记之前Ht-1的操作)新的h:更新需要更新的,不需要更新的维持(z=1就是维持Ht-1的状态不变,z=0就是进行更新)二、GRU的实现import torchfrom torch import nnfrom d2l import原创 2021-09-27 11:22:48 · 348 阅读 · 0 评论 -
pytorch_模型_RNN
一、一个大的数据预处理例子## #torch.normal(A, B ,size(C, D), requires_grad=True)# #A为要输出的张量的均值,B为输出张量的方差,size(C, D)表示输出张量的形状,requires_grad=True是否需要计算导数# #如果A,B传入的是arange范围,表示A,B从这个范围内抽取随机数,作为输出的均值和方差# x=torch.sin(0.01*time)+torch.normal(0,0.2,(T,))# d2l.plot(time原创 2021-09-27 10:32:58 · 268 阅读 · 0 评论 -
pytorch_CBOW模型的实现
import torchfrom torch import nn,optimfrom torch.autograd import Variableimport torch.nn.functional as FCONTEXT_SIZE= 2raw_text="We are about to study the idea of a computational process. Computational processes are abstract beings that inhabit compu原创 2021-09-18 15:04:23 · 860 阅读 · 0 评论 -
pytorch_模型
1 、官方模型引入官方的模型保存在torchvision.models中,可以去pytorch官网查看模型。eg.torchvision.models.vgg16(pretrained=True)2、在模型后面添加module(1).add_module在最末尾追加vgg16_true.add_module("add_linear",nn.Linear(1000,10))vgg16_true = torchvision.models.vgg16(pretrained=True)gg16_tru原创 2021-09-17 16:25:03 · 442 阅读 · 0 评论 -
pytorch_搭建网络_优化
一、优化器的基本框架#class Tudui()的书写省略loss = nn.CrossEntropyLoss()#引入损失函数tudui = Tudui()optim = torch.optim.SGD(tudui.parameters(),lr=0.01)#建立优化器for epoch in range(20): runing_loss = 0.0 for data in dataloader: imgs,target = data output原创 2021-09-17 13:15:09 · 97 阅读 · 0 评论 -
pytorch_搭建网络_层
一import torchimport torch.nn.functional as Finput =torch.tensor([[1,2,0,3,1],[1,2,5,3,1],[1,4,0,3,1],[1,2,6,4,1],[2,0,3,9,1]])kernel =torch.tensor([[1,2,1],[1,2,1],[1,2,1]])input = torch.reshape(input,(1,1,5,5))kernel= torch.reshape(kernel,(1,1,3,原创 2021-09-17 09:01:20 · 150 阅读 · 0 评论 -
pytorch_搭建网络_nn.Module
一、神经网络基本样子1、构建神经网络需要继承nn.Module类。简单看看nn.Module类class Module(object): def __init__(self): def forward(self, *input): def add_module(self, name, module): def cuda(self, device=None): def cpu(self): def __call__(self, *input, **kw原创 2021-09-16 19:19:17 · 259 阅读 · 0 评论 -
pytorch_数据展示_SummaryWriter的两个函数
1、writer.add_scalar(“y=3x”,3*i,i)书写坐标图from torch.utils.tensorboard import SummaryWriterwriter =SummaryWriter("logs")#writer.add_image()for i in range(100): writer.add_scalar("y=3x",3*i,i)writer.close()#接下来的操作在pycharm的终端进行。 tensorboard --logdir=原创 2021-09-16 10:46:01 · 7235 阅读 · 2 评论 -
pytorch_数据导入_Dataloader
一、什么是DataLoader?1、深度学习的流程:(1) 创建Dateset :负责建立索引和数据样本之间的联系(2) Dataset传递给DataLoader :负责在样本中产生一个一个batch的样本集(也就是一个一个固定大小的数据包)(3) DataLoader迭代产生训练数据提供给模型:在enumerate过程中实际上是dataloader按照其参数sampler规定的策略调用了其dataset的getitem方法,也就是说根据传入的参数来调用dataset的getitem方法也就是返回数原创 2021-09-16 10:42:21 · 520 阅读 · 0 评论 -
pytorch_数据读取_dataset
一、Dataset是什么?Dataset类似建立一个数组,建立数据集和数据标签之间的联系(就像数组下标和元素之间的联系)。二、什么时候用Dataset?1、引入datasets内部封装的数据集。例如:CIFAR10是一个关于图片的数据,下面代码就是它的引入data = datasets.CIFAR10("./data/", transform=transform, train=True, download=True)2、引入自己的数据集,这里使用了使用ImageFolder这个API。Fac原创 2021-09-16 10:25:15 · 433 阅读 · 0 评论 -
pytorch基础知识
1、关系拟合(回归)就是对一堆散点进行高精度的拟合。(1)建立数据集合import torchimport matplotlib.pyplot as pltx = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1)y = x.pow(2) + 0.2*torch.rand(x.size()) # noisy y data (tensor),原创 2021-04-27 15:33:03 · 130 阅读 · 0 评论 -
书-tensor的基本知识
一、tensor的相关概念1、定义:就是多维矩阵。2、张量的数据类型:1、查看数据类型和修改import torcha=torch.tensor([1.2,3.4]).dtype用torch.tensor()函数来创建一个张量,用 .dtype 来显式张量的数据类型。tensor的数据类型默认是32位import torchtorch.set_default_tensor_type(torch.DoubleTensor)修改tensor的默认值。3、张量的生成1、使用torch.原创 2021-04-25 12:16:43 · 581 阅读 · 1 评论 -
第一节:pytorch的基础
1、pytorch和numpy(1)可以相互转化import torchimport numpy as npnp_data = np.arange(6).reshape((2, 3))torch_data = torch.from_numpy(np_data)tensor2array = torch_data.numpy()print( '\nnumpy array:', np_data, # [[0 1 2], [3 4 5]] '\ntorch tens原创 2021-04-17 16:47:35 · 89 阅读 · 0 评论