legacy_ops.yaml 30.5 KB
Newer Older
1
# The apis in this file are unstandardized that may caused by a variety of reasons,
C
Chen Weihang 已提交
2
# we are trying to fix these apis and will move standardized apis into ops.yaml.
3

4
- op : adadelta_
5
  args : (Tensor param, Tensor grad, Tensor avg_squared_grad, Tensor avg_squared_update, Tensor learning_rate, Tensor master_param, float rho, float epsilon, bool multi_precision)
6
  output : Tensor(param_out), Tensor(moment_out), Tensor(inf_norm_out), Tensor(master_param_out)
Z
zyfncg 已提交
7 8 9 10
  infer_meta :
    func : AdadeltaInferMeta
  kernel :
    func : adadelta
11
    data_type : param
H
hong 已提交
12
  optional : master_param, master_param_out
13
  inplace : (param -> param_out), (avg_squared_grad -> moment_out), (avg_squared_update -> inf_norm_out), (master_param -> master_param_out)
Z
zyfncg 已提交
14

15
- op : add
Z
zyfncg 已提交
16
  args : (Tensor x, Tensor y)
17
  output : Tensor(out)
Z
zyfncg 已提交
18 19 20 21
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : add
22
  inplace : (x -> out)
Z
zyfncg 已提交
23 24
  backward : add_grad

25
- op : add_n
26
  args : (Tensor[] inputs)
Z
zyfncg 已提交
27
  output : Tensor
28
  invoke : add_n_impl(inputs)
Z
zyfncg 已提交
29 30
  backward : add_n_grad

31
- op : all
32
  args : (Tensor x, int64_t[] axis={}, bool keepdim=false)
Z
zyfncg 已提交
33 34 35 36 37 38
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMeta
  kernel :
    func : all

39
- op : amax
40
  args : (Tensor x, int64_t[] axis={}, bool keepdim=false)
41 42 43 44 45 46 47
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMeta
  kernel :
    func : amax
  backward : amax_grad

48
- op : amin
49
  args : (Tensor x, int64_t[] axis={}, bool keepdim=false)
50 51 52 53 54 55 56
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMeta
  kernel :
    func : amin
  backward : amin_grad

57
- op : any
58
  args : (Tensor x, int64_t[] axis={}, bool keepdim=false)
Z
zyfncg 已提交
59 60 61 62 63 64
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMeta
  kernel :
    func : any

65
- op : arange
Z
zyfncg 已提交
66
  args : (Tensor start, Tensor end, Tensor step, DataType dtype, Place place={})
67
  output : Tensor(out)
Z
zyfncg 已提交
68 69 70 71 72 73 74 75 76 77 78
  infer_meta :
    func : ArangeInferMeta
    param : [start, end, step]
  kernel :
    func : arange
    param : [start, end, step]
    data_type : dtype
    backend : place
  data_transform :
    support_trans_dtype : start, end, step

79
- op : assign
Z
zyfncg 已提交
80 81 82 83 84 85 86
  args : (Tensor x)
  output : Tensor
  infer_meta :
    func : UnchangedInferMeta
  kernel :
    func : assign
  backward : assign_grad
87
  inplace : (x -> out)
Z
zyfncg 已提交
88

89
- op : assign_out_
Z
zyfncg 已提交
90 91 92 93 94 95 96 97 98 99 100
  args : (Tensor x, Tensor output)
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : assign
    param : [x]
  inplace : (output -> out)
  backward : assign_out__grad

101
- op : assign_value_
102 103 104 105 106 107 108 109 110 111
  args : (Tensor output, int[] shape, DataType dtype, Scalar[] values, Place place = {})
  output : Tensor(out)
  inplace: (output -> out)
  infer_meta :
    func : AssignValueInferMeta
    param : [shape, dtype]
  kernel :
    func : assign_value
    param : [shape, dtype, values]
    data_type : dtype
112
    backend : place > output
113

114
- op : batch_norm
115
  args : (Tensor x, Tensor mean, Tensor variance, Tensor scale, Tensor bias, bool is_test, float momentum, float epsilon, str data_layout, bool use_global_stats, bool trainable_statistics)
Z
zyfncg 已提交
116
  output : Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
117 118 119 120 121 122
  infer_meta:
    func : BatchNormInferMeta
  kernel :
    func : batch_norm
    data_type : x
  view : (mean -> mean_out), (variance -> variance_out)
Z
zyfncg 已提交
123
  backward : batch_norm_grad
124
  optional : reserve_space
Z
zyfncg 已提交
125

126 127 128 129 130 131 132 133 134 135
- op : c_allreduce_sum
  args : (Tensor x, int ring_id, bool use_calc_stream, bool use_model_parallel)
  output : Tensor(out)
  infer_meta :
    func : AllReduceInferMeta
    param : [x]
  kernel :
    func : c_allreduce_sum
  inplace : (x -> out)

L
Leo Chen 已提交
136 137 138 139 140 141 142 143 144 145
- op : c_broadcast
  args : (Tensor x, int ring_id=0, int root=0, bool use_calc_stream=false)
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : c_broadcast
  inplace : (x -> out)

H
hong 已提交
146 147 148 149 150 151 152 153 154
- op : c_concat
  args : (Tensor x, int rank, int nranks, int ring_id, bool use_calc_stream, bool use_model_parallel)
  output : Tensor(out)
  infer_meta :
    func : CConcatInferMeta
    param : [x, nranks]
  kernel :
    func : c_concat

155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
- op : c_embedding
  args : (Tensor weight, Tensor x, int64_t start_index=0)
  output : Tensor(out)
  infer_meta :
    func : CEmbeddingInferMeta
    param : [weight, x, start_index]
  kernel :
    func : c_embedding
    param : [weight, x, start_index]
    data_type : weight
  backward : c_embedding_grad

- op : c_identity
  args : (Tensor x, int ring_id, bool use_calc_stream, bool use_model_parallel)
  output : Tensor(out)
  infer_meta :
    func : CIdentityInferMeta
  kernel :
    func : c_identity
  inplace : (x -> out)

176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
- op : c_sync_calc_stream
  args : (Tensor x)
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : c_sync_calc_stream
  inplace : (x -> out)

- op : c_sync_comm_stream
  args : (Tensor x)
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : c_sync_comm_stream
  inplace : (x -> out)

196
- op : cast
197
  args : (Tensor x, DataType dtype)
198
  output : Tensor(out)
Z
zyfncg 已提交
199 200 201 202
  infer_meta :
    func : CastInferMeta
  kernel :
    func : cast
203
    param : [x, dtype]
Z
zyfncg 已提交
204
    data_type : x
205
  inplace: (x -> out)
Z
zyfncg 已提交
206 207
  backward : cast_grad

208 209 210 211 212 213 214 215 216
- op : channel_shuffle
  args : (Tensor x, int groups, str data_format="NCHW")
  output : Tensor(out)
  infer_meta :
    func : ChannelShuffleInferMeta
  kernel :
    func : channel_shuffle
  backward : channel_shuffle_grad

217
- op : conv2d_transpose
218
  args : (Tensor x, Tensor filter, int[] strides={1, 1}, int[] paddings={0, 0}, int[] output_padding={}, IntArray output_size={}, str padding_algorithm="EXPLICIT", int groups=1, int[] dilations={1, 1}, str data_format="NCHW")
Z
zyfncg 已提交
219 220
  output : Tensor(out)
  infer_meta :
221
    func : Conv2dTransposeInferMeta
Z
zyfncg 已提交
222 223
  kernel :
    func : conv2d_transpose
224
    data_type : x
Z
zyfncg 已提交
225 226
  backward : conv2d_transpose_grad

227
- op : copy_to
Z
zyfncg 已提交
228
  args : (Tensor x, Place place, bool blocking)
229
  output : Tensor(out)
Z
zyfncg 已提交
230 231
  invoke : copy_to_impl(x, place, blocking)

232
- op : decode_jpeg
Y
YuanRisheng 已提交
233
  args : (Tensor x, str mode, Place place)
W
wuyefeilin 已提交
234 235 236
  output : Tensor(out)
  infer_meta :
    func : DecodeJpegInferMeta
Y
YuanRisheng 已提交
237
    param : [x, mode]
W
wuyefeilin 已提交
238 239
  kernel :
    func : decode_jpeg
Y
YuanRisheng 已提交
240 241
    param : [x, mode]
    backend : place
W
wuyefeilin 已提交
242

243
- op : deformable_conv
Z
zyfncg 已提交
244 245 246 247 248 249 250 251 252 253
  args : (Tensor x, Tensor offset, Tensor filter, Tensor mask, int[] strides, int[] paddings, int[] dilations, int deformable_groups, int groups, int im2col_step)
  output : Tensor(out)
  infer_meta :
    func : DeformableConvInferMeta
  kernel :
    func : deformable_conv
    data_type : x
  optional : mask
  backward : deformable_conv_grad

254
- op : depthwise_conv2d_transpose
255
  args : (Tensor x, Tensor filter, int[] strides={1, 1}, int[] paddings={0, 0}, int[] output_padding={}, IntArray output_size={}, str padding_algorithm="EXPLICIT", int groups=1, int[] dilations={1, 1}, str data_format="NCHW")
Z
zyfncg 已提交
256 257
  output : Tensor(out)
  infer_meta :
258
    func : Conv2dTransposeInferMeta
Z
zyfncg 已提交
259 260
  kernel :
    func : depthwise_conv2d_transpose
261
    data_type : x
Z
zyfncg 已提交
262 263
  backward : depthwise_conv2d_transpose_grad

264 265 266 267 268 269 270 271 272 273 274
- op : disable_check_model_nan_inf
  args: (Tensor x, int flag = 0)
  output: Tensor(out)
  infer_meta:
    func: UnchangedInferMeta
    param : [x]
  kernel:
    func: check_model_nan_inf
    data_type: x
  backward: disable_check_model_nan_inf_grad

275
- op : distribute_fpn_proposals
276 277 278 279 280 281 282 283 284
  args : (Tensor fpn_rois, Tensor rois_num, int min_level, int max_level, int refer_level, int refer_scale, bool pixel_offset)
  output : Tensor[](multi_fpn_rois){max_level - min_level + 1}, Tensor[](multi_level_rois_num){max_level - min_level + 1}, Tensor(restore_index)
  infer_meta :
    func : DistributeFpnProposalsInferMeta
  kernel :
    func : distribute_fpn_proposals
    data_type : fpn_rois
  optional : rois_num

285
- op : divide
Z
zyfncg 已提交
286
  args : (Tensor x, Tensor y)
287
  output : Tensor(out)
Z
zyfncg 已提交
288 289 290 291
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : divide
292
  inplace: (x -> out)
Z
zyfncg 已提交
293 294
  backward : divide_grad

295
- op : dropout
296
  args : (Tensor x, Tensor seed_tensor, Scalar p, bool is_test, str mode, int seed, bool fix_seed)
Z
zyfncg 已提交
297 298 299 300 301 302 303 304 305
  output : Tensor(out), Tensor(mask)
  infer_meta :
    func : DropoutInferMeta
  kernel :
    func : dropout
    data_type : x
  optional : seed_tensor
  backward : dropout_grad

306
- op : einsum
Z
zyfncg 已提交
307
  args : (Tensor[] x, str equation)
308
  output : Tensor(out), Tensor[](inner_cache){x.size()}, Tensor[](xshape){x.size()}
Z
zyfncg 已提交
309
  infer_meta :
310
    func : EinsumRawInferMeta
Z
zyfncg 已提交
311 312
    param : [x, equation]
  kernel :
313
    func : einsum
Z
zyfncg 已提交
314 315
  backward : einsum_grad

316
- op : elementwise_pow
Z
zyfncg 已提交
317 318 319 320 321 322 323 324
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : elementwise_pow
  backward : elementwise_pow_grad

325
- op : embedding
Z
zyfncg 已提交
326 327
  args : (Tensor x, Tensor weight, int64_t padding_idx=-1, bool sparse=false)
  output : Tensor
328 329 330 331 332 333 334 335
  infer_meta :
    func : EmbeddingInferMeta
    param : [x, weight, padding_idx]
  kernel :
    func : embedding {dense, dense -> dense}
           sparse_weight_embedding {dense, selected_rows -> dense}
    param : [x, weight, padding_idx]
    data_type : weight
Z
zyfncg 已提交
336 337
  backward : embedding_grad

H
hong 已提交
338 339 340 341 342 343 344 345 346 347
- op : embedding_grad_dense
  args : (Tensor x, Tensor weight, Tensor out_grad, int64_t padding_idx=-1, bool sparse=false)
  output : Tensor(weight_grad)
  infer_meta :
    func : UnchangedInferMeta
    param : [weight]
  kernel :
    func : embedding_grad
    data_type : weight

348
- op : empty
Z
zyfncg 已提交
349
  args : (IntArray shape, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
350
  output: Tensor(out)
Z
zyfncg 已提交
351 352 353 354 355 356 357 358 359
  infer_meta :
    func : CreateInferMeta
    param : [shape, dtype]
  kernel :
    func : empty
    param : [shape, dtype]
    data_type : dtype
    backend : place

360
- op : empty_like
Z
zyfncg 已提交
361
  args : (Tensor x, DataType dtype = DataType::UNDEFINED, Place place = {})
362
  output: Tensor(out)
Z
zyfncg 已提交
363 364 365 366 367 368 369 370 371
  infer_meta :
    func : CreateLikeInferMeta
    param : [x, dtype]
  kernel :
    func : empty_like
    param : [x, dtype]
    data_type : dtype > x
    backend : place > x

372 373 374 375 376 377 378 379 380 381 382
- op : enable_check_model_nan_inf
  args: (Tensor x, int flag = 1)
  output: Tensor(out)
  infer_meta:
    func: UnchangedInferMeta
    param : [x]
  kernel:
    func: check_model_nan_inf
    data_type: x
  backward: enable_check_model_nan_inf_grad

383
- op : equal
384
  args : (Tensor x, Tensor y)
385
  output : Tensor(out)
Z
zyfncg 已提交
386 387 388 389
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : equal
390
  inplace: (x -> out)
Z
zyfncg 已提交
391

392
- op : exponential_
393
  args : (Tensor x, float lam)
394 395 396 397 398 399 400 401 402
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : exponential
  inplace : (x -> out)
  backward : exponential__grad

403
- op : eye
404
  args : (Scalar num_rows, Scalar num_columns, DataType dtype=DataType::FLOAT32, Place place={})
Z
zyfncg 已提交
405 406 407 408 409 410 411 412 413 414
  output : Tensor(out)
  infer_meta :
    func : EyeInferMeta
    param : [num_rows, num_columns, dtype]
  kernel :
    func : eye
    param : [num_rows, num_columns, dtype]
    data_type : dtype
    backend : place

415
- op : floor_divide
Z
zyfncg 已提交
416 417 418 419 420 421
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : floor_divide
422
  inplace: (x -> out)
Z
zyfncg 已提交
423

424
- op : frobenius_norm
Z
zyfncg 已提交
425 426 427 428 429 430 431 432
  args : (Tensor x, int64_t[] axis,  bool keep_dim,  bool reduce_all)
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMetaBase
  kernel :
    func : frobenius_norm
  backward : frobenius_norm_grad

433
- op : full
Z
zyfncg 已提交
434
  args : (IntArray shape, Scalar value, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
435
  output: Tensor(out)
Z
zyfncg 已提交
436 437 438 439 440 441 442 443 444
  infer_meta :
    func : CreateInferMeta
    param : [shape, dtype]
  kernel :
    func : full
    param : [shape, value, dtype]
    data_type : dtype
    backend : place

445
- op : full_
446 447 448 449 450 451 452 453 454 455 456 457
  args : (Tensor output, IntArray shape, Scalar value, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
  output : Tensor(out)
  inplace : (output -> out)
  infer_meta :
    func : CreateInferMeta
    param : [shape, dtype]
  kernel :
    func : full
    param : [shape, value, dtype]
    data_type : dtype
    backend : place

458
- op : full_batch_size_like
Z
zyfncg 已提交
459
  args : (Tensor input, int[] shape, DataType dtype, Scalar value, int input_dim_idx, int output_dim_idx, Place place=CPUPlace())
460
  output: Tensor(out)
Z
zyfncg 已提交
461 462 463 464 465 466 467 468 469
  infer_meta :
    func : FullBatchSizeLikeInferMeta
    param : [input, shape, value, dtype, input_dim_idx, output_dim_idx]
  kernel :
    func : full_batch_size_like
    param : [input, shape, value, dtype, input_dim_idx, output_dim_idx]
    data_type : dtype
    backend : place

470
- op : full_like
Z
zyfncg 已提交
471
  args : (Tensor x, Scalar value, DataType dtype = DataType::UNDEFINED, Place place = {})
472
  output: Tensor(out)
Z
zyfncg 已提交
473 474 475 476 477 478 479 480 481 482 483
  infer_meta :
    func : CreateLikeInferMeta
    param : [x, dtype]
  kernel :
    func : full_like
    param : [x, value, dtype]
    data_type : dtype > x
    backend : place > x
  data_transform :
    skip_transform : x

W
wanghuancoder 已提交
484 485 486 487 488 489 490 491 492 493
- op : full_with_tensor
  args : (Tensor shape, Tensor value, DataType dtype=DataType::FLOAT32)
  output: Tensor(out)
  infer_meta :
    func : FullWithTensorInferMeta
    param : [shape, dtype]
  kernel :
    func : full_with_tensor
    data_type : dtype

494 495 496 497 498 499 500 501 502 503 504
- op : fused_adam_
  args : (Tensor[] params, Tensor[] grads, Tensor learning_rate, Tensor[] moments1, Tensor[] moments2, Tensor[] beta1_pows, Tensor[] beta2_pows, Tensor[] master_params, Tensor skip_update, Scalar beta1, Scalar beta2, Scalar epsilon, int chunk_size, float weight_decay, bool use_adamw, bool multi_precision, bool use_global_beta_pow)
  output : Tensor[](params_out){params.size()}, Tensor[](moments1_out){params.size()}, Tensor[](moments2_out){params.size()}, Tensor[](beta1_pows_out){params.size()}, Tensor[](beta2_pows_out){params.size()}, Tensor[](master_params_out){params.size()}
  infer_meta :
    func : FusedAdamInferMeta
  kernel :
    func : fused_adam
    data_type : params
  optional : skip_update, master_params
  inplace : (params -> params_out), (moments1 -> moments1_out), (moments2 -> moments2_out), (beta1_pows -> beta1_pows_out), (beta2_pows -> beta2_pows_out), (master_params -> master_params_out)

H
hong 已提交
505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528
- op : fused_batch_norm_act
  args : (Tensor x, Tensor scale, Tensor bias, Tensor mean, Tensor variance, float momentum, float epsilon, str act_type)
  output : Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
  infer_meta:
    func : FusedBatchNormActInferMeta
    param : [x, scale, bias, mean, variance]
  kernel :
    func : fused_batch_norm_act
    data_type : x
  view : (mean -> mean_out), (variance -> variance_out)
  backward : fused_batch_norm_act_grad

- op : fused_bn_add_activation
  args : (Tensor x, Tensor z, Tensor scale, Tensor bias, Tensor mean, Tensor variance, float momentum, float epsilon, str act_type)
  output : Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
  infer_meta:
    func : FusedBatchNormActInferMeta
    param : [x, scale, bias, mean, variance]
  kernel :
    func : fused_bn_add_activation
    data_type : x
  view : (mean -> mean_out), (variance -> variance_out)
  backward : fused_bn_add_activation_grad

H
hong 已提交
529 530 531 532 533 534 535 536 537
- op : fused_softmax_mask_upper_triangle
  args : (Tensor X)
  output : Tensor(Out)
  infer_meta :
    func : UnchangedInferMeta
  kernel:
    func : fused_softmax_mask_upper_triangle
  backward: fused_softmax_mask_upper_triangle_grad

538
- op : gaussian
Z
zyfncg 已提交
539
  args : (IntArray shape, float mean, float std, int seed, DataType dtype, Place place={})
540
  output: Tensor(out)
Z
zyfncg 已提交
541
  infer_meta :
542
    func : GaussianInferMeta
Z
zyfncg 已提交
543 544
    param : [shape, mean, std, seed, dtype]
  kernel :
545
    func : gaussian
Z
zyfncg 已提交
546 547 548 549
    param : [shape, mean, std, seed, dtype]
    data_type : dtype
    backend : place

550
- op : greater_equal
551
  args : (Tensor x, Tensor y)
552
  output : Tensor(out)
Z
zyfncg 已提交
553 554 555 556
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : greater_equal
557
  inplace: (x -> out)
Z
zyfncg 已提交
558

559
- op : greater_than
560
  args : (Tensor x, Tensor y)
561
  output : Tensor(out)
Z
zyfncg 已提交
562 563 564 565
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : greater_than
566
  inplace: (x -> out)
Z
zyfncg 已提交
567

568
- op : hardswish
569
  args : (Tensor x)
C
cyber-pioneer 已提交
570
  output : Tensor(out)
Z
zyfncg 已提交
571 572 573 574
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
Z
zyfncg 已提交
575
    func : hardswish
576
  backward : hardswish_grad
Z
zyfncg 已提交
577

578
- op : hsigmoid_loss
Z
zhangyuqin1998 已提交
579
  args : (Tensor x, Tensor label, Tensor w, Tensor bias, Tensor path, Tensor code, int num_classes, bool is_sparse)
580 581 582 583 584 585 586 587 588
  output : Tensor(out), Tensor(pre_out), Tensor(w_out)
  infer_meta :
    func : HSigmoidLossInferMeta
  optional: path, code, bias
  kernel :
    func : hsigmoid_loss
    data_type : x
  backward : hsigmoid_loss_grad

589
- op : increment
590
  args : (Tensor x, float value = 1.0)
591
  output : Tensor(out)
Z
zyfncg 已提交
592 593 594 595
  infer_meta :
    func : IncrementInferMeta
  kernel :
    func : increment
H
hong 已提交
596
  inplace : (x -> out)
Z
zyfncg 已提交
597

598
- op : less_equal
599
  args : (Tensor x, Tensor y)
600
  output : Tensor(out)
Z
zyfncg 已提交
601 602 603 604
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : less_equal
605
  inplace: (x -> out)
Z
zyfncg 已提交
606

607
- op : less_than
608
  args : (Tensor x, Tensor y)
609
  output : Tensor(out)
Z
zyfncg 已提交
610 611 612 613
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : less_than
614
  inplace: (x -> out)
Z
zyfncg 已提交
615

616
- op : linspace
617
  args : (Tensor start, Tensor stop, Tensor number, DataType dtype, Place place)
618
  output : Tensor(out)
Z
zyfncg 已提交
619 620
  infer_meta :
    func : LinspaceInferMeta
621
    param: [start, stop, number, dtype]
Z
zyfncg 已提交
622 623
  kernel :
    func : linspace
624
    param: [start, stop, number, dtype]
Z
zyfncg 已提交
625
    data_type : dtype
626
    backend : place
Z
zyfncg 已提交
627

C
Chen Weihang 已提交
628 629 630 631 632 633 634 635 636 637 638 639
- op : logspace
  args : (Tensor start, Tensor stop, Tensor num, Tensor base, DataType dtype, Place place={})
  output : Tensor(out)
  infer_meta:
    func : LogspaceInferMeta
    param : [start, stop, num, base, dtype]
  kernel :
    func : logspace
    param : [start, stop, num, base, dtype]
    data_type : dtype
    backend : place

640
- op : logsumexp
Z
zyfncg 已提交
641 642 643 644 645 646 647 648
  args : (Tensor x, int64_t[] axis,  bool keepdim,  bool reduce_all)
  output : Tensor(out)
  infer_meta :
    func : LogsumexpInferMeta
  kernel :
    func : logsumexp
  backward : logsumexp_grad

649
- op : matmul
Z
zyfncg 已提交
650 651 652 653
  args : (Tensor x, Tensor y, bool transpose_x = false, bool transpose_y = false)
  output : Tensor
  infer_meta :
    func : MatmulInferMeta
654
    spmd_rule : MatmulSpmdInferForward
Z
zyfncg 已提交
655 656 657 658
  kernel :
    func : matmul
  backward : matmul_grad

R
RichardWooSJTU 已提交
659 660 661 662 663 664 665 666
- op : matmul_int8
  args : (Tensor x, Tensor y, bool transpose_x = false, bool transpose_y = false)
  output : Tensor
  infer_meta :
    func : MatmulInt8InferMeta
  kernel :
    func : matmul_int8

667
- op : matrix_rank
Z
zhangyuqin1998 已提交
668
  args : (Tensor x, float tol, bool use_default_tol=true, bool hermitian=false)
Z
zyfncg 已提交
669 670 671
  output : Tensor(out)
  infer_meta :
    func : MatrixRankInferMeta
Z
zhangyuqin1998 已提交
672
    param : [x, use_default_tol, hermitian]
Z
zyfncg 已提交
673 674 675
  kernel :
    func : matrix_rank

676
- op : matrix_rank_tol
Z
zyfncg 已提交
677 678 679 680 681 682 683
  args : (Tensor x, Tensor atol_tensor, bool use_default_tol=true, bool hermitian=false)
  output : Tensor(out)
  infer_meta :
    func : MatrixRankTolInferMeta
  kernel :
    func : matrix_rank_tol

684
- op : max
685
  args : (Tensor x, IntArray axis={}, bool keepdim=false)
Z
zyfncg 已提交
686 687
  output : Tensor(out)
  infer_meta :
688
    func : ReduceIntArrayAxisInferMeta
Z
zyfncg 已提交
689 690 691 692
  kernel :
    func : max
  backward : max_grad

693
- op : maximum
Z
zyfncg 已提交
694 695 696 697 698 699 700 701
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : maximum
  backward : maximum_grad

702
- op : mean
703
  args : (Tensor x, IntArray axis={}, bool keepdim=false)
Z
zyfncg 已提交
704 705
  output : Tensor(out)
  infer_meta :
706
    func : ReduceIntArrayAxisInferMeta
Z
zyfncg 已提交
707 708 709 710
  kernel :
    func : mean
  backward : mean_grad

H
hong 已提交
711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728
- op : memcpy_d2h
  args : (Tensor x, int dst_place_type)
  output : Tensor
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : memcpy_d2h

- op : memcpy_h2d
  args : (Tensor x, int dst_place_type)
  output : Tensor
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : memcpy_h2d

729
- op : min
730
  args : (Tensor x, IntArray axis={}, bool keepdim=false)
Z
zyfncg 已提交
731 732
  output : Tensor(out)
  infer_meta :
733
    func : ReduceIntArrayAxisInferMeta
Z
zyfncg 已提交
734 735 736 737
  kernel :
    func : min
  backward : min_grad

738
- op : minimum
Z
zyfncg 已提交
739 740 741 742 743 744 745 746
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : minimum
  backward : minimum_grad

747
- op : mish
Z
zyfncg 已提交
748 749 750 751 752 753 754 755 756
  args : (Tensor x, float lambda)
  output : Tensor
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : mish
  backward : mish_grad

757
- op : multiply
Z
zyfncg 已提交
758 759 760 761 762
  args : (Tensor x, Tensor y)
  output : Tensor
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
763 764
    func : multiply {dense, dense -> dense},
           multiply_sr {selected_rows, dense -> selected_rows}
765
  inplace : (x -> out)
Z
zyfncg 已提交
766 767
  backward : multiply_grad

768
- op : norm
Z
zyfncg 已提交
769 770 771 772 773 774 775 776
  args : (Tensor x, int axis, float epsilon, bool is_test)
  output : Tensor(out), Tensor(norm)
  infer_meta :
    func : NormInferMeta
  kernel :
    func : norm
  backward : norm_grad

777
- op : not_equal
778
  args : (Tensor x, Tensor y)
779
  output : Tensor(out)
Z
zyfncg 已提交
780 781 782 783
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : not_equal
784
  inplace: (x -> out)
Z
zyfncg 已提交
785

786
- op : one_hot
Z
zyfncg 已提交
787
  args : (Tensor x, Scalar(int) num_classes)
788
  output : Tensor(out)
Z
zyfncg 已提交
789 790 791 792 793
  infer_meta :
    func : OneHotInferMeta
  kernel :
    func : one_hot

794
- op : ones
795
  args : (IntArray shape, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
796
  output : Tensor(out)
797 798
  invoke : full(shape, 1, dtype, place)

799
- op : ones_like
Z
zyfncg 已提交
800
  args : (Tensor x, DataType dtype=DataType::UNDEFINED, Place place={})
801
  output : Tensor(out)
Z
zyfncg 已提交
802 803
  invoke : full_like(x, 1, dtype, place)

804
- op : pad
805
  args : (Tensor x, int[] paddings, Scalar pad_value)
Z
zyfncg 已提交
806 807 808 809 810 811 812
  output : Tensor
  infer_meta :
    func : PadInferMeta
  kernel :
    func : pad
  backward : pad_grad

813
- op : pool2d
814
  args : (Tensor x, IntArray kernel_size, int[] strides, int[] paddings, bool ceil_mode, bool exclusive, str data_format, str pooling_type, bool global_pooling, bool adaptive, str padding_algorithm)
Z
zyfncg 已提交
815 816
  output : Tensor(out)
  infer_meta :
817
    func : Pool2DInferMeta
818
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
819 820
  kernel :
    func : pool2d
821
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
822 823
  backward : pool2d_grad

824
- op : pool3d
825
  args : (Tensor x, int[] kernel_size, int[] strides, int[] paddings, bool ceil_mode, bool exclusive, str data_format, str pooling_type, bool global_pooling, bool adaptive, str padding_algorithm)
Z
zyfncg 已提交
826 827 828
  output : Tensor(out)
  infer_meta :
    func : PoolInferMeta
829
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
830 831
  kernel :
    func : pool3d
832
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
833 834
  backward : pool3d_grad

835 836 837 838 839 840
- op : prod
  args : (Tensor x, IntArray dims, bool keep_dim, bool reduce_all)
  output : Tensor
  infer_meta :
    func : ReduceIntArrayAxisInferMetaBase
  kernel :
841
    func : prod
842 843
  backward : prod_grad

844
- op : randint
Z
zyfncg 已提交
845 846 847 848 849 850 851 852 853 854 855
  args : (int low, int high, IntArray shape, DataType dtype=DataType::INT64, Place place={})
  output : Tensor(out)
  infer_meta :
    func : RandintInferMeta
    param : [low, high, shape, dtype]
  kernel :
    func : randint
    param : [low, high, shape, dtype]
    data_type : dtype
    backend : place

856
- op : randperm
Z
zyfncg 已提交
857
  args : (int n, DataType dtype, Place place={})
858
  output : Tensor(out)
Z
zyfncg 已提交
859 860 861 862 863 864 865 866 867
  infer_meta :
    func : RandpermInferMeta
    param : [n, dtype]
  kernel :
    func : randperm
    param : [n, dtype]
    data_type : dtype
    backend : place

868
- op : remainder
C
Chen Weihang 已提交
869
  args : (Tensor x, Tensor y)
870
  output : Tensor (out)
C
Chen Weihang 已提交
871 872 873 874 875 876
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : remainder
  inplace : (x -> out)

877
- op : repeat_interleave
878
  args : (Tensor x, int repeats, int axis)
S
seemingwang 已提交
879 880 881 882 883 884 885
  output : Tensor(out)
  infer_meta :
    func : RepeatInterleaveInferMeta
  kernel :
    func : repeat_interleave
  backward: repeat_interleave_grad

886
- op : repeat_interleave_with_tensor_index
887
  args : (Tensor x, Tensor repeats, int axis)
S
seemingwang 已提交
888 889 890 891 892 893 894 895
  output : Tensor(out)
  infer_meta :
    func : RepeatInterleaveWithTensorIndexInferMeta
  kernel :
    func : repeat_interleave_with_tensor_index
    data_type : x
  backward: repeat_interleave_with_tensor_index_grad

896
- op : reshape
Z
zyfncg 已提交
897 898 899 900 901
  args : (Tensor x, IntArray shape)
  output : Tensor(out), Tensor(xshape)
  infer_meta :
    func : ReshapeWithXShapeInferMeta
  kernel :
902
    func : reshape
Z
zyfncg 已提交
903 904 905 906 907
  inplace : (x -> out)
  view: (x -> out)
  intermediate : xshape
  backward: reshape_grad

908 909 910 911 912 913 914 915 916 917 918 919 920 921 922
- op : rnn
  args: (Tensor x, Tensor[] pre_state, Tensor[] weight_list, Tensor sequence_length, Tensor dropout_state_in, float dropout_prob=0.0, bool is_bidirec=false, int input_size=10, int hidden_size=100, int num_layers=1, str mode="RNN_TANH", int seed=0, bool is_test=false)
  output: Tensor(out), Tensor(dropout_state_out), Tensor[](state){pre_state.size()}, Tensor(reserve)
  infer_meta:
    func: RnnInferMeta
    param : [x, pre_state, weight_list, sequence_length, dropout_prob, is_bidirec, input_size, hidden_size, num_layers, mode, seed, is_test]
  kernel:
    func: rnn
    param : [x, pre_state, weight_list, sequence_length, dropout_prob, is_bidirec, input_size, hidden_size, num_layers, mode, seed, is_test]
    data_type: x
  backward: rnn_grad
  optional : sequence_length
  intermediate : reserve
  view : (dropout_state_in -> dropout_state_out)

W
Weilong Wu 已提交
923 924 925 926 927 928 929 930 931 932 933
- op : rrelu
  args : (Tensor x, float lower, float upper, bool is_test)
  output : Tensor(out), Tensor(noise)
  infer_meta :
    func : RReluInferMeta
  kernel :
    func : rrelu
    data_type : x
  intermediate : noise
  backward : rrelu_grad

934
- op : slice
Z
zyfncg 已提交
935 936 937 938 939 940 941 942
  args : (Tensor input, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis)
  output : Tensor
  infer_meta :
    func : SliceRawInferMeta
  kernel :
    func : slice
  backward : slice_grad

943
- op : softmax
Z
zyfncg 已提交
944
  args : (Tensor x, int axis)
945
  output : Tensor(out)
Z
zyfncg 已提交
946 947 948 949
  infer_meta :
    func : SoftmaxInferMeta
  kernel :
    func : softmax
950
  inplace : (x -> out)
Z
zyfncg 已提交
951 952
  backward : softmax_grad

953
- op : split
C
Charles-hit 已提交
954 955 956 957 958 959
  args : (Tensor x, IntArray sections, Scalar(int) axis)
  output : Tensor[]{sections.size()}
  infer_meta :
    func : SplitInferMeta
  kernel :
    func : split
Z
zyfncg 已提交
960 961
  backward : split_grad

962
- op : split_with_num
C
Charles-hit 已提交
963 964 965 966 967 968 969 970
  args : (Tensor x, int num, Scalar(int) axis)
  output : Tensor[]{num}
  infer_meta :
    func : SplitWithNumInferMeta
  kernel :
    func : split_with_num
  backward : split_with_num_grad

971
- op : strided_slice
Z
zyfncg 已提交
972 973 974 975 976 977 978 979
  args : (Tensor x, int[] axes, IntArray starts, IntArray ends, IntArray strides)
  output : Tensor
  infer_meta :
    func : StridedSliceInferMeta
  kernel :
    func : strided_slice
  backward : strided_slice_grad

980
- op : subtract
Z
zyfncg 已提交
981
  args : (Tensor x, Tensor y)
982
  output : Tensor(out)
Z
zyfncg 已提交
983 984 985 986
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : subtract
987
  inplace : (x -> out)
Z
zyfncg 已提交
988 989
  backward : subtract_grad

990
- op : sum
991
  args : (Tensor x, IntArray axis={}, DataType dtype=DataType::UNDEFINED, bool keepdim=false)
Z
zyfncg 已提交
992 993 994 995 996 997 998 999
  output : Tensor(out)
  infer_meta :
    func : SumInferMeta
  kernel :
    func : sum
    data_type : x
  backward : sum_grad

1000
- op : swish
1001
  args : (Tensor x)
Z
zyfncg 已提交
1002 1003 1004 1005 1006 1007 1008 1009
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : swish
  backward : swish_grad

1010
- op : sync_batch_norm_
1011
  args : (Tensor x, Tensor mean, Tensor variance, Tensor scale, Tensor bias, bool is_test, float momentum, float epsilon, str data_layout, bool use_global_stats, bool trainable_statistics)
1012 1013 1014 1015 1016
  output : Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
  infer_meta :
    func : BatchNormInferMeta
  kernel :
    func : sync_batch_norm
1017
    data_type : x
1018
  backward : sync_batch_norm_grad
1019
  inplace : (mean -> mean_out), (variance -> variance_out)
W
wanghuancoder 已提交
1020
  optional : reserve_space
1021

1022
- op : tile
1023 1024
  args : (Tensor x, IntArray repeat_times = {})
  output : Tensor(out)
Z
zyfncg 已提交
1025 1026 1027 1028 1029 1030
  infer_meta :
    func : TileInferMeta
  kernel :
    func : tile
  backward : tile_grad

N
niuliling123 已提交
1031 1032 1033 1034 1035 1036 1037 1038 1039
- op : trans_layout
  args : (Tensor x, int[] perm)
  output : Tensor
  infer_meta :
    func : TransposeInferMeta
  kernel :
    func : transpose
  backward : trans_layout_grad

1040
- op : transpose
1041
  args : (Tensor x, int[] perm)
1042
  output : Tensor(out)
Z
zyfncg 已提交
1043 1044 1045 1046 1047 1048
  infer_meta :
    func : TransposeInferMeta
  kernel :
    func : transpose
  backward : transpose_grad

1049
- op : tril
Z
zyfncg 已提交
1050
  args : (Tensor x, int diagonal)
1051 1052 1053 1054 1055
  output : Tensor(out)
  infer_meta :
    func : TrilInferMeta
  kernel :
    func : tril
1056
  inplace: (x -> out)
1057 1058
  backward : tril_grad

1059
- op : tril_indices
Z
zyfncg 已提交
1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070
  args : (int rows, int cols, int offset, DataType dtype, Place place={})
  output : Tensor(out)
  infer_meta :
    func : TrilIndicesInferMeta
    param : [rows, cols, offset, dtype]
  kernel :
    func : tril_indices
    param : [rows, cols, offset, dtype]
    data_type : dtype
    backend : place

1071
- op : triu
Z
zyfncg 已提交
1072
  args : (Tensor x, int diagonal)
1073 1074 1075 1076 1077
  output : Tensor(out)
  infer_meta :
    func : TriuInferMeta
  kernel :
    func : triu
1078
  inplace: (x -> out)
1079 1080
  backward : triu_grad

1081
- op : triu_indices
1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092
  args : (int row, int col, int offset, DataType dtype, Place place={})
  output : Tensor(out)
  infer_meta :
    func : TriuIndicesInferMeta
    param : [row, col, offset, dtype]
  kernel :
    func : triu_indices
    param : [row, col, offset, dtype]
    data_type : dtype
    backend : place

Z
zyfncg 已提交
1093
# python API: paddle.nn.initializer.TruncatedNormal
1094
- op : truncated_gaussian_random
Z
zyfncg 已提交
1095
  args : (int[] shape, float mean, float std, int seed, DataType dtype=DataType::FLOAT32, Place place={})
1096
  output : Tensor(out)
Z
zyfncg 已提交
1097 1098 1099 1100 1101 1102 1103 1104 1105
  infer_meta :
    func : TruncatedGaussianRandomInferMeta
    param : [shape, mean, std, seed, dtype]
  kernel :
    func : truncated_gaussian_random
    param : [shape, mean, std, seed, dtype]
    backend : place
    data_type : dtype

1106
- op : uniform
1107
  args : (IntArray shape,  DataType dtype,  Scalar min,  Scalar max,  int seed, Place place={})
Z
zyfncg 已提交
1108 1109 1110
  output : Tensor(out)
  infer_meta :
    func : UniformRandomInferMeta
1111
    param: [shape, dtype]
Z
zyfncg 已提交
1112
  kernel :
1113
    func : uniform
Z
zyfncg 已提交
1114 1115 1116 1117 1118
    param: [shape, dtype, min, max, seed]
    data_type : dtype
    backend : place

# The `axis` argument of Python API paddle.unique is not vector
1119
- op : unique
Z
zyfncg 已提交
1120 1121 1122 1123 1124 1125 1126
  args : (Tensor x, bool return_index, bool return_inverse, bool return_counts, int[] axis, DataType dtype=DataType::INT64)
  output : Tensor(out), Tensor(indices), Tensor(inverse), Tensor(counts)
  infer_meta :
    func : UniqueInferMeta
  kernel :
    func : unique
    data_type : x
1127
  optional : indices, inverse, counts
Z
zyfncg 已提交
1128

1129 1130 1131 1132 1133 1134 1135 1136 1137 1138
- op : unpool
  args: (Tensor x, Tensor indices, int[] ksize, int[] strides, int[] padding, IntArray output_size, str data_format)
  output: Tensor(out)
  infer_meta:
    func: UnpoolInferMeta
  kernel:
    func: unpool
    data_type: x
  backward: unpool_grad

1139
- op : zeros
1140
  args : (IntArray shape, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
1141
  output : Tensor(out)
1142 1143
  invoke : full(shape, 0, dtype, place)

1144
- op : zeros_like
Z
zyfncg 已提交
1145
  args : (Tensor x, DataType dtype=DataType::UNDEFINED, Place place = {})
1146
  output : Tensor(out)
Z
zyfncg 已提交
1147
  invoke : full_like(x, 0, dtype, place)