pytorch基础知识之Tensor(1)

Tensor定义

1.张量 :对于标量,矩阵,向量更加泛化的表述。可以说矩阵就是2阶的张量,张量可以表示数据的任意维度
在这里插入图片描述
在这里插入图片描述
以下是创建一些张量代码实例

import torch
#传数据(FlotTensor类型)
a = torch.Tensor( [ [1,2],[3,4] ] )

#基础构造函数
a = torch.Tensor(2,3)
#几种特殊
b = torch.zeros(3,5)
b = torch.ones(2,2)
b = torch.eye(3,3)

c = torch.zeros_like(a)
c = torch.ones_like(a)

#.........随机
a = torch.rand(2,2)
#........正态
a = torch.normal(mean = 0.0, std = torch.rand(2,3)) #mean为均值, std为标准差
a = torch.normal(mean = torch.rand(2,5),std = torch.rand(2,5) )
#..............均匀分布 (FlotTensor类型)
a = torch.Tensor(1,3).uniform_(0,1)
#........序列  (LongTensor类型)
a = torch.arange(0,10,2)  #步长为2,最后结尾值不包含在序列中
a  = torch.linspace(1,10, 3) #拿到等间隔的3个数字,结尾值包含10
#........随机排列(LongTensor类型)
a = torch.randperm(15)   #0-14,数字随机排列
print(a)
print(a.t
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个开源的机器学习框架,主要用于构建深度学习模型。下面是一些PyTorch基础代码知识: 1. 张量(Tensor)操作: - 创建张量:使用`torch.tensor()`函数可以创建一个张量。 - 张量的属性:可以使用`.shape`属性获取张量的形状,使用`.dtype`属性获取张量的数据类型。 - 张量的运算:可以进行加减乘除等基本运算,也可以使用函数`torch.add()`, `torch.sub()`, `torch.mul()`, `torch.div()`等进行运算。 2. 自动求导(Autograd): - 自动求导:PyTorch使用自动求导机制来计算梯度。要启用自动求导,只需将`requires_grad=True`设置为张量的参数。 - 梯度计算:通过调用`.backward()`方法可以计算张量的梯度。 - 禁用梯度跟踪:可以使用`torch.no_grad()`上下文管理器来禁用梯度的跟踪。 3. 神经网络模块: - 搭建网络:使用`torch.nn.Module`类可以定义神经网络模块。需要实现两个方法:`__init__()`和`forward()`。 - 参数优化:使用`torch.optim`模块可以定义优化器,如SGD、Adam等。可以通过`optimizer.zero_grad()`清零梯度,`optimizer.step()`更新参数。 4. 数据加载: - 数据集:可以使用`torch.utils.data.Dataset`类来定义自己的数据集。 - 数据加载器:使用`torch.utils.data.DataLoader`类可以创建数据加载器,用于批量加载数据。 5. 训练模型: - 训练循环:通常使用两个嵌套的循环来训练模型,外循环用于迭代训练轮数,内循环用于迭代数据批次。 - 前向传播和反向传播:在内循环中,通过前向传播计算输出,然后计算损失,最后使用反向传播计算梯度并更新参数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值