legacy_ops.yaml 32.2 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 : abs
Z
zyfncg 已提交
5 6 7 8 9 10 11 12
  args : (Tensor x)
  output : Tensor
  infer_meta :
    func : RealAndImagInferMeta
  kernel :
    func : abs
  backward : abs_grad

13
- op : adadelta_
14
  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)
15
  output : Tensor(param_out), Tensor(moment_out), Tensor(inf_norm_out), Tensor(master_param_out)
Z
zyfncg 已提交
16 17 18 19
  infer_meta :
    func : AdadeltaInferMeta
  kernel :
    func : adadelta
20 21 22
    data_type : param
  optional : master_param
  inplace : (param -> param_out), (avg_squared_grad -> moment_out), (avg_squared_update -> inf_norm_out), (master_param -> master_param_out)
Z
zyfncg 已提交
23

24
- op : add
Z
zyfncg 已提交
25
  args : (Tensor x, Tensor y)
26
  output : Tensor(out)
Z
zyfncg 已提交
27 28 29 30
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : add
31
  inplace : (x -> out)
Z
zyfncg 已提交
32 33
  backward : add_grad

34
- op : add_n
35
  args : (Tensor[] inputs)
Z
zyfncg 已提交
36
  output : Tensor
37
  invoke : add_n_impl(inputs)
Z
zyfncg 已提交
38 39
  backward : add_n_grad

40
- op : all
41
  args : (Tensor x, int64_t[] axis={}, bool keepdim=false)
Z
zyfncg 已提交
42 43 44 45 46 47
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMeta
  kernel :
    func : all

48
- op : amax
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 : amax
  backward : amax_grad

57
- op : amin
58
  args : (Tensor x, int64_t[] axis={}, bool keepdim=false)
59 60 61 62 63 64 65
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMeta
  kernel :
    func : amin
  backward : amin_grad

66
- op : any
67
  args : (Tensor x, int64_t[] axis={}, bool keepdim=false)
Z
zyfncg 已提交
68 69 70 71 72 73
  output : Tensor(out)
  infer_meta :
    func : ReduceInferMeta
  kernel :
    func : any

74
- op : arange
Z
zyfncg 已提交
75
  args : (Tensor start, Tensor end, Tensor step, DataType dtype, Place place={})
76
  output : Tensor(out)
Z
zyfncg 已提交
77 78 79 80 81 82 83 84 85 86 87
  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

88
- op : assign
Z
zyfncg 已提交
89 90 91 92 93 94 95 96
  args : (Tensor x)
  output : Tensor
  infer_meta :
    func : UnchangedInferMeta
  kernel :
    func : assign
  backward : assign_grad

97
- op : assign_out_
Z
zyfncg 已提交
98 99 100 101 102 103 104 105 106 107 108
  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

109
- op : assign_value_
110 111 112 113 114 115 116 117 118 119
  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
120
    backend : place > output
121

122
- op : batch_norm
123
  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 已提交
124
  output : Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
125 126 127 128 129 130
  infer_meta:
    func : BatchNormInferMeta
  kernel :
    func : batch_norm
    data_type : x
  view : (mean -> mean_out), (variance -> variance_out)
Z
zyfncg 已提交
131 132
  backward : batch_norm_grad

133
- op : bincount
134
  args: (Tensor x, Tensor weights, Scalar(int) minlength = 0)
135 136 137 138 139 140 141
  output: Tensor(out)
  infer_meta:
    func: BincountInferMeta
  kernel:
    func: bincount
  optional: weights

142
- op : cast
143
  args : (Tensor x, DataType dtype)
Z
zyfncg 已提交
144 145 146 147 148
  output : Tensor
  infer_meta :
    func : CastInferMeta
  kernel :
    func : cast
149
    param : [x, dtype]
Z
zyfncg 已提交
150 151 152
    data_type : x
  backward : cast_grad

153 154 155 156 157 158 159 160 161
- 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

162 163 164 165 166 167 168 169 170 171 172 173
- op : check_finite_and_unscale_
  args : (Tensor[] x, Tensor scale, Tensor input_found_infinite)
  output : Tensor[](out){x.size()}, Tensor(output_found_infinite)
  infer_meta :
    func : CheckFiniteAndUnscaleInferMeta
    param : [x, scale]
  kernel :
    func : check_finite_and_unscale
    param : [x, scale]
    data_type : x
  inplace : (x -> out), (input_found_infinite -> output_found_infinite)

174
- op : concat
Z
zyfncg 已提交
175 176 177 178 179 180 181 182 183
  args : (Tensor[] x, Scalar(int64_t) axis)
  output : Tensor
  infer_meta :
    func : ConcatInferMeta
    param : [x, axis]
  kernel :
    func : concat
  backward : concat_grad

184
- op : conv2d
185
  args : (Tensor input, Tensor filter, int[] strides, int[] paddings, str padding_algorithm, int[] dilations, int groups, str data_format)
Z
zyfncg 已提交
186
  output : Tensor
Z
zyfncg 已提交
187 188 189 190
  infer_meta :
    func : ConvInferMeta
  kernel :
    func : conv2d
Z
zyfncg 已提交
191 192
  backward : conv2d_grad

193
- op : conv2d_transpose
194
  args : (Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
Z
zyfncg 已提交
195 196
  output : Tensor(out)
  infer_meta :
197
    func : Conv2dTransposeInferMeta
Z
zyfncg 已提交
198 199 200 201
  kernel :
    func : conv2d_transpose
  backward : conv2d_transpose_grad

202
- op : conv3d
203
  args : (Tensor input, Tensor filter, int[] strides, int[] paddings, str padding_algorithm, int groups, int[] dilations, str data_format)
Z
zyfncg 已提交
204
  output : Tensor
Z
zyfncg 已提交
205
  infer_meta :
206
    func : Conv3DInferMeta
Z
zyfncg 已提交
207 208
  kernel :
    func : conv3d
Z
zyfncg 已提交
209 210
  backward : conv3d_grad

211
- op : conv3d_transpose
Z
zyfncg 已提交
212 213 214 215 216 217 218 219
  args : (Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, int[] output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
  output : Tensor(out)
  infer_meta :
    func : ConvTransposeInferMeta
  kernel :
    func : conv3d_transpose
  backward : conv3d_transpose_grad

220
- op : copy_to
Z
zyfncg 已提交
221
  args : (Tensor x, Place place, bool blocking)
222
  output : Tensor(out)
Z
zyfncg 已提交
223 224
  invoke : copy_to_impl(x, place, blocking)

225
- op : cumsum
W
WangZhen 已提交
226
  args : (Tensor x, Scalar axis, bool flatten, bool exclusive, bool reverse)
Z
zyfncg 已提交
227 228
  output : Tensor(out)
  infer_meta :
W
WangZhen 已提交
229
    func : CumScalarAxisInferMeta
Z
zyfncg 已提交
230 231 232 233
  kernel :
    func : cumsum
  backward : cumsum_grad

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

245
- op : deformable_conv
Z
zyfncg 已提交
246 247 248 249 250 251 252 253 254 255
  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

256
- op : depthwise_conv2d
257
  args : (Tensor x, Tensor filter, int[] strides, int[] paddings, str padding_algorithm, int groups, int[] dilations, str data_format)
Z
zyfncg 已提交
258 259
  output : Tensor(out)
  infer_meta :
260
    func : DepthwiseConvInferMeta
261
    param : [x, filter, strides, paddings, padding_algorithm, groups, dilations, data_format]
Z
zyfncg 已提交
262 263
  kernel :
    func : depthwise_conv2d
264
    param : [x, filter, strides, paddings, padding_algorithm, groups, dilations, data_format]
Z
zyfncg 已提交
265 266
  backward : depthwise_conv2d_grad

267
- op : depthwise_conv2d_transpose
268
  args : (Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
Z
zyfncg 已提交
269 270
  output : Tensor(out)
  infer_meta :
271
    func : Conv2dTransposeInferMeta
Z
zyfncg 已提交
272 273 274 275
  kernel :
    func : depthwise_conv2d_transpose
  backward : depthwise_conv2d_transpose_grad

276
- op : distribute_fpn_proposals
277 278 279 280 281 282 283 284 285
  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

286
- op : divide
Z
zyfncg 已提交
287 288 289 290 291 292 293 294
  args : (Tensor x, Tensor y)
  output : Tensor
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : divide
  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 308 309
  args : (Tensor[] x, str equation)
  output : Tensor, Tensor[]{x.size()}, Tensor[]{x.size()}
  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

338
- op : empty
Z
zyfncg 已提交
339
  args : (IntArray shape, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
340
  output: Tensor(out)
Z
zyfncg 已提交
341 342 343 344 345 346 347 348 349
  infer_meta :
    func : CreateInferMeta
    param : [shape, dtype]
  kernel :
    func : empty
    param : [shape, dtype]
    data_type : dtype
    backend : place

350
- op : empty_like
Z
zyfncg 已提交
351
  args : (Tensor x, DataType dtype = DataType::UNDEFINED, Place place = {})
352
  output: Tensor(out)
Z
zyfncg 已提交
353 354 355 356 357 358 359 360 361
  infer_meta :
    func : CreateLikeInferMeta
    param : [x, dtype]
  kernel :
    func : empty_like
    param : [x, dtype]
    data_type : dtype > x
    backend : place > x

362
- op : equal
363
  args : (Tensor x, Tensor y)
364
  output : Tensor(out)
Z
zyfncg 已提交
365 366 367 368 369
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : equal

370
- op : expand
Z
zyfncg 已提交
371 372 373 374 375 376 377 378
  args : (Tensor x, IntArray shape)
  output : Tensor
  infer_meta :
    func : ExpandInferMeta
  kernel :
    func : expand
  backward : expand_grad

379
- op : exponential_
380
  args : (Tensor x, float lam)
381 382 383 384 385 386 387 388 389
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : exponential
  inplace : (x -> out)
  backward : exponential__grad

390
- op : eye
391
  args : (Scalar num_rows, Scalar num_columns, DataType dtype=DataType::FLOAT32, Place place={})
Z
zyfncg 已提交
392 393 394 395 396 397 398 399 400 401
  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

402
- op : fill
403 404 405 406 407 408 409 410 411 412
  args : (Tensor x, Scalar value)
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : fill
  inplace : (x -> out)
  backward: fill_grad

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

421
- op : fmax
422
  args : (Tensor x, Tensor y)
Z
zyfncg 已提交
423 424 425 426 427 428 429 430
  output : Tensor(out)
  infer_meta :
    param: [x, y]
    func : ElementwiseInferMeta
  kernel :
    func : fmax
  backward : fmax_grad

431
- op : fmin
432
  args : (Tensor x, Tensor y)
Z
zyfncg 已提交
433 434 435 436 437 438 439 440
  output : Tensor(out)
  infer_meta :
    param: [x, y]
    func : ElementwiseInferMeta
  kernel :
    func : fmin
  backward : fmin_grad

441
- op : frobenius_norm
Z
zyfncg 已提交
442 443 444 445 446 447 448 449
  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

450
- op : full
Z
zyfncg 已提交
451
  args : (IntArray shape, Scalar value, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
452
  output: Tensor(out)
Z
zyfncg 已提交
453 454 455 456 457 458 459 460 461
  infer_meta :
    func : CreateInferMeta
    param : [shape, dtype]
  kernel :
    func : full
    param : [shape, value, dtype]
    data_type : dtype
    backend : place

462
- op : full_
463 464 465 466 467 468 469 470 471 472 473 474
  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

475
- op : full_batch_size_like
Z
zyfncg 已提交
476
  args : (Tensor input, int[] shape, DataType dtype, Scalar value, int input_dim_idx, int output_dim_idx, Place place=CPUPlace())
477
  output: Tensor(out)
Z
zyfncg 已提交
478 479 480 481 482 483 484 485 486
  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

487
- op : full_like
Z
zyfncg 已提交
488
  args : (Tensor x, Scalar value, DataType dtype = DataType::UNDEFINED, Place place = {})
489
  output: Tensor(out)
Z
zyfncg 已提交
490 491 492 493 494 495 496 497 498 499 500
  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

501 502 503 504 505 506 507 508 509 510 511
- 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)

512
- op : gather
Z
zyfncg 已提交
513 514 515 516 517 518 519 520 521
  args : (Tensor x, Tensor index, Scalar(int) axis=0)
  output : Tensor(out)
  infer_meta :
    func : GatherInferMeta
  kernel :
    func : gather
    data_type: x
  backward : gather_grad

522
- op : gaussian
Z
zyfncg 已提交
523
  args : (IntArray shape, float mean, float std, int seed, DataType dtype, Place place={})
524
  output: Tensor(out)
Z
zyfncg 已提交
525
  infer_meta :
526
    func : GaussianInferMeta
Z
zyfncg 已提交
527 528
    param : [shape, mean, std, seed, dtype]
  kernel :
529
    func : gaussian
Z
zyfncg 已提交
530 531 532 533
    param : [shape, mean, std, seed, dtype]
    data_type : dtype
    backend : place

534
- op : greater_equal
535
  args : (Tensor x, Tensor y)
536
  output : Tensor(out)
Z
zyfncg 已提交
537 538 539 540 541
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : greater_equal

542
- op : greater_than
543
  args : (Tensor x, Tensor y)
544
  output : Tensor(out)
Z
zyfncg 已提交
545 546 547 548 549
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : greater_than

550
- op : group_norm
Z
zyfncg 已提交
551 552 553 554 555 556 557 558 559 560
  args : (Tensor x, Tensor scale, Tensor bias, float epsilon, int groups, str data_layout)
  output : Tensor(y), Tensor(mean), Tensor(variance)
  infer_meta :
    func : GroupNormInferMeta
  kernel :
    func : group_norm
  optional : scale, bias
  intermediate : mean, variance
  backward : group_norm_grad

561
- op : hardswish
562
  args : (Tensor x)
C
cyber-pioneer 已提交
563
  output : Tensor(out)
Z
zyfncg 已提交
564 565 566 567
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
Z
zyfncg 已提交
568
    func : hardswish
569
  backward : hardswish_grad
Z
zyfncg 已提交
570

571 572 573 574 575 576 577 578 579
- op : heaviside
  args : (Tensor x, Tensor y)
  output : Tensor
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : heaviside
  backward : heaviside_grad

580
- op : hsigmoid_loss
Z
zhangyuqin1998 已提交
581
  args : (Tensor x, Tensor label, Tensor w, Tensor bias, Tensor path, Tensor code, int num_classes, bool is_sparse)
582 583 584 585 586 587 588 589 590
  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

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

600
- op : instance_norm
Z
zyfncg 已提交
601 602 603 604 605 606 607 608 609 610 611
  args : (Tensor x, Tensor scale, Tensor bias, float epsilon)
  output : Tensor(y), Tensor(saved_mean), Tensor(saved_variance)
  infer_meta :
    func : InstanceNormInferMeta
  kernel :
    func : instance_norm
    data_type : x
  optional : scale, bias
  intermediate : saved_mean, saved_variance
  backward : instance_norm_grad

612
- op : layer_norm
613
  args : (Tensor x, Tensor scale, Tensor bias, float epsilon, int begin_norm_axis)
Z
zyfncg 已提交
614 615 616 617 618 619 620 621 622
  output : Tensor(out), Tensor(mean), Tensor(variance)
  infer_meta :
    func : LayerNormInferMeta
  kernel :
    func : layer_norm
    data_type : x
  backward : layer_norm_grad
  optional : scale, bias

623
- op : less_equal
624
  args : (Tensor x, Tensor y)
625
  output : Tensor(out)
Z
zyfncg 已提交
626 627 628 629 630
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : less_equal

631
- op : less_than
632
  args : (Tensor x, Tensor y)
633
  output : Tensor(out)
Z
zyfncg 已提交
634 635 636 637 638
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : less_than

639
- op : linspace
640
  args : (Tensor start, Tensor stop, Tensor number, DataType dtype, Place place)
641
  output : Tensor(out)
Z
zyfncg 已提交
642 643
  infer_meta :
    func : LinspaceInferMeta
644
    param: [start, stop, number, dtype]
Z
zyfncg 已提交
645 646
  kernel :
    func : linspace
647
    param: [start, stop, number, dtype]
Z
zyfncg 已提交
648
    data_type : dtype
649
    backend : place
Z
zyfncg 已提交
650

C
Chen Weihang 已提交
651 652 653 654 655 656 657 658 659 660 661 662
- 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

663
- op : logsumexp
Z
zyfncg 已提交
664 665 666 667 668 669 670 671
  args : (Tensor x, int64_t[] axis,  bool keepdim,  bool reduce_all)
  output : Tensor(out)
  infer_meta :
    func : LogsumexpInferMeta
  kernel :
    func : logsumexp
  backward : logsumexp_grad

672
- op : lstsq
673 674 675 676 677 678
  args : (Tensor x, Tensor y, Scalar rcond, str driver)
  output : Tensor(solution), Tensor(residuals), Tensor(rank), Tensor(singular_values)
  infer_meta :
    func : LstsqInferMeta
  kernel :
    func : lstsq
679
    data_type : x
680

681
- op : matmul
Z
zyfncg 已提交
682 683 684 685 686 687 688 689
  args : (Tensor x, Tensor y, bool transpose_x = false, bool transpose_y = false)
  output : Tensor
  infer_meta :
    func : MatmulInferMeta
  kernel :
    func : matmul
  backward : matmul_grad

690
- op : matrix_rank
Z
zhangyuqin1998 已提交
691
  args : (Tensor x, float tol, bool use_default_tol=true, bool hermitian=false)
Z
zyfncg 已提交
692 693 694
  output : Tensor(out)
  infer_meta :
    func : MatrixRankInferMeta
Z
zhangyuqin1998 已提交
695
    param : [x, use_default_tol, hermitian]
Z
zyfncg 已提交
696 697 698
  kernel :
    func : matrix_rank

699
- op : matrix_rank_tol
Z
zyfncg 已提交
700 701 702 703 704 705 706
  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

707
- op : max
708
  args : (Tensor x, IntArray axis={}, bool keepdim=false)
Z
zyfncg 已提交
709 710
  output : Tensor(out)
  infer_meta :
711
    func : ReduceIntArrayAxisInferMeta
Z
zyfncg 已提交
712 713 714 715
  kernel :
    func : max
  backward : max_grad

716
- op : maximum
Z
zyfncg 已提交
717 718 719 720 721 722 723 724
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : maximum
  backward : maximum_grad

725
- op : mean
726
  args : (Tensor x, IntArray axis={}, bool keepdim=false)
Z
zyfncg 已提交
727 728
  output : Tensor(out)
  infer_meta :
729
    func : OriginReduceInferMeta
Z
zyfncg 已提交
730 731 732 733
  kernel :
    func : mean
  backward : mean_grad

734
- op : min
735
  args : (Tensor x, IntArray axis={}, bool keepdim=false)
Z
zyfncg 已提交
736 737
  output : Tensor(out)
  infer_meta :
738
    func : ReduceIntArrayAxisInferMeta
Z
zyfncg 已提交
739 740 741 742
  kernel :
    func : min
  backward : min_grad

743
- op : minimum
Z
zyfncg 已提交
744 745 746 747 748 749 750 751
  args : (Tensor x, Tensor y)
  output : Tensor(out)
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : minimum
  backward : minimum_grad

752
- op : mish
Z
zyfncg 已提交
753 754 755 756 757 758 759 760 761
  args : (Tensor x, float lambda)
  output : Tensor
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : mish
  backward : mish_grad

762
- op : multiclass_nms3
763 764 765 766 767 768 769 770
  args : (Tensor bboxes, Tensor scores, Tensor rois_num, float score_threshold, int nms_top_k, int keep_top_k, float nms_threshold=0.3, bool normalized=true, float nms_eta=1.0, int background_label=0)
  output : Tensor(out), Tensor(index), Tensor(nms_rois_num)
  infer_meta :
    func : MultiClassNMSInferMeta
  kernel :
    func : multiclass_nms3
  optional : rois_num

771
- op : multiply
Z
zyfncg 已提交
772 773 774 775 776
  args : (Tensor x, Tensor y)
  output : Tensor
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
777 778
    func : multiply {dense, dense -> dense},
           multiply_sr {selected_rows, dense -> selected_rows}
779
  inplace : (x -> out)
Z
zyfncg 已提交
780 781
  backward : multiply_grad

782
- op : norm
Z
zyfncg 已提交
783 784 785 786 787 788 789 790
  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

791
- op : not_equal
792
  args : (Tensor x, Tensor y)
793
  output : Tensor(out)
Z
zyfncg 已提交
794 795 796 797 798
  infer_meta :
    func : CompareInferMeta
  kernel :
    func : not_equal

799
- op : one_hot
Z
zyfncg 已提交
800
  args : (Tensor x, Scalar(int) num_classes)
801
  output : Tensor(out)
Z
zyfncg 已提交
802 803 804 805 806
  infer_meta :
    func : OneHotInferMeta
  kernel :
    func : one_hot

807
- op : ones
808
  args : (IntArray shape, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
809
  output : Tensor(out)
810 811
  invoke : full(shape, 1, dtype, place)

812
- op : ones_like
Z
zyfncg 已提交
813
  args : (Tensor x, DataType dtype=DataType::UNDEFINED, Place place={})
814
  output : Tensor(out)
Z
zyfncg 已提交
815 816
  invoke : full_like(x, 1, dtype, place)

817
- op : pad
818
  args : (Tensor x, int[] paddings, Scalar pad_value)
Z
zyfncg 已提交
819 820 821 822 823 824 825
  output : Tensor
  infer_meta :
    func : PadInferMeta
  kernel :
    func : pad
  backward : pad_grad

826
- op : pad3d
Z
zyfncg 已提交
827 828 829 830 831 832 833 834
  args : (Tensor x, IntArray paddings, str mode,  float pad_value, str data_format)
  output : Tensor(out)
  infer_meta :
    func : Pad3dInferMeta
  kernel :
    func : pad3d
  backward : pad3d_grad

835
- op : pool2d
836
  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 已提交
837 838
  output : Tensor(out)
  infer_meta :
839
    func : Pool2DInferMeta
840
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
841 842
  kernel :
    func : pool2d
843
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
844 845
  backward : pool2d_grad

846
- op : pool3d
847
  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 已提交
848 849 850
  output : Tensor(out)
  infer_meta :
    func : PoolInferMeta
851
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
852 853
  kernel :
    func : pool3d
854
    param : [x, kernel_size, strides, paddings, ceil_mode, exclusive, data_format, pooling_type, global_pooling, adaptive, padding_algorithm]
Z
zyfncg 已提交
855 856
  backward : pool3d_grad

857
- op : prior_box
Z
zhangyuqin1998 已提交
858
  args : (Tensor input, Tensor image, float[] min_sizes, float[] max_sizes = {}, float[] aspect_ratios = {}, float[] variances = {}, bool flip=true, bool clip=true, float step_w=0.0, float step_h=0.0, float offset=0.5, bool min_max_aspect_ratios_order=false)
Z
zhiboniu 已提交
859 860 861 862 863 864
  output : Tensor(out), Tensor(var)
  infer_meta :
    func : PriorBoxInferMeta
  kernel :
    func : prior_box

865 866 867 868 869 870
- op : prod
  args : (Tensor x, IntArray dims, bool keep_dim, bool reduce_all)
  output : Tensor
  infer_meta :
    func : ReduceIntArrayAxisInferMetaBase
  kernel :
871
    func : prod
872 873
  backward : prod_grad

874
- op : psroi_pool
Z
zyfncg 已提交
875 876 877 878 879 880 881 882 883 884
  args : (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, int output_channels, float spatial_scale)
  output : Tensor
  infer_meta :
    func : PsroiPoolInferMeta
  kernel :
    func : psroi_pool
    data_type : x
  optional : boxes_num
  backward : psroi_pool_grad

885
- op : randint
Z
zyfncg 已提交
886 887 888 889 890 891 892 893 894 895 896
  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

897
- op : randperm
Z
zyfncg 已提交
898
  args : (int n, DataType dtype, Place place={})
899
  output : Tensor(out)
Z
zyfncg 已提交
900 901 902 903 904 905 906 907 908
  infer_meta :
    func : RandpermInferMeta
    param : [n, dtype]
  kernel :
    func : randperm
    param : [n, dtype]
    data_type : dtype
    backend : place

909
- op : relu6
910
  args : (Tensor x)
911 912 913 914 915 916 917 918
  output : Tensor
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : relu6
  backward : relu6_grad

919
- op : remainder
C
Chen Weihang 已提交
920
  args : (Tensor x, Tensor y)
921
  output : Tensor (out)
C
Chen Weihang 已提交
922 923 924 925 926 927
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : remainder
  inplace : (x -> out)

928
- op : repeat_interleave
929
  args : (Tensor x, int repeats, int axis)
S
seemingwang 已提交
930 931 932 933 934 935 936
  output : Tensor(out)
  infer_meta :
    func : RepeatInterleaveInferMeta
  kernel :
    func : repeat_interleave
  backward: repeat_interleave_grad

937
- op : repeat_interleave_with_tensor_index
938
  args : (Tensor x, Tensor repeats, int axis)
S
seemingwang 已提交
939 940 941 942 943 944 945 946
  output : Tensor(out)
  infer_meta :
    func : RepeatInterleaveWithTensorIndexInferMeta
  kernel :
    func : repeat_interleave_with_tensor_index
    data_type : x
  backward: repeat_interleave_with_tensor_index_grad

947
- op : reshape
Z
zyfncg 已提交
948 949 950 951 952
  args : (Tensor x, IntArray shape)
  output : Tensor(out), Tensor(xshape)
  infer_meta :
    func : ReshapeWithXShapeInferMeta
  kernel :
953
    func : reshape
Z
zyfncg 已提交
954 955 956 957 958
  inplace : (x -> out)
  view: (x -> out)
  intermediate : xshape
  backward: reshape_grad

959 960 961 962 963 964 965 966 967 968 969 970 971 972 973
- 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)

974
- op : roi_align
Z
zyfncg 已提交
975 976 977 978 979 980 981 982 983 984
  args : (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, float spatial_scale, int sampling_ratio, bool aligned)
  output : Tensor
  infer_meta :
    func : RoiAlignInferMeta
  kernel :
    func : roi_align
    data_type : x
  optional : boxes_num
  backward : roi_align_grad

985
- op : roi_pool
Z
zyfncg 已提交
986 987 988 989 990 991 992 993 994 995 996
  args : (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, float spatial_scale)
  output : Tensor(out), Tensor(arg_max)
  infer_meta :
    func : RoiPoolInferMeta
  kernel :
    func : roi_pool
    data_type : x
  optional : boxes_num
  intermediate : arg_max
  backward : roi_pool_grad

W
Weilong Wu 已提交
997 998 999 1000 1001 1002 1003 1004 1005 1006 1007
- 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

1008
- op : shape
Z
zyfncg 已提交
1009
  args : (Tensor input)
1010
  output : Tensor(out)
Z
zyfncg 已提交
1011 1012 1013
  infer_meta :
    func : ShapeInferMeta
  kernel :
1014 1015
    func : shape {dense -> dense},
           shape_sr {selected_rows -> selected_rows}
Z
zyfncg 已提交
1016 1017 1018
  data_transform:
    skip_transform : input

1019
- op : slice
Z
zyfncg 已提交
1020 1021 1022 1023 1024 1025 1026 1027
  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

1028
- op : softmax
Z
zyfncg 已提交
1029
  args : (Tensor x, int axis)
1030
  output : Tensor(out)
Z
zyfncg 已提交
1031 1032 1033 1034
  infer_meta :
    func : SoftmaxInferMeta
  kernel :
    func : softmax
1035
  inplace : (x -> out)
Z
zyfncg 已提交
1036 1037
  backward : softmax_grad

1038
- op : split
C
Charles-hit 已提交
1039 1040 1041 1042 1043 1044
  args : (Tensor x, IntArray sections, Scalar(int) axis)
  output : Tensor[]{sections.size()}
  infer_meta :
    func : SplitInferMeta
  kernel :
    func : split
Z
zyfncg 已提交
1045 1046
  backward : split_grad

1047
- op : split_with_num
C
Charles-hit 已提交
1048 1049 1050 1051 1052 1053 1054 1055
  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

1056
- op : strided_slice
Z
zyfncg 已提交
1057 1058 1059 1060 1061 1062 1063 1064
  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

1065
- op : subtract
Z
zyfncg 已提交
1066
  args : (Tensor x, Tensor y)
1067
  output : Tensor(out)
Z
zyfncg 已提交
1068 1069 1070 1071
  infer_meta :
    func : ElementwiseInferMeta
  kernel :
    func : subtract
1072
  inplace : (x -> out)
Z
zyfncg 已提交
1073 1074
  backward : subtract_grad

1075
- op : sum
1076
  args : (Tensor x, IntArray axis={}, DataType dtype=DataType::UNDEFINED, bool keepdim=false)
Z
zyfncg 已提交
1077 1078 1079 1080 1081 1082 1083 1084
  output : Tensor(out)
  infer_meta :
    func : SumInferMeta
  kernel :
    func : sum
    data_type : x
  backward : sum_grad

1085
- op : swish
1086
  args : (Tensor x)
Z
zyfncg 已提交
1087 1088 1089 1090 1091 1092 1093 1094
  output : Tensor(out)
  infer_meta :
    func : UnchangedInferMeta
    param : [x]
  kernel :
    func : swish
  backward : swish_grad

1095
- op : sync_batch_norm_
1096
  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)
1097 1098 1099 1100 1101
  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
1102
    data_type : x
1103
  backward : sync_batch_norm_grad
1104
  inplace : (mean -> mean_out), (variance -> variance_out)
1105

1106
- op : tile
1107 1108
  args : (Tensor x, IntArray repeat_times = {})
  output : Tensor(out)
Z
zyfncg 已提交
1109 1110 1111 1112 1113 1114
  infer_meta :
    func : TileInferMeta
  kernel :
    func : tile
  backward : tile_grad

1115
- op : transpose
1116
  args : (Tensor x, int[] perm)
Z
zyfncg 已提交
1117 1118 1119 1120 1121 1122 1123
  output : Tensor
  infer_meta :
    func : TransposeInferMeta
  kernel :
    func : transpose
  backward : transpose_grad

1124
- op : tril
Z
zyfncg 已提交
1125
  args : (Tensor x, int diagonal)
1126 1127 1128 1129 1130 1131 1132
  output : Tensor(out)
  infer_meta :
    func : TrilInferMeta
  kernel :
    func : tril
  backward : tril_grad

1133
- op : tril_indices
Z
zyfncg 已提交
1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144
  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

1145
- op : triu
Z
zyfncg 已提交
1146
  args : (Tensor x, int diagonal)
1147 1148 1149 1150 1151 1152 1153
  output : Tensor(out)
  infer_meta :
    func : TriuInferMeta
  kernel :
    func : triu
  backward : triu_grad

1154
- op : triu_indices
1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165
  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 已提交
1166
# python API: paddle.nn.initializer.TruncatedNormal
1167
- op : truncated_gaussian_random
Z
zyfncg 已提交
1168
  args : (int[] shape, float mean, float std, int seed, DataType dtype=DataType::FLOAT32, Place place={})
1169
  output : Tensor(out)
Z
zyfncg 已提交
1170 1171 1172 1173 1174 1175 1176 1177 1178
  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

1179
- op : uniform
1180
  args : (IntArray shape,  DataType dtype,  Scalar min,  Scalar max,  int seed, Place place={})
Z
zyfncg 已提交
1181 1182 1183
  output : Tensor(out)
  infer_meta :
    func : UniformRandomInferMeta
1184
    param: [shape, dtype]
Z
zyfncg 已提交
1185
  kernel :
1186
    func : uniform
Z
zyfncg 已提交
1187 1188 1189 1190 1191
    param: [shape, dtype, min, max, seed]
    data_type : dtype
    backend : place

# The `axis` argument of Python API paddle.unique is not vector
1192
- op : unique
Z
zyfncg 已提交
1193 1194 1195 1196 1197 1198 1199 1200
  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

1201
- op : zeros
1202
  args : (IntArray shape, DataType dtype=DataType::FLOAT32, Place place=CPUPlace())
1203
  output : Tensor(out)
1204 1205
  invoke : full(shape, 0, dtype, place)

1206
- op : zeros_like
Z
zyfncg 已提交
1207
  args : (Tensor x, DataType dtype=DataType::UNDEFINED, Place place = {})
1208
  output : Tensor(out)
Z
zyfncg 已提交
1209
  invoke : full_like(x, 0, dtype, place)