torch 接口功能约束说明
torch
| MindTorch接口 | 约束条件 |
|---|---|
| torch.frombuffer | require_grad暂不支持 |
| torch.multinomial | 暂不支持传入Generator |
| torch.randint | 暂不支持传入Generator |
| torch.randperm | 暂不支持传入Generator |
| torch.imag | 暂不支持图模式 |
| torch.max | 不支持other,不支持图模式 |
| torch.lu | 暂不支持图模式, get_infos=True场景下,暂不支持错误扫描; 暂不支持pivot=False入参, 仅支持二维方阵输入,不支持(*, M, N)形式输入 |
| torch.lstsq | 暂时不支持返回第二个参数QR,暂不支持图模式,反向梯度暂不支持 |
| torch.svd | Ascend上暂不支持图模式,Ascend上反向梯度暂不支持 |
| torch.nextafter | CPU上暂不支持float32输入 |
| torch.matrix_power | GPU上暂不支持参数n小于0 |
| torch.i0 | Ascend上暂不支持反向梯度, 暂不支持图模式 |
| torch.index_add | 暂不支持二维以上的input或dim>=1,暂不支持图模式 |
| torch.index_copy | 暂不支持二维以上的input或dim>=1,暂不支持图模式 |
| torch.scatter_reduce | 暂不支持reduce="mean", Ascend上暂不支持reduction='prod'同时dim>0 |
| torch.asarray | 1.暂不支持输入device和 copy参数配置功能; 2.requires_grad仅当环境变量ENABLE_BACKWARD=1时生效,且不支持图模式; |
| torch.complex | 暂不支持float16类型输入 |
| torch.fmin | 暂不支持反向梯度, 暂不支持图模式 |
| torch.kron | 暂不支持入参是不同复数类型 |
| torch.sort | 暂不支持stable入参 |
| torch.float_power | 不支持复数输入 |
| torch.polygamma | 1.暂不支持Ascend后端;2.当入参n为0时,结果可能不正确 |
| torch.geqrf | 暂不支持大于2维的输入 |
| torch.repeat_interleave | 暂不支持output_size入参 |
| torch.index_reduce | 暂不支持reduce="mean" |
| torch.corrcoef | 暂不支持复数类型入参 |
| torch.symeig | 暂不支持反向梯度, 暂不支持图模式 |
| torch.fmax | GPU和Ascend上暂不支持反向梯度, 暂不支持图模式 |
| torch.fft | 暂不支持反向梯度, 暂不支持图模式 |
| torch.norm | 1.当p为0/1/-1/-2时,矩阵范数不支持;2.不支持p为inf/-inf/0/1/-1/2/-2之外的int/float类型; 3.dim最多只支持指定两个维度;4.该接口使用mindspore.ops.norm实现,支持功能也可以参考链接 |
| torch.poisson | Ascend上暂不支持反向梯度,暂不支持图模式 |
| torch.xlogy | Ascend 上当前只支持float16 和float32输入 |
| torch.digamma | Ascend上仅支持float16和float32类型入参 |
| torch.lgamma | Ascend上仅支持float16和float32类型入参 |
| torch.logspace | 暂不支持float型base入参,GPU上暂不支持 |
| torch.sgn | Ascend暂上不支持int16类型入参 |
| torch.mm | GPU上暂不支持int类型输入 |
| torch.inner | Ascend上暂不支持int类型输入 |
| torch.isclose | Ascend上, 暂不支持equal_nan=False |
| torch.matrix_rank | 暂不支持图模式,暂不支持复数类型输入,Ascend上不支持反向梯度 |
| torch.inference_mode | 当前只支持相当于no_grad的功能 |
| torch.tensordot | GPU上暂不支持int类型输入 |
| torch.scatter_add | Ascend上仅支持 updates_shape = indices_shape + input_x_shape[1:]形式的入参 |
| torch.diff | 复数输入仅在输入参数n=1时支持 |
| torch.scatter | 不支持reduce='mutiply', Ascend不支持reduce='add', 不支持indices.shape != src.shape |
| torch.set_deterministic_debug_mode | 机制差异,debug_mode配置不生效 |
| torch.is_inference_mode_enabled | 1.只能判断反向是否使能,等同于is_grad_enable,暂不具备判断其他推理功能是否使能的功能;2.不支持图模式 |
| torch.unique | 暂不支持sorted=True和return_inverse=True场景 |
| torch.argsort | 暂不支持stable入参 |
| torch.gradient | 入参edge_order暂时只支持配置为1 |
| torch.normal | 暂不支持float64输入 |
| torch.index_copy | 1.不支持input超过二维; 2.不支持dim>=1; 3.不支持图模式 |
| torch.bernoulli | 暂不支持传入Generator |
| torch.set_num_threads | 1.暂不支持图模式; 2.该函数仅支持在程序执行操作之前调用; 3.此函数等效于setnum_interopthreads |
| torch.set_num_interop_threads | 1.暂不支持图模式; 2.该函数仅支持在程序执行操作之前调用; |
Tensor
| MindTorch接口 | 约束条件 |
|---|---|
| Tensor.bool | 不支持memory_format |
| Tensor.expand | 类型限制,只支持Tensor[Float16], Tensor[Float32], Tensor[Int32], Tensor[Int8], Tensor[UInt8] |
| Tensor.float | 不支持memory_format |
| Tensor.scatter | 不支持reduce='mutiply', Ascend不支持reduce='add', 不支持indices.shape != src.shape |
| Tensor.std | 不支持复数和float64输入 |
| Tensor.xlogy | Ascend 上当前只支持float16 和float32输入 |
| Tensor.abs_ | 暂不支持图模式 |
| Tensor.absolute_ | 暂不支持图模式 |
| Tensor.acos_ | 暂不支持图模式 |
| Tensor.arccos_ | 暂不支持图模式 |
| Tensor.addr_ | 暂不支持图模式 |
| Tensor.add_ | 暂不支持图模式 |
| Tensor.addbmm_ | 暂不支持图模式 |
| Tensor.addcdiv_ | 暂不支持图模式 |
| Tensor.addcmul_ | 暂不支持图模式 |
| Tensor.addmm_ | 暂不支持图模式 |
| Tensor.addmv_ | 暂不支持图模式 |
| Tensor.addr_ | 暂不支持图模式 |
| Tensor.asin_ | 暂不支持图模式 |
| Tensor.arcsin_ | 暂不支持图模式 |
| Tensor.atan_ | 暂不支持图模式 |
| Tensor.arctan_ | 暂不支持图模式 |
| Tensor.atan2_ | 暂不支持图模式 |
| Tensor.arctan2_ | 暂不支持图模式 |
| Tensor.baddbmm_ | 暂不支持图模式 |
| Tensor.bitwise_not_ | 暂不支持图模式 |
| Tensor.bitwise_and_ | 暂不支持图模式 |
| Tensor.bitwise_or_ | 暂不支持图模式 |
| Tensor.bitwise_xor_ | 暂不支持图模式 |
| Tensor.clamp_ | 暂不支持图模式 |
| Tensor.clip_ | 暂不支持图模式 |
| Tensor.copy_ | 暂不支持图模式 |
| Tensor.copysign_ | 暂不支持图模式 |
| Tensor.acosh_ | 暂不支持图模式 |
| Tensor.arccosh_ | 暂不支持图模式 |
| Tensor.cumprod_ | 暂不支持图模式 |
| Tensor.div_ | 暂不支持图模式 |
| Tensor.divide_ | 暂不支持图模式 |
| Tensor.eq_ | 暂不支持图模式 |
| Tensor.expm1_ | 暂不支持图模式 |
| Tensor.fix_ | 暂不支持图模式 |
| Tensor.fill_ | 暂不支持图模式 |
| Tensor.float_power_ | 暂不支持图模式 |
| Tensor.floor_ | 暂不支持图模式 |
| Tensor.fmod_ | 暂不支持图模式 |
| Tensor.ge_ | 暂不支持图模式 |
| Tensor.greater_equal_ | 暂不支持图模式 |
| Tensor.gt_ | 暂不支持图模式 |
| Tensor.greater_ | 暂不支持图模式 |
| Tensor.hypot_ | 暂不支持图模式 |
| Tensor.le_ | 暂不支持图模式 |
| Tensor.less_equal_ | 暂不支持图模式 |
| Tensor.lgamma_ | 暂不支持图模式 |
| Tensor.logical_xor_ | 暂不支持图模式 |
| Tensor.lt_ | 暂不支持图模式 |
| Tensor.less_ | 暂不支持图模式 |
| Tensor.lu | 暂不支持图模式,入参get_infos=True时暂不支持扫描错误信息, 暂不支持pivot=False,仅支持二维方阵输入,不支持(*, M, N)形式输入 |
| Tensor.lstsq | 暂时不支持返回第二个参数QR, 暂不支持图模式,反向梯度暂不支持 |
| Tensor.mul_ | 暂不支持图模式 |
| Tensor.multiply_ | 暂不支持图模式 |
| Tensor.mvlgamma_ | 暂不支持图模式 |
| Tensor.ne_ | 暂不支持图模式 |
| Tensor.not_equal_ | 暂不支持图模式 |
| Tensor.neg_ | 暂不支持图模式 |
| Tensor.negative_ | 暂不支持图模式 |
| Tensor.pow_ | 暂不支持图模式 |
| Tensor.reciprocal_ | 暂不支持图模式 |
| Tensor.renorm_ | 暂不支持图模式 |
| Tensor.resize_ | 暂不支持图模式 |
| Tensor.round_ | 暂不支持图模式 |
| Tensor.sigmoid_ | 暂不支持图模式 |
| Tensor.sign_ | 暂不支持图模式 |
| Tensor.sin_ | 暂不支持图模式 |
| Tensor.sinc_ | 暂不支持图模式 |
| Tensor.sinh_ | 暂不支持图模式 |
| Tensor.asinh_ | 暂不支持图模式 |
| Tensor.square_ | 暂不支持图模式 |
| Tensor.sqrt_ | 暂不支持图模式 |
| Tensor.squeeze_ | 暂不支持图模式 |
| Tensor.sub_ | 暂不支持图模式 |
| Tensor.tan_ | 暂不支持图模式 |
| Tensor.tanh_ | 暂不支持图模式 |
| Tensor.atanh_ | 暂不支持图模式 |
| Tensor.arctanh_ | 暂不支持图模式 |
| Tensor.transpose_ | 暂不支持图模式 |
| Tensor.trunc_ | 暂不支持图模式 |
| Tensor.unsqueeze_ | 暂不支持图模式 |
| Tensor.zero_ | 暂不支持图模式 |
| Tensor.svd | Ascend上暂不支持图模式,Ascend上反向梯度暂不支持 |
| Tensor.nextafter | CPU上暂不支持float32输入 |
| Tensor.matrix_power | GPU上暂不支持参数n小于0 |
| Tensor.i0 | Ascend上暂不支持反向梯度, 暂不支持图模式 |
| Tensor.index_add | 暂不支持二维以上的input或dim为1 |
| Tensor.nextafter_ | CPU上暂不支持float32输入 |
| Tensor.fmin | 暂不支持反向梯度, 暂不支持图模式 |
| Tensor.imag | 暂不支持图模式 |
| Tensor.scatter_reduce | 暂不支持reduce="mean", Ascend上暂不支持reduction='prod'同时dim>0 |
| Tensor.scatter_reduce_ | 暂不支持reduce="mean"和图模式, Ascend上暂不支持reduction='prod'同时dim>0 |
| Tensor.neg | 暂不支持uint32, uint64输入 |
| Tensor.polygamma | 当入参n为0时,结果可能不正确 |
| Tensor.geqrf | 暂不支持大于2维的输入 |
| Tensor.repeat_interleave | 暂不支持output_size入参 |
| Tensor.index_reduce | 暂不支持reduce="mean" |
| Tensor.index_reduce_ | 暂不支持reduce="mean"和图模式 |
| Tensor.masked_scatter | 暂不支持input广播到mask和GPU后端 |
| Tensor.index_put | Ascend上暂不支持accumulate=False |
| Tensor.index_put_ | Ascend上暂不支持accumulate=False,暂不支持图模式 |
| Tensor.corrcoef | 暂不支持复数类型入参 |
| Tensor.exponential_ | 暂不支持反向梯度, 暂不支持图模式 |
| Tensor.geometric_ | 暂不支持反向梯度, 暂不支持图模式 |
| Tensor.log_normal_ | 暂不支持反向梯度, 暂不支持图模式 |
| Tensor.symeig | 暂不支持反向梯度, 暂不支持图模式 |
| Tensor.fmax | GPU和Ascend上暂不支持反向梯度, 暂不支持图模式 |
| Tensor.norm | 1.当p为0/1/-1/-2时,矩阵范数不支持;2.不支持p为inf/-inf/0/1/-1/2/-2之外的int/float类型; 3.dim最多只支持指定两个维度;4.该接口使用mindspore.ops.norm实现,支持功能也可以参考链接。 |
| Tensor.digamma | Ascend上仅支持float16和float32类型入参 |
| Tensor.lgamma | Ascend上仅支持float16和float32类型入参 |
| Tensor.arcsinh_ | 暂不支持图模式 |
| Tensor.long | 不支持memory_format |
| Tensor.half | 不支持memory_format |
| Tensor.int | 不支持memory_format |
| Tensor.double | 不支持memory_format |
| Tensor.char | 不支持memory_format |
| Tensor.byte | 不支持memory_format |
| Tensor.short | 不支持memory_format |
| Tensor.new_full | 1.暂不支持device; 2.requires_grad仅当环境变量ENABLE_BACKWARD=1时生效,且不支持图模式; 3.暂不支持layout; 4.暂不支持pin_memory; |
| Tensor.new_zeros | 1.暂不支持device; 2.requires_grad仅当环境变量ENABLE_BACKWARD=1时生效,且不支持图模式; |
| Tensor.sgn | Ascend暂上不支持int16类型入参 |
| Tensor.mm | GPU上暂不支持int类型输入 |
| Tensor.inner | Ascend上暂不支持int类型输入 |
| Tensor.scatter_add | Ascend上仅支持 updates_shape = indices_shape + input_x_shape[1:]形式的入参 |
| Tensor.scatter_add_ | Ascend上仅支持 updates_shape = indices_shape + input_x_shape[1:]形式的入参,暂不支持图模式 |
| Tensor.diff | 复数输入仅在输入参数n=1时支持 |
| Tensor.data_ptr | 1.机制差异,返回numpy数据的指针,不支持原地修改指针指向的数据;2.暂不支持图模式 |
| Tensor.device | 机制差异,不支持对将单个张量指定执行硬件,无实际效果; |
| Tensor.isclose | Ascend上, 暂不支持equal_nan=False |
| Tensor.unique | 暂不支持sorted=True和return_inverse=True场景 |
| Tensor.to | 仅支持修改类型的功能,其他入参不生效 |
| Tensor.cuda | 机制差异,不改变张量存储内存位置 |
| Tensor.bernoulli | 暂不支持传入Generator |
| Tensor.bernoulli_ | 1.暂不支持传入Generator;2.暂不支持图模式 |
| Tensor.set_ | 1.暂不支持图模式; 2.暂不支持指定storage_offset, size 和 stride; |
Torch.nn
| MindTorch接口 | 约束条件 |
|---|---|
| nn.LPPool1d | Ascend上不支持float64 |
| nn.LPPool2d | Ascend上不支持float64 |
| nn.ELU | Alpha仅支持1.0 |
| nn.Hardshrink | 不支持float64 |
| nn.Hardtanh | 不支持float64 |
| nn.Hardswish | 不支持float64 |
| nn.LeakyReLU | 不支持float64 |
| nn.PReLU | 不支持float64 |
| nn.ReLU6 | 不支持float64 |
| nn.RReLU | inplace不支持图模式 |
| nn.SELU | inplace不支持图模式 |
| nn.CELU | inplace不支持图模式 |
| nn.Mish | 1.inplace不支持图模式;2.不支持float64 |
| nn.Threshold | inplace不支持图模式 |
| nn.Softshrink | 不支持float64 |
| nn.LogSoftmax | 不支持float64,不支持8维及以上 |
| nn.Linear | device, dtype参数不支持 |
| nn.UpsamplingNearest2d | 不支持size为none |
| nn.Conv1d | Ascend上,groups只支持1或者与in_channels相等 |
| nn.Conv2d | Ascend上,groups只支持1或者与in_channels相等 |
| nn.Conv3d | 1.不支持复数;2.padding_mode不支持reflect模式;3.Ascend上groups, dialtion参数只支持为1 |
| nn.ConvTranspose1d | 1.output_padding,output_size不支持; 2.Ascend上groups只支持1或者与in_channels相等 |
| nn.ConvTranspose2d | 1.output_padding,output_size不支持; 2.Ascend上groups只支持1或者与in_channels相等 |
| nn.AdaptiveLogSoftmaxWithLoss | 不支持图模式 |
| nn.LSTM | 在图模式下,input不支持PackedSequence类型 |
| nn.ReflectionPad3d | padding参数不支持负数取值 |
| nn.Transformer | 不支持空tensor输入 |
| nn.TransformerEncoder | 不支持空tensor输入 |
| nn.TransformerDecoder | 不支持空tensor输入 |
| nn.TransformerEncoderLayer | 不支持空tensor输入 |
| nn.TransformerDecoderLayer | 不支持空tensor输入 |
| nn.AdaptiveMaxPool1d | Ascend上不支持return_indices |
| nn.AdaptiveMaxPool2d | Ascend上不支持return_indices |
| nn.Embedding | 1.scale_grad_by_freq, sparse不支持; 2.norm_type只能为2 |
| nn.Upsample | 不支持recompute_scale_factor |
| nn.RNN | 在图模式下,input不支持PackedSequence类型 |
| nn.GRU | 在图模式下,input不支持PackedSequence类型 |
| nn.CrossEntropyLoss | target类型为int64时,有溢出风险 |
| nn.parallel.DistributedDataParallel | 不支持device_ids, output_device, dim, find_unused_parameters, check_reduction, gradient_as_bucket_view, static_graph |
| nn.MultiheadAttention | 图模式下暂不支持入参使用键值对赋值 |
| nn.ModuleList | 图模式下只支持list相关操作,暂不支持module相关的功能 |
| nn.Module | nn.Module及其子类声明方法及属性时不能使用以下名字。原因是nn.Module是继承mindspore.nn.Cell实现的, 所以也继承了它的成员变量, 存在重复名字时会导致方法及变量无法正常调用。 |
| nn.utils.clip_grad_norm_ | 1.norm_type只支持2.0,error_if_nonfinite和foreach不支持;2.由于微分机制不同,入参需要额外传入梯度grads。 |
| nn.utils.clip_grad_value_ | 1.foreach不支持;2.由于微分机制不同,入参需要额外传入梯度grads。 |
| nn.utils.parametrizations.orthogonal | 1.不支持图模式;2.不支持CPU/GPU后端;3.当orthogonal_map为cayley或householder时不支持反向。 |
| nn.Module.register_backward_hook | 1.不支持求高阶导;2.hook内不能对Module进行修改。 |
| nn.Module.register_full_backward_hook | 1.不支持求高阶导;2.hook内不能对Module进行修改。 |
| nn.modules.module.register_module_backward_hook | 1.不支持求高阶导;2.hook内不能对Module进行修改。 |
| nn.modules.module.register_module_full_backward_hook | 1.不支持求高阶导;2.hook内不能对Module进行修改。 |
| nn.Module.share_memory | 机制差异,不改变张量存储内存位置 |
| nn.Module.to | 仅支持修改类型的功能,其他入参不生效 |
nn.functional
| MindTorch接口 | 约束条件 |
|---|---|
| functional.lp_pool1d | Ascend上不支持float64 |
| functional.lp_pool2d | Ascend上不支持float64 |
| functional.prelu | 不支持float64 |
| functional.rrelu | 1.inplace不支持图模式; 2.training入参不支持 |
| functional.softshrink | 不支持float64 |
| functional.log_softmax | 不支持float64 |
| functional.dropout1d | inplace不支持图模式 |
| functional.dropout2d | inplace不支持图模式 |
| functional.dropout3d | inplace不支持图模式 |
| functional.conv3d | Ascend上groups, dialtion参数只支持1 |
| functional.upsample_bilinear | 输入张量必须是4维 |
| functional.interpolate | recompute_scale_factor 及 antialias 入参不支持。bicubic模式仅支持align_corners=True, GPU上暂不支持nearest-exact模式,各模式参数和维度限制参考mindspore.ops.interpolate |
| functional.conv1d | Ascend上,groups只支持1或者与input的通道数相等 |
| functional.conv2d | Ascend上,groups只支持1或者与input的通道数相等 |
| functional.conv_transpose1d | 1.output_padding暂不支持; 2.Ascend上groups只支持1或者与input的通道数相等 |
| functional.conv_transpose2d | 1.output_padding暂不支持; 2.Ascend上groups只支持1或者与input的通道数相等 |
| functional.adaptive_max_pool1d | Ascend上不支持return_indices |
| functional.adaptive_max_pool2d | Ascend上不支持return_indices |
| functional.instance_norm | 图模式下,训练模式时, 暂不支持running_mean和running_var |
| functional.batch_norm | 图模式下,训练模式时, 暂不支持running_mean及running_var |
| functional.embedding | 1.scale_grad_by_freq, sparse不支持; 2.norm_type只能为2 |
| functional.mish | 1.inplace不支持图模式;2.不支持float64 |
| functional.selu | inplace不支持图模式 |
| functional.celu | 1.inplace不支持图模式;2.不支持float64 |
| functional.grid_sample | 不支持mode='bicubic' |
| functional.cross_entropy | target类型为int64时,有溢出风险 |
| functional.pad | 当padding_mode为'reflect'时,不支持填充最后三维 |
| functional.upsample | mode仅支持linear、bilinear、nearest |
| functional.ctc_loss | 入參input_lengths 和 target_lengths 不支持tuple类型 |
torch.linalg
| MindTorch接口 | 约束条件 |
|---|---|
| lu | 暂不支持图模式,暂不支持入参pivot=False, 仅支持二维方阵输入,不支持(*, M, N)形式输入 |
| lu_solve | 暂不支持图模式,入参left=False不支持,入参LU不支持三维输入 |
| lu_factor | 暂不支持图模式,仅支持二维方阵输入,不支持(*, M, N)形式输入 |
| lu_factor_ex | 暂不支持图模式,入参get_infos=True时暂不支持扫描错误信息, 暂不支持pivot=False,仅支持二维方阵输入,不支持(*, M, N)形式输入 |
| lstsq | 暂不支持图模式,反向梯度暂不支持 |
| eigvals | 暂不支持图模式,反向梯度暂不支持 |
| svd | driver参数只支持None, Ascend上不支持反向梯度, Ascend上暂不支持图模式 |
| svdvals | driver参数只支持None,Ascend上不支持反向梯度, Ascend上暂不支持图模式 |
| norm | 暂不支持复数输入, ord参数暂不支持浮点型输入, Ascend上暂不支持ord为nuc模式、float(inf)模式和整形数输入 |
| vector_norm | 暂不支持复数输入, ord参数暂不支持浮点型输入 |
| matrix_power | GPU上暂不支持参数n小于0 |
| eigvalsh | 暂不支持图模式,反向梯度暂不支持 |
| eigh | 暂不支持图模式,反向梯度暂不支持 |
| solve | 暂不支持图模式,反向梯度暂不支持 |
| cholesky | GPU上暂不支持int类型输入 |
| cholesky_ex | 入参check_errors=True时暂不支持扫描错误信息,GPU上暂不支持int类型输入 |
| inv_ex | 入参check_errors=True时暂不支持扫描错误信息 |
| matrix_norm | Ascend上暂不支持ord为nuc模式和+2/-2模式,暂不支持复数输入 |
| matrix_rank | 暂不支持图模式,暂不支持复数类型输入,Ascend上不支持反向梯度 |
| solve_triangular | Ascend上暂不支持, 暂不支持left=False |
| cond | 仅支持二维方阵输入,Ascend上暂不支持complex输入,float32类型输入仅支持p=1/-1/'fro'/'inf'/'-inf',float64类型输入仅支持p='fro';GPU和CPU上complex128类型输入仅支持p=2/-2, complex64类型输入仅支持p='fro'/'nuc' |
| diagonal | 当 offset != 0 时不支持float64 |
torch.utils.data
| MindTorch接口 | 约束条件 |
|---|---|
| DataLoader | pin_memory仅支持False,worker_init_fn不支持自定义初始化,不支持generator来控制随机状态,不支持指定pin_memory_device |
| random_split | 暂不支持传入Generator |
| RandomSampler | 暂不支持传入Generator |
| SubsetRandomSampler | 暂不支持传入Generator |
| WeightedRandomSampler | 暂不支持传入Generator |
torch.distributed
| MindTorch接口 | 约束条件 |
|---|---|
| torch.distributed.init_process_group | 不支持timeout, rank, store, group_name, pg_options。init_method仅支持“env://”或者None |
| torch.distributed.new_group | 不支持timeout, pg_options,backend仅支持“nccl”或“hccl” |
| torch.distributed.get_global_rank | 如果当前进程不属于输入的通信组,不支持获取rank信息,返回None |
| torch.distributed.get_process_group_ranks | 如果当前进程不属于输入的通信组,不支持获取rank信息,返回空的列表 |
torch.cuda
| MindTorch接口 | 约束条件 |
|---|---|
| torch.cuda.amp.GradScaler | 1.unscale方法需要传入对应的梯度: unscale_(optimizer, grads); 2.step方法需要传入对应的梯度: step(optimizer, grads); 3.unscale_ 方法不支持图模式 |
| torch.cuda.current_stream | 1.不支持图模式;2.不支持device |
| torch.cuda.default_stream | 1.不支持图模式;2.不支持device |
| torch.cuda.synchronize | 1.不支持图模式;2.不支持device |
| torch.cuda.Event | 1.不支持图模式;2.不支持interprocess; 3.成员from_ipc_handle,ipc_handle不支持 |
| torch.cuda.Stream | 1.不支持图模式;2.不支持device; 3.在Ascend 910B,priority只支持0 |
torch.autograd
| MindTorch接口 | 约束条件 |
|---|---|
| torch.autograd.functional.vjp | create_graph, strict不支持 |
| torch.autograd.functional.jvp | create_graph, strict不支持 |
| torch.autograd.functional.jacobian | create_graph, strict不支持 |
torch.fft
| MindTorch接口 | 约束条件 |
|---|---|
| torch.fft.rfft | 暂不支持反向梯度, 暂不支持图模式 |
torch.__version__
| MindTorch接口 | 约束条件 |
|---|---|
| torch.__version__ | 图模式下,需要在图外(ms.jit作用域之外或者nn.module.forward之外)使用。 |