>>> a = torch.randn(4, 3) >>> a -0.6652 -1.0116 -0.6857 0.2286 0.4446 -0.5272 0.0476 0.2321 1.9991 0.6199 1.1924 -0.9397 [torch.FloatTensor of size 4x3] >>> b = torch.randn(4, 3) >>> b -0.1042 -1.1156 0.1947 0.9947 0.1149 0.4701 -1.0108 0.8319 -0.0750 0.9045 -1.3754 1.0976 [torch.FloatTensor of size 4x3] >>> torch.cross(a, b, dim=1) -0.9619 0.2009 0.6367 0.2696 -0.6318 -0.4160 -1.6805 -2.0171 0.2741 0.0163 -1.5304 -1.9311 [torch.FloatTensor of size 4x3] >>> torch.cross(a, b) -0.9619 0.2009 0.6367 0.2696 -0.6318 -0.4160 -1.6805 -2.0171 0.2741 0.0163 -1.5304 -1.9311 [torch.FloatTensor of size 4x3]torch . diag( input , diagonal =0 , out = None ) --> Tensor 如果输入是一个向量(1D张量),则返回一个以input为对角线元素的2D方阵如果输入是一个矩阵(2D张量),则返回一个包含input对角线元素的1D张量 参数diagonal指定对角线: – diagonal = 0, 主对角线 – diagonal > 0, 主对角线之上 – diagonal < 0, 主对角线之下 参数: -- input (Tensor) :输入张量 --diagonal (int, optional) :指定对角线 --out (Tensor, optional):输出张量 例子: 取得以input为对角线的方阵:
>>> a = torch.randn(3) >>> a 1.0480 -2.3405 -1.1138 [torch.FloatTensor of size 3] >>> torch.diag(a) 1.0480 0.0000 0.0000 0.0000 -2.3405 0.0000 0.0000 0.0000 -1.1138 [torch.FloatTensor of size 3x3] >>> torch.diag(a, 1) 0.0000 1.0480 0.0000 0.0000 0.0000 0.0000 -2.3405 0.0000 0.0000 0.0000 0.0000 -1.1138 0.0000 0.0000 0.0000 0.0000 [torch.FloatTensor of size 4x4]
取得给定矩阵第k个对角线:
>>> a = torch.randn(3, 3) >>> a -1.5328 -1.3210 -1.5204 0.8596 0.0471 -0.2239 -0.6617 0.0146 -1.0817 [torch.FloatTensor of size 3x3] >>> torch.diag(a, 0) -1.5328 0.0471 -1.0817 [torch.FloatTensor of size 3] >>> torch.diag(a, 1) -1.3210 -0.2239 [torch.FloatTensor of size 2]torch . histc( input , bins =100 , min =0 , max =0 , out = None ) --> Tensor 计算输入张量的直方图。以min和max为range边界,将其均分成bins个直条,然后将排序好的数据划分到各个直条(bins)中。如果min和max都为0,则利用数据中的最大最小值作为边界。 参数: --input (Tensor) :输入张量 --bins (int) :直方图 bins( 直条 ) 的个数 ( 默认 100 个 ) --min (int) : range 的下边界 ( 包含 ) -- max (int) : range 的上边界 ( 包含 ) --out (Tensor, optional):结果张量 返回:直方图 返回类型:张量 例子:
>>> torch.histc(torch.FloatTensor([1, 2, 1]), bins=4, min=0, max=3) , → FloatTensor([0, 2, 1, 0])torch . renorm( input , p, dim, maxnorm, out = None ) --> Tensor 返回一个张量,包含规范化后的各个子张量,使得沿着dim维划分的各子张量的p范数小于maxnorm。 注意 如果p范数的值小于maxnorm,则当前子张量不需要修改。 参数: -- input (Tensor) :输入张量 --p (float):范数的 p -- dim (int) :沿着此维切片,得到张量子集 --maxnorm (float) :每个子张量的范数的最大值 -- out (Tensor, optional) :结果张量 例子:
>>> x = torch.ones(3, 3) >>> x[1].fill_(2) >>> x[2].fill_(3) >>> x 1 1 1 2 2 2 3 3 3 [torch.FloatTensor of size 3x3] >>> torch.renorm(x, 1, 0, 5) 1.0000 1.0000 1.0000 1.6667 1.6667 1.6667 1.6667 1.6667 1.6667 [torch.FloatTensor of size 3x3]torch . trace( input ) --> float 返回输入 2 维矩阵对角线元素的和 ( 迹 ) 例子:
>>> x = torch.arange(1, 10).view(3, 3) >>> x 1 2 3 4 5 6 7 8 9 [torch.FloatTensor of size 3x3] >>> torch.trace(x) 15.0torch . tril( input , k =0 , out = None ) --> Tensor 返回一个张量out,包含输入矩阵(2D张量)的下三角部分,out其余部分被设为0。这里所说的下三角部分为矩阵指定对角线diagonal之上的元素。 参数k控制对角线:-k=0,主对角线 -k>0,主对角线之上 -k<0,主对角线之下。 参数: --input (Tensor) :输入张量 --k (int, optional):指定对角线 -- out (Tensor, optional) :输出张量 例子:
>>> a = torch.randn(3,3) >>> a 1.3225 1.7304 1.4573 -0.3052 -0.3111 -0.1809 1.2469 0.0064 -1.6250 [torch.FloatTensor of size 3x3] >>> torch.tril(a) 1.3225 0.0000 0.0000 -0.3052 -0.3111 0.0000 1.2469 0.0064 -1.6250 [torch.FloatTensor of size 3x3] >>> torch.tril(a, k=1) 1.3225 1.7304 0.0000 -0.3052 -0.3111 -0.1809 1.2469 0.0064 -1.6250 [torch.FloatTensor of size 3x3] >>> torch.tril(a, k=-1) 0.0000 0.0000 0.0000 -0.3052 0.0000 0.0000 1.2469 0.0064 0.0000 [torch.FloatTensor of size 3x3]torch . triu( input , k =0 , out = None ) --> Tensor 返回一个张量,包含输入矩阵(2D张量)的上三角部分,其余部分被设为0.这里所说的上三角部分为矩阵指定对角线diagonal之上的元素。 参数k控制对角线:-k=0,主对角线 -k>0,主对线之上 -k<0 主对线之下 参数: --input (Tensor):输入张量 -- k (int, optional) :指定对角线 --out (Tensor, optional) :输出张量 例子:
>>> a = torch.randn(3,3) >>> a 1.3225 1.7304 1.4573 -0.3052 -0.3111 -0.1809 1.2469 0.0064 -1.6250 [torch.FloatTensor of size 3x3] >>> torch.triu(a) 1.3225 1.7304 1.4573 0.0000 -0.3111 -0.1809 0.0000 0.0000 -1.6250 [torch.FloatTensor of size 3x3] >>> torch.triu(a, k=1) 0.0000 1.7304 1.4573 0.0000 0.0000 -0.1809 0.0000 0.0000 0.0000 [torch.FloatTensor of size 3x3] >>> torch.triu(a, k=-1) 1.3225 1.7304 1.4573 -0.3052 -0.3111 -0.1809 0.0000 0.0064 -1.6250 [torch.FloatTensor of size 3x3]



