419 次浏览
我们使用 torch.log2() 方法计算张量元素以 2 为底的对数。它返回一个新张量,其中包含原始输入张量元素的对数值。它接受一个张量作为输入参数并输出一个张量。语法torch.log2(input)其中 input 是一个 PyTorch 张量。它返回一个包含以 2 为底的对数值的新张量。步骤导入 torch 库。确保你已经安装了它。import torch 创建一个张量并打印它。tensor1 = torch.rand(5, 3) print("Tensor:", tensor1)计算 torch.log2(input) 并将其值赋给一个新变量(可选)。这里,input 是创建的张量。logb2 = ... 阅读更多
12K+ 次浏览
Tensor.detach() 用于将张量从当前计算图中分离。它返回一个不需要梯度的新张量。当我们不需要跟踪张量进行梯度计算时,我们将张量从当前计算图中分离。当我们需要将张量从 GPU 移动到 CPU 时,我们也需要分离张量。语法Tensor.detach()它返回一个新的张量,其中 requires_grad = True。将不再计算关于此张量的梯度。步骤导入 torch 库。确保你已经安装了它。import torch 创建一个 requires_grad = True 的 PyTorch 张量,并... 阅读更多
要计算梯度,张量的参数必须设置为 requires_grad = true。梯度与偏导数相同。例如,在函数 y = 2*x + 1 中,x 是一个 requires_grad = True 的张量。我们可以使用 y.backward() 函数计算梯度,并使用 x.grad 访问梯度。这里,x.gad 的值与 y 关于 x 的偏导数相同。如果张量 x 没有 requires_grad,则梯度为 None。我们可以定义一个多个变量的函数。这里的变量是 PyTorch 张量。步骤我们可以使用... 阅读更多
439 次浏览
torch.logical_xor() 计算给定两个输入张量的逐元素逻辑异或。在一个张量中,值为零的元素被视为 False,非零元素被视为 True。它接受两个张量作为输入参数,并返回计算逻辑异或后的值张量。语法torch.logical_xor(tensor1, tensor2)其中 tensor1 和 tensor2 是两个输入张量。步骤要计算给定输入张量的逐元素逻辑异或,可以按照以下步骤操作:导入 torch 库。确保你已经安装了它。创建两个张量,tensor1 和 tensor2,并打印这些张量。计算 torch.logical_xor(tesnor1, tesnor2) 并将其值赋给... 阅读更多
725 次浏览
torch.narrow() 方法用于对 PyTorch 张量执行缩小操作。它返回一个新张量,它是原始输入张量的缩小版本。例如,一个 [4, 3] 的张量可以缩小到 [2, 3] 或 [4, 2] 大小的张量。我们可以一次沿着单个维度缩小张量。这里,我们不能同时将两个维度缩小到 [2, 2] 的大小。我们也可以使用 Tensor.narrow() 来缩小张量。语法torch.narrow(input, dim, start, length) Tensor.narrow(dim, start, length)参数input – 要缩小的 PyTorch 张量。dim – 要缩小的维度。... 阅读更多
3K+ 次浏览
torch.permute() 方法用于对 PyTorch 张量执行置换操作。它返回输入张量的视图,其维度已置换。它不会复制原始张量。例如,一个维度为 [2, 3] 的张量可以置换为 [3, 2]。我们还可以使用 Tensor.permute() 使用新维度置换张量。语法torch.permute(input, dims)参数input – PyTorch 张量。dims – 期望维度的元组。步骤导入 torch 库。确保你已经安装了它。import torch 创建一个 PyTorch 张量并打印张量和张量的大小。t = torch.tensor([[1, 2], [3, 4], [5, 6]]) print("Tensor:", ... 阅读更多
Tensor.expand() 属性用于执行扩展操作。它沿单例维度将张量扩展到新维度。扩展张量只会创建原始张量的新视图;它不会复制原始张量。如果将特定维度设置为 -1,则不会沿此维度扩展张量。例如,如果我们有一个大小为 (3, 1) 的张量,我们可以沿大小为 1 的维度扩展此张量。步骤要扩展张量,可以按照以下步骤操作:导入 torch 库。确保你已经安装了它。import torch 定义一个张量... 阅读更多
5K+ 次浏览
要创建具有梯度的张量,我们在创建张量时使用额外的参数“requires_grad = True”。requires_grad 是一个标志,它控制张量是否需要梯度。只有浮点型和复数类型的张量才能需要梯度。如果 requires_grad 为 false,则张量与没有 requires_grad 参数的张量相同。语法torch.tensor(value, requires_grad = True)参数value – 张量数据,用户定义或随机生成。requires_grad – 一个标志,如果为 True,则将张量包含在梯度计算中。输出它返回一个 requires_grad 为 True 的张量。步骤导入所需的库。所需的库是 torch。定义一个 requires_grad = True 的张量显示... 阅读更多
245 次浏览
使用 torch.remainder() 方法计算张量除以其他张量时的逐元素余数。我们也可以应用 torch.fmod() 来查找余数。这两种方法的区别在于,在 torch.remainder() 中,当结果的符号与除数的符号不同时,会将除数添加到结果中;而在 torch.fmod() 中,则不会添加。语法torch.remainder(input, other) torch.fmod(input, other)参数Input – 它是一个 PyTorch 张量或标量,被除数。Other – 它也是一个 PyTorch 张量或标量,除数。输出它返回一个包含逐元素余数值的张量。步骤导入 torch 库。定义张量,被除数和... 阅读更多
836 次浏览
torch.linalg.svd() 计算矩阵或一批矩阵的奇异值分解 (SVD)。奇异值分解表示为命名元组 (U, S, Vh)。对于实矩阵,U 和 Vh 是正交的;对于复数矩阵,U 和 Vh 是酉的。当 V 是实数时,Vh 是 V 的转置;当 V 是复数时,Vh 是 V 的共轭转置。即使输入是复数,S 也始终是实数值。语法U, S, Vh = torch.linalg.svd(A, full_matrices=True)参数A – PyTorch 张量(矩阵或一批矩阵)。full_matrices – 如果为 True,则输出是完整的 SVD,否则是简化的 SVD。默认为 True。输出它返回一个命名元组... 阅读更多