torch.Tensor

若API未标明支持情况,则代表该API的支持情况待验证。

API名称

是否支持

限制与说明

torch.Tensor

是

  

Tensor.new_tensor

是

  

Tensor.new_full

是

  

Tensor.new_empty

是

  

Tensor.new_ones

是

  

Tensor.new_zeros

是

  

Tensor.ndim

是

  

Tensor.grad

是

  

Tensor.abs

是

  

Tensor.abs_

     

Tensor.absolute

是

  

Tensor.absolute_

     

Tensor.acos

是

不支持int32。

Tensor.acos_

     

Tensor.arccos

是

不支持int64。

Tensor.arccos_

     

Tensor.add

是

  

Tensor.add_

     

Tensor.addbmm

是

  

Tensor.addbmm_

     

Tensor.addcdiv

是

支持fp16,fp32,int64,bool。

在int64类型不支持三个tensor同时广播。

Tensor.addcdiv_

是

支持fp16,fp32,int64,bool。

在int64类型不支持三个tensor同时广播。

Tensor.addcmul

是

支持fp16,fp32,int64,bool。

在int64类型不支持三个tensor同时广播。

Tensor.addcmul_

是

支持fp16,fp32,int64,bool。

在int64类型不支持三个tensor同时广播。

Tensor.addmm

是

  

Tensor.addmm_

     

Tensor.sspaddmm

     

Tensor.addmv

是

  

Tensor.addmv_

     

Tensor.addr

是

  

Tensor.addr_

     

Tensor.adjoint

否

  

Tensor.allclose

是

  

Tensor.amax

是

  

Tensor.amin

是

  

Tensor.aminmax

否

  

Tensor.angle

否

  

Tensor.apply_

     

Tensor.argmax

是

  

Tensor.argmin

是

  

Tensor.argsort

是

  

Tensor.argwhere

是

  

Tensor.asin

是

  

Tensor.asin_

     

Tensor.arcsin

是

不支持int64。

Tensor.arcsin_

     

Tensor.as_strided

是

  

Tensor.atan

是

  

Tensor.atan_

     

Tensor.arctan

是

不支持int64。

Tensor.arctan_

     

Tensor.atan2

是

  

Tensor.atan2_

     

Tensor.arctan2

是

  

Tensor.arctan2_

     

Tensor.all

是

  

Tensor.any

是

  

Tensor.backward

是

  

Tensor.baddbmm

是

  

Tensor.baddbmm_

     

Tensor.bernoulli

是

  

Tensor.bernoulli_

是

  

Tensor.bfloat16

     

Tensor.bincount

是

  

Tensor.bitwise_not

是

  

Tensor.bitwise_not_

     

Tensor.bitwise_and

是

  

Tensor.bitwise_and_

     

Tensor.bitwise_or

是

  

Tensor.bitwise_or_

     

Tensor.bitwise_xor

是

  

Tensor.bitwise_xor_

     

Tensor.bitwise_left_shift

否

  

Tensor.bitwise_left_shift_

     

Tensor.bitwise_right_shift

否

  

Tensor.bitwise_right_shift_

     

Tensor.bmm

是

  

Tensor.bool

是

  

Tensor.byte

是

  

Tensor.broadcast_to

是

  

Tensor.cauchy_

是

  

Tensor.ceil

是

  

Tensor.ceil_

     

Tensor.char

     

Tensor.cholesky

否

  

Tensor.cholesky_inverse

否

  

Tensor.cholesky_solve

否

  

Tensor.chunk

是

  

Tensor.clamp

是

  

Tensor.clamp_

     

Tensor.clip

是

  

Tensor.clip_

     

Tensor.clone

是

  

Tensor.contiguous

是

  

Tensor.copy_

是

  

Tensor.conj

否

  

Tensor.conj_physical

否

  

Tensor.conj_physical_

     

Tensor.resolve_conj

否

  

Tensor.resolve_neg

否

  

Tensor.copysign

是

  

Tensor.copysign_

     

Tensor.cos

是

  

Tensor.cos_

     

Tensor.cosh

是

  

Tensor.cosh_

     

Tensor.corrcoef

是

不支持float64。

Tensor.count_nonzero

是

  

Tensor.cov

是

不支持bool。

Tensor.acosh

是

不支持int64。

Tensor.acosh_

     

Tensor.arccosh

是

不支持int64。

Tensor.arccosh_

     

Tensor.cpu

     

Tensor.cross

是

两个输入的shape要保持一致。

Tensor.cuda

     

Tensor.logcumsumexp

否

  

Tensor.cummax

是

  

Tensor.cummin

是

  

Tensor.cumprod

是

  

Tensor.cumprod_

     

Tensor.cumsum

是

  

Tensor.cumsum_

     

Tensor.data_ptr

是

  

Tensor.deg2rad

是

  

Tensor.dequantize

否

  

Tensor.det

否

  

Tensor.dense_dim

     

Tensor.detach

是

  

Tensor.detach_

是

  

Tensor.diag

是

仅支持diagonal=0场景。

Tensor.diag_embed

是

  

Tensor.diagflat

是

  

Tensor.diagonal

是

  

Tensor.diagonal_scatter

是

  

Tensor.fill_diagonal_

     

Tensor.fmax

否

  

Tensor.fmin

否

  

Tensor.diff

是

  

Tensor.digamma

否

可以走CPU实现。

Tensor.digamma_

     

Tensor.dim

否

  

Tensor.dist

是

  

Tensor.div

是

  

Tensor.div_

     

Tensor.divide

否

  

Tensor.divide_

     

Tensor.dot

是

  

Tensor.double

     

Tensor.dsplit

是

只支持float16,float32,float64。

Tensor.eig

否

  

Tensor.element_size

是

  

Tensor.eq

是

  

Tensor.eq_

     

Tensor.equal

是

  

Tensor.erf

是

  

Tensor.erf_

     

Tensor.erfc

是

  

Tensor.erfc_

     

Tensor.erfinv

是

  

Tensor.erfinv_

     

Tensor.exp

是

  

Tensor.exp_

     

Tensor.expm1

是

  

Tensor.expm1_

     

Tensor.expand

     

Tensor.expand_as

     

Tensor.exponential_

否

  

Tensor.fix

是

  

Tensor.fix_

     

Tensor.fill_

是

  

Tensor.flatten

是

  

Tensor.flip

是

  

Tensor.fliplr

是

  

Tensor.flipud

是

  

Tensor.float

     

Tensor.float_power

是

不支持float64。

Tensor.float_power_

     

Tensor.floor

是

  

Tensor.floor_

     

Tensor.floor_divide

是

  

Tensor.floor_divide_

     

Tensor.fmod

是

  

Tensor.fmod_

是

  

Tensor.frac

是

  

Tensor.frac_

     

Tensor.frexp

否

  

Tensor.gather

是

  

Tensor.gcd

否

  

Tensor.gcd_

     

Tensor.ge

是

  

Tensor.ge_

     

Tensor.greater_equal

是

  

Tensor.greater_equal_

     

Tensor.geometric_

否

  

Tensor.geqrf

否

  

Tensor.ger

是

  

Tensor.get_device

     

Tensor.gt

是

  

Tensor.gt_

是

  

Tensor.greater

是

  

Tensor.greater_

     

Tensor.half

是

  

Tensor.hardshrink

     

Tensor.heaviside

否

  

Tensor.histc

是

  

Tensor.histogram

否

  

Tensor.hsplit

是

  

Tensor.hypot

否

  

Tensor.hypot_

     

Tensor.i0

否

  

Tensor.i0_

     

Tensor.igamma

否

  

Tensor.igamma_

     

Tensor.igammac

否

  

Tensor.igammac_

     

Tensor.index_add_

是

支持fp16,fp32,fp64,int8,int16,int32,int64,uint8,bool。

Tensor.index_add

是

支持fp16,fp32,fp64,int8,int16,int32,int64,uint8,bool。

Tensor.index_copy_

     

Tensor.index_copy

     

Tensor.index_fill_

     

Tensor.index_fill

     

Tensor.index_put_

     

Tensor.index_put

     

Tensor.index_select

是

  

Tensor.indices

     

Tensor.inner

是

不支持int64,out场景没适配。

Tensor.int

     

Tensor.int_repr

     

Tensor.inverse

是

  

Tensor.isclose

是

  

Tensor.isfinite

是

  

Tensor.isinf

是

  

Tensor.isposinf

是

  

Tensor.isneginf

是

  

Tensor.isnan

Atlas 训练系列产品:是

Atlas A2 训练系列产品:否

  

Tensor.is_contiguous

是

  

Tensor.is_complex

是

支持判断,但当前硬件限制不支持复数。

Tensor.is_conj

是

  

Tensor.is_floating_point

是

  

Tensor.is_inference

是

  

Tensor.is_pinned

是

  

Tensor.is_set_to

     

Tensor.is_shared

     

Tensor.is_signed

是

  

Tensor.is_sparse

是

  

Tensor.istft

否

  

Tensor.isreal

是

  

Tensor.item

是

  

Tensor.kthvalue

否

  

Tensor.lcm

否

  

Tensor.lcm_

     

Tensor.ldexp

是

在int64带out场景下,out场景也必须是int64类型。

Tensor.ldexp_

     

Tensor.le

是

  

Tensor.le_

     

Tensor.less_equal

是

  

Tensor.less_equal_

     

Tensor.lerp

是

  

Tensor.lerp_

     

Tensor.lgamma

否

可以走CPU实现。

Tensor.lgamma_

     

Tensor.log

是

  

Tensor.log_

     

Tensor.logdet

否

  

Tensor.log10

是

  

Tensor.log10_

     

Tensor.log1p

是

  

Tensor.log1p_

     

Tensor.log2

是

  

Tensor.log2_

     

Tensor.log_normal_

否

  

Tensor.logaddexp

否

  

Tensor.logaddexp2

否

  

Tensor.logsumexp

是

  

Tensor.logical_and

是

  

Tensor.logical_and_

是

  

Tensor.logical_not

是

  

Tensor.logical_not_

     

Tensor.logical_or

是

  

Tensor.logical_or_

     

Tensor.logical_xor

否

  

Tensor.logical_xor_

     

Tensor.logit

否

可以走CPU实现。

Tensor.logit_

     

Tensor.long

是

  

Tensor.lstsq

否

  

Tensor.lt

否

  

Tensor.lt_

     

Tensor.less

是

  

Tensor.less_

     

Tensor.lu

否

  

Tensor.lu_solve

否

  

Tensor.as_subclass

     

Tensor.map_

是

仅支持在CPU上运行

Tensor.masked_scatter_

     

Tensor.masked_scatter

     

Tensor.masked_fill_

     

Tensor.masked_fill

     

Tensor.masked_select

是

  

Tensor.matmul

是

  

Tensor.matrix_power

是

  

Tensor.matrix_exp

否

  

Tensor.max

是

不支持float64,int32,int16,int8,uint8。

Tensor.maximum

是

  

Tensor.mean

是

  

Tensor.nanmean

否

  

Tensor.median

是

  

Tensor.nanmedian

否

可以走CPU实现。

Tensor.min

是

  

Tensor.minimum

是

  

Tensor.mm

是

  

Tensor.smm

     

Tensor.mode

否

可以走CPU实现。

Tensor.movedim

是

  

Tensor.moveaxis

是

  

Tensor.msort

否

  

Tensor.mul

是

  

Tensor.mul_

     

Tensor.multiply

是

  

Tensor.multiply_

     

Tensor.multinomial

是

  

Tensor.mv

是

  

Tensor.mvlgamma

否

可以走CPU实现。

Tensor.mvlgamma_

     

Tensor.nansum

否

可以走CPU实现。

Tensor.narrow

是

  

Tensor.narrow_copy

     

Tensor.ndimension

是

  

Tensor.nan_to_num

否

  

Tensor.nan_to_num_

     

Tensor.ne

否

  

Tensor.ne_

     

Tensor.not_equal

是

  

Tensor.not_equal_

     

Tensor.neg

是

  

Tensor.neg_

     

Tensor.negative

是

  

Tensor.negative_

     

Tensor.nelement

是

  

Tensor.nextafter

否

  

Tensor.nextafter_

     

Tensor.nonzero

是

  

Tensor.norm

是

  

Tensor.normal_

是

  

Tensor.numel

是

  

Tensor.numpy

是

  

Tensor.orgqr

否

  

Tensor.ormqr

否

  

Tensor.outer

是

  

Tensor.permute

是

  

Tensor.pin_memory

     

Tensor.pinverse

是

  

Tensor.polygamma

否

  

Tensor.polygamma_

     

Tensor.positive

是

  

Tensor.pow

是

支持fp16,fp32,int64,bool。

Int类型使用的是浮点数方案,可能存在精度误差。

Tensor.pow_

是

支持fp16,fp32,int64,bool。

Int类型使用的是浮点数方案,可能存在精度误差。

Tensor.prod

是

  

Tensor.put_

     

Tensor.qr

是

  

Tensor.qscheme

     

Tensor.quantile

是

  

Tensor.nanquantile

否

  

Tensor.q_scale

     

Tensor.q_zero_point

     

Tensor.q_per_channel_scales

     

Tensor.q_per_channel_zero_points

     

Tensor.q_per_channel_axis

     

Tensor.rad2deg

是

不支持int64。

Tensor.random_

是

  

Tensor.ravel

是

  

Tensor.reciprocal

是

  

Tensor.reciprocal_

     

Tensor.record_stream

     

Tensor.register_hook

是

  

Tensor.remainder

否

  

Tensor.remainder_

     

Tensor.renorm

是

支持fp16,fp32。

属性max_norm仅支持非负值。

Tensor.renorm_

是

支持fp16,fp32。

属性max_norm仅支持非负值。

Tensor.repeat

     

Tensor.repeat_interleave

是

  

Tensor.requires_grad_

是

  

Tensor.reshape

是

  

Tensor.reshape_as

     

Tensor.resize_

     

Tensor.resize_as_

     

Tensor.retain_grad

是

  

Tensor.retains_grad

是

  

Tensor.roll

是

  

Tensor.rot90

是

  

Tensor.round

是

  

Tensor.round_

     

Tensor.rsqrt

是

  

Tensor.rsqrt_

     

Tensor.scatter

是

  

Tensor.scatter_

     

Tensor.scatter_add_

     

Tensor.scatter_add

是

  

Tensor.scatter_reduce

否

  

Tensor.select

是

  

Tensor.select_scatter

是

  

Tensor.set_

     

Tensor.share_memory_

     

Tensor.short

是

  

Tensor.sigmoid

是

  

Tensor.sigmoid_

     

Tensor.sign

是

  

Tensor.sign_

     

Tensor.signbit

否

  

Tensor.sgn

否

  

Tensor.sgn_

     

Tensor.sin

是

  

Tensor.sin_

     

Tensor.sinc

否

  

Tensor.sinc_

     

Tensor.sinh

是

  

Tensor.sinh_

     

Tensor.asinh

是

  

Tensor.asinh_

     

Tensor.arcsinh

是

不支持int64。

Tensor.arcsinh_

     

Tensor.size

是

  

Tensor.slogdet

是

  

Tensor.slice_scatter

是

  

Tensor.solve

否

  

Tensor.sort

是

不支持stable参数。

Tensor.split

是

  

Tensor.sparse_mask

     

Tensor.sparse_dim

     

Tensor.sqrt

是

  

Tensor.sqrt_

     

Tensor.square

是

  

Tensor.square_

     

Tensor.squeeze

是

  

Tensor.squeeze_

是

  

Tensor.std

是

  

std

     

Tensor.stft

否

  

Tensor.storage

是

  

Tensor.storage_offset

是

  

Tensor.storage_type

     

Tensor.stride

是

  

Tensor.sub

是

  

Tensor.sub_

     

Tensor.subtract

是

  

Tensor.subtract_

     

Tensor.sum

是

  

Tensor.sum_to_size

     

Tensor.svd

是

  

Tensor.swapaxes

是

  

Tensor.swapdims

是

  

Tensor.symeig

是

  

Tensor.t

是

  

Tensor.t_

     

Tensor.tensor_split

是

  

Tensor.tile

是

  

Tensor.to

是

不支持转为double类型。

to

     

torch.to

     

torch.to

     

Tensor.to_mkldnn

     

Tensor.take

是

  

Tensor.take_along_dim

是

不支持float64与int。

Tensor.tan

是

  

Tensor.tan_

     

Tensor.tanh

是

  

Tensor.tanh_

     

Tensor.atanh

是

不支持int64。

Tensor.atanh_

     

Tensor.arctanh

是

  

Tensor.arctanh_

     

Tensor.tolist

是

  

Tensor.topk

否

  

Tensor.to_sparse

     

Tensor.trace

否

  

Tensor.transpose

是

  

Tensor.transpose_

     

Tensor.triangular_solve

是

  

Tensor.tril

是

  

Tensor.tril_

是

  

Tensor.triu

是

  

Tensor.triu_

是

  

Tensor.true_divide

是

  

Tensor.true_divide_

     

Tensor.trunc

是

  

Tensor.trunc_

     

Tensor.type

     

Tensor.type_as

是

  

Tensor.unbind

是

  

Tensor.unfold

     

Tensor.uniform_

是

  

Tensor.unique

是

  

Tensor.unique_consecutive

是

传参时必须使用关键字,否则精度不达标。return_inverse=return_inverse,return_counts=return_counts,dim=dim。

Tensor.unsqueeze

是

  

Tensor.unsqueeze_

是

  

Tensor.values

     

Tensor.var

是

  

var

     

Tensor.vdot

否

可以走CPU实现。

Tensor.view

是

  

view

     

Tensor.view_as

是

  

Tensor.vsplit

是

只支持float16,float32,float64。

Tensor.where

是

  

Tensor.xlogy

否

  

Tensor.xlogy_

     

Tensor.zero_

是