Pytorch_1_基础

Pytorch基础

1 PyTorch简介

PyTorch是一个使用PyTorch语言的神经网络库,PyTorch 在神经网络领域可替换numpy的模块 。常用的两个神经网络库是Pytorch和Tensorflow,两者各有优劣。
PytorchTensorflow
优势动态神经网络
如RNN变化时间长度的输出
分布式训练
劣势静态神经网络

1.1 Pytorch安装

前往官网Start Locally | PyTorch,使用pip命令行安装。

在这里插入图片描述

2 Torch中的基本运算

2.1 Torch或Numpy

​ Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor(张量) 放在 GPU 中加速运算 ,就像 Numpy 会把 array 放在 CPU 中加速运算。numpy与torch具有很好的兼容性,numpy array 和torch tensor可以自由转换。

2.2 Torch API

Torch的基本用法:

import torch
data = [[1,2], [3,4]]
tensor = torch.FloatTensor(data)  # 转换成32位浮点 tensor  数据生成

函数:
torch.f(tensor)     ##类比numpy:np.f(nparray)
torch.mm(tensor,tensor)

要学会阅读API!!!

API:torch — PyTorch 2.1 documentation

2.3 Variable与Tensor

Pytorch 0.4以后,Variable被弃用,合并为Tensor

  • Variable 变量

​ 存储Tensor的地理位置,如果使用Variable 进行计算,返回的也是同类型的Variable。Variable也可以像Tensor一样进行计算,但是使用Variable计算时,背后有一张计算图(computational graph)计算图将计算步骤 (节点) 都连接起来, 最后进行误差反向传递的时候, 可一次性计算所有 variable 里的修改幅度 (梯度) 。 而Tensor运算时没有这种运算能力。【Variable包含Tensor数据和其他信息】

  • Tensor 张量

​ 张量可以理解为矩阵数据

在这里插入图片描述

定义变量和张量:

import torch
from torch.autograd import Variable # torch 中 Variable 模块

# 先生鸡蛋
tensor = torch.FloatTensor([[1,2],[3,4]])
# 把鸡蛋放到篮子里, requires_grad是参不参与误差反向传播, 要不要计算梯度
variable = Variable(tensor, requires_grad=True)

读取Variable中的Tensor数据:

variable.grad  #data.grad Variable变量的梯度
variable  #Variable变量
variable.data  #Variable变量中的Tensor数据
variable.data.numpy()  #Variable变量中的Tensor数据 的numpy形式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值