norm 是计算范数,范数就是对矩阵(向量)里的数进行某种运算,获得一个数值,形容这个矩阵的规模(大小)
norm(a, p) 有2个参数
a 是一个张量,p是一个数字
公式如下:
即......
PyTorch入门学习 12-矢量计算比循环计算快很多、time()
两个向量相加或者其他运算,尽可能采用矢量计算。比对每个元素循环计算快几个数量级(几百倍、千倍)。
可以使用 time() 获取当前时间戳毫秒数
代码
from time import time
im......
PyTorch入门学习 11-梯度计算3,中断梯度追踪,想修改Tensor值不影响梯度
一、正常情况,默认会自动计算梯度
代码
import torch
x = torch.tensor([[1.0, 2.0], [3.0, 4.0]], requires_grad=True) # ......
PyTorch入门学习 10-梯度计算2,不支持张量对张量的求导,它只支持标量对张量的求导
标量(Scalar):
标量是一个单独的数,它没有方向,只有大小。
在深度学习中,标量通常表示一个单独的数值,例如温度、长度或重量等。
张量(Tensor):
张量是超过二维的数组,可以......
PyTorch入门学习 9-梯度计算1
梯度,我们先简单认为就是函数的导数
比如 y=x*2,y'=2*x
代入x1 = 3,则此时梯度为 6
代码1
import torch
x = torch.tensor([3.0], ......
PyTorch入门学习 8-Tensor和NumPy相互转换
主要使用 numpy() 和 from_numpy 实现 Tensor 和 NumPy的数据转换
关于是否共享内存,总结下
NumPy转Tensor
共享内存
torch.from_numpy(......
Python 之 Pandas 库学习
PanDas库是Python中的一个强大的数据处理库,它提供了高效的数据分析方法和数据结构。
相比于其他的数据处理库,pandas更适用于处理具有关系型数据或者带标签数据的情况,在时间序列分析方面也有......
Python 之 NumPy 库学习
NumPy,全称Numerical Python,是一个开源的Python库,它为Python提供了强大的多维数组对象和用于处理这些数组的函数。
NumPy的核心是ndarray,它是一个高效的多维数......
PyTorch入门学习 7-内存开销问题
使用 id()查询变量的内存地址
会开辟新内存的
y = x + y
y = torch.add(x, y)
y = x.add(y)
不会开辟新内存的
y += x
y.add......
PyTorch入门学习 6-广播机制
广播机制:当2个张量形状不同时,会对两者的元素进行复制,使形状相同后再操作。
先来个简单的例子
代码1
import torch
a = torch.ones(3) # 生成一个长度为3的全1张量......
PyTorch入门学习 5-线性代数 trace、diag、triu、mm、bmm、addmm、inverse、t
代码
import torch
x = torch.arange(1, 5).view(2, 2)
# 1 2
# 3 4
print(x)
# 例1、求对角线之和
print(torch.trac......
PyTorch入门学习 4-连续性、view, reshape, clone
一、连续性判断
连续性:底层数据的存储顺序与张量按行优先一维展开的元素顺序是否一致
代码
import torch
# 例1、连续性判断
x = torch.arange(6)
print(x)
pr......
PyTorch入门学习 3-索引 index_select, gather
代码
import torch
print('# 1、索引选择,一维矩阵')
x = torch.arange(0, 5, 1) # 从0到5,步长为1。等价于 x = torch.tensor([......
PyTorch入门学习 2-算术操作 add sub mul div
代码
import torch
print('# 1、算法操作')
# 例1、加法
x = torch.rand(3, 3)
y = torch.rand(3, 3)
print(x)
print(......
PyTorch入门学习 1-Tensor的最基本功能,创建张量 arange、tensor、ones、zeros、eye
官方文档地址:https://pytorch.org/docs/stable/torch.html
代码
import torch
print('# 例1、对角线都是1的矩阵')
x = torch......