torch-rb 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2085 @@
1
+ // generated by rake generate:functions
2
+ // do not edit by hand
3
+
4
+ #include <torch/torch.h>
5
+ #include <rice/Module.hpp>
6
+ #include "templates.hpp"
7
+
8
+ void add_tensor_functions(Module m) {
9
+ m
10
+ .define_method(
11
+ "_abs",
12
+ *[](const Tensor &self) {
13
+ return self.abs();
14
+ })
15
+ .define_method(
16
+ "_abs_",
17
+ *[](Tensor &self) {
18
+ return self.abs_();
19
+ })
20
+ .define_method(
21
+ "_acos",
22
+ *[](const Tensor &self) {
23
+ return self.acos();
24
+ })
25
+ .define_method(
26
+ "_acos_",
27
+ *[](Tensor &self) {
28
+ return self.acos_();
29
+ })
30
+ .define_method(
31
+ "_add__scalar",
32
+ *[](Tensor &self, Scalar other, Scalar alpha) {
33
+ return self.add_(other, alpha);
34
+ })
35
+ .define_method(
36
+ "_add__tensor",
37
+ *[](Tensor &self, const Tensor &other, Scalar alpha) {
38
+ return self.add_(other, alpha);
39
+ })
40
+ .define_method(
41
+ "_add_scalar",
42
+ *[](const Tensor &self, Scalar other, Scalar alpha) {
43
+ return self.add(other, alpha);
44
+ })
45
+ .define_method(
46
+ "_add_tensor",
47
+ *[](const Tensor &self, const Tensor &other, Scalar alpha) {
48
+ return self.add(other, alpha);
49
+ })
50
+ .define_method(
51
+ "_addbmm",
52
+ *[](const Tensor &self, const Tensor &batch1, const Tensor &batch2, Scalar beta, Scalar alpha) {
53
+ return self.addbmm(batch1, batch2, beta, alpha);
54
+ })
55
+ .define_method(
56
+ "_addbmm_",
57
+ *[](Tensor &self, const Tensor &batch1, const Tensor &batch2, Scalar beta, Scalar alpha) {
58
+ return self.addbmm_(batch1, batch2, beta, alpha);
59
+ })
60
+ .define_method(
61
+ "_addcdiv",
62
+ *[](const Tensor &self, const Tensor &tensor1, const Tensor &tensor2, Scalar value) {
63
+ return self.addcdiv(tensor1, tensor2, value);
64
+ })
65
+ .define_method(
66
+ "_addcdiv_",
67
+ *[](Tensor &self, const Tensor &tensor1, const Tensor &tensor2, Scalar value) {
68
+ return self.addcdiv_(tensor1, tensor2, value);
69
+ })
70
+ .define_method(
71
+ "_addcmul",
72
+ *[](const Tensor &self, const Tensor &tensor1, const Tensor &tensor2, Scalar value) {
73
+ return self.addcmul(tensor1, tensor2, value);
74
+ })
75
+ .define_method(
76
+ "_addcmul_",
77
+ *[](Tensor &self, const Tensor &tensor1, const Tensor &tensor2, Scalar value) {
78
+ return self.addcmul_(tensor1, tensor2, value);
79
+ })
80
+ .define_method(
81
+ "_addmm",
82
+ *[](const Tensor &self, const Tensor &mat1, const Tensor &mat2, Scalar beta, Scalar alpha) {
83
+ return self.addmm(mat1, mat2, beta, alpha);
84
+ })
85
+ .define_method(
86
+ "_addmm_",
87
+ *[](Tensor &self, const Tensor &mat1, const Tensor &mat2, Scalar beta, Scalar alpha) {
88
+ return self.addmm_(mat1, mat2, beta, alpha);
89
+ })
90
+ .define_method(
91
+ "_addmv",
92
+ *[](const Tensor &self, const Tensor &mat, const Tensor &vec, Scalar beta, Scalar alpha) {
93
+ return self.addmv(mat, vec, beta, alpha);
94
+ })
95
+ .define_method(
96
+ "_addmv_",
97
+ *[](Tensor &self, const Tensor &mat, const Tensor &vec, Scalar beta, Scalar alpha) {
98
+ return self.addmv_(mat, vec, beta, alpha);
99
+ })
100
+ .define_method(
101
+ "_addr",
102
+ *[](const Tensor &self, const Tensor &vec1, const Tensor &vec2, Scalar beta, Scalar alpha) {
103
+ return self.addr(vec1, vec2, beta, alpha);
104
+ })
105
+ .define_method(
106
+ "_addr_",
107
+ *[](Tensor &self, const Tensor &vec1, const Tensor &vec2, Scalar beta, Scalar alpha) {
108
+ return self.addr_(vec1, vec2, beta, alpha);
109
+ })
110
+ .define_method(
111
+ "_alias",
112
+ *[](Tensor &self) {
113
+ return self.alias();
114
+ })
115
+ .define_method(
116
+ "_align_as",
117
+ *[](const Tensor &self, const Tensor &other) {
118
+ return self.align_as(other);
119
+ })
120
+ .define_method(
121
+ "_all",
122
+ *[](const Tensor &self) {
123
+ return self.all();
124
+ })
125
+ .define_method(
126
+ "_all_dim",
127
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
128
+ return self.all(dim, keepdim);
129
+ })
130
+ .define_method(
131
+ "_allclose",
132
+ *[](const Tensor &self, const Tensor &other, double rtol, double atol, bool equal_nan) {
133
+ return self.allclose(other, rtol, atol, equal_nan);
134
+ })
135
+ .define_method(
136
+ "_angle",
137
+ *[](const Tensor &self) {
138
+ return self.angle();
139
+ })
140
+ .define_method(
141
+ "_any",
142
+ *[](const Tensor &self) {
143
+ return self.any();
144
+ })
145
+ .define_method(
146
+ "_any_dim",
147
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
148
+ return self.any(dim, keepdim);
149
+ })
150
+ .define_method(
151
+ "_argmax",
152
+ *[](const Tensor &self) {
153
+ return self.argmax();
154
+ })
155
+ .define_method(
156
+ "_argmax_dim",
157
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
158
+ return self.argmax(dim, keepdim);
159
+ })
160
+ .define_method(
161
+ "_argmin",
162
+ *[](const Tensor &self) {
163
+ return self.argmin();
164
+ })
165
+ .define_method(
166
+ "_argmin_dim",
167
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
168
+ return self.argmin(dim, keepdim);
169
+ })
170
+ .define_method(
171
+ "_argsort",
172
+ *[](const Tensor &self, int64_t dim, bool descending) {
173
+ return self.argsort(dim, descending);
174
+ })
175
+ .define_method(
176
+ "_as_strided",
177
+ *[](Tensor &self, IntArrayRef size, IntArrayRef stride) {
178
+ return self.as_strided(size, stride);
179
+ })
180
+ .define_method(
181
+ "_as_strided_",
182
+ *[](Tensor &self, IntArrayRef size, IntArrayRef stride) {
183
+ return self.as_strided_(size, stride);
184
+ })
185
+ .define_method(
186
+ "_as_strided__storage_offset",
187
+ *[](Tensor &self, IntArrayRef size, IntArrayRef stride, int64_t storage_offset) {
188
+ return self.as_strided_(size, stride, storage_offset);
189
+ })
190
+ .define_method(
191
+ "_as_strided_storage_offset",
192
+ *[](Tensor &self, IntArrayRef size, IntArrayRef stride, int64_t storage_offset) {
193
+ return self.as_strided(size, stride, storage_offset);
194
+ })
195
+ .define_method(
196
+ "_asin",
197
+ *[](const Tensor &self) {
198
+ return self.asin();
199
+ })
200
+ .define_method(
201
+ "_asin_",
202
+ *[](Tensor &self) {
203
+ return self.asin_();
204
+ })
205
+ .define_method(
206
+ "_atan",
207
+ *[](const Tensor &self) {
208
+ return self.atan();
209
+ })
210
+ .define_method(
211
+ "_atan2",
212
+ *[](const Tensor &self, const Tensor &other) {
213
+ return self.atan2(other);
214
+ })
215
+ .define_method(
216
+ "_atan2_",
217
+ *[](Tensor &self, const Tensor &other) {
218
+ return self.atan2_(other);
219
+ })
220
+ .define_method(
221
+ "_atan_",
222
+ *[](Tensor &self) {
223
+ return self.atan_();
224
+ })
225
+ .define_method(
226
+ "_backward",
227
+ *[](const Tensor &self, OptionalTensor gradient, bool keep_graph, bool create_graph) {
228
+ return self.backward(gradient, keep_graph, create_graph);
229
+ })
230
+ .define_method(
231
+ "_baddbmm",
232
+ *[](const Tensor &self, const Tensor &batch1, const Tensor &batch2, Scalar beta, Scalar alpha) {
233
+ return self.baddbmm(batch1, batch2, beta, alpha);
234
+ })
235
+ .define_method(
236
+ "_baddbmm_",
237
+ *[](Tensor &self, const Tensor &batch1, const Tensor &batch2, Scalar beta, Scalar alpha) {
238
+ return self.baddbmm_(batch1, batch2, beta, alpha);
239
+ })
240
+ .define_method(
241
+ "_bernoulli",
242
+ *[](const Tensor &self) {
243
+ return self.bernoulli();
244
+ })
245
+ .define_method(
246
+ "_bernoulli__float",
247
+ *[](Tensor &self, double p) {
248
+ return self.bernoulli_(p);
249
+ })
250
+ .define_method(
251
+ "_bernoulli__tensor",
252
+ *[](Tensor &self, const Tensor &p) {
253
+ return self.bernoulli_(p);
254
+ })
255
+ .define_method(
256
+ "_bernoulli_p",
257
+ *[](const Tensor &self, double p) {
258
+ return self.bernoulli(p);
259
+ })
260
+ .define_method(
261
+ "_bincount",
262
+ *[](const Tensor &self, OptionalTensor weights, int64_t minlength) {
263
+ return self.bincount(weights, minlength);
264
+ })
265
+ .define_method(
266
+ "_bitwise_and__scalar",
267
+ *[](Tensor &self, Scalar other) {
268
+ return self.bitwise_and_(other);
269
+ })
270
+ .define_method(
271
+ "_bitwise_and__tensor",
272
+ *[](Tensor &self, const Tensor &other) {
273
+ return self.bitwise_and_(other);
274
+ })
275
+ .define_method(
276
+ "_bitwise_and_scalar",
277
+ *[](const Tensor &self, Scalar other) {
278
+ return self.bitwise_and(other);
279
+ })
280
+ .define_method(
281
+ "_bitwise_and_tensor",
282
+ *[](const Tensor &self, const Tensor &other) {
283
+ return self.bitwise_and(other);
284
+ })
285
+ .define_method(
286
+ "_bitwise_not",
287
+ *[](const Tensor &self) {
288
+ return self.bitwise_not();
289
+ })
290
+ .define_method(
291
+ "_bitwise_not_",
292
+ *[](Tensor &self) {
293
+ return self.bitwise_not_();
294
+ })
295
+ .define_method(
296
+ "_bitwise_or__scalar",
297
+ *[](Tensor &self, Scalar other) {
298
+ return self.bitwise_or_(other);
299
+ })
300
+ .define_method(
301
+ "_bitwise_or__tensor",
302
+ *[](Tensor &self, const Tensor &other) {
303
+ return self.bitwise_or_(other);
304
+ })
305
+ .define_method(
306
+ "_bitwise_or_scalar",
307
+ *[](const Tensor &self, Scalar other) {
308
+ return self.bitwise_or(other);
309
+ })
310
+ .define_method(
311
+ "_bitwise_or_tensor",
312
+ *[](const Tensor &self, const Tensor &other) {
313
+ return self.bitwise_or(other);
314
+ })
315
+ .define_method(
316
+ "_bitwise_xor__scalar",
317
+ *[](Tensor &self, Scalar other) {
318
+ return self.bitwise_xor_(other);
319
+ })
320
+ .define_method(
321
+ "_bitwise_xor__tensor",
322
+ *[](Tensor &self, const Tensor &other) {
323
+ return self.bitwise_xor_(other);
324
+ })
325
+ .define_method(
326
+ "_bitwise_xor_scalar",
327
+ *[](const Tensor &self, Scalar other) {
328
+ return self.bitwise_xor(other);
329
+ })
330
+ .define_method(
331
+ "_bitwise_xor_tensor",
332
+ *[](const Tensor &self, const Tensor &other) {
333
+ return self.bitwise_xor(other);
334
+ })
335
+ .define_method(
336
+ "_bmm",
337
+ *[](const Tensor &self, const Tensor &mat2) {
338
+ return self.bmm(mat2);
339
+ })
340
+ .define_method(
341
+ "_cauchy_",
342
+ *[](Tensor &self, double median, double sigma) {
343
+ return self.cauchy_(median, sigma);
344
+ })
345
+ .define_method(
346
+ "_ceil",
347
+ *[](const Tensor &self) {
348
+ return self.ceil();
349
+ })
350
+ .define_method(
351
+ "_ceil_",
352
+ *[](Tensor &self) {
353
+ return self.ceil_();
354
+ })
355
+ .define_method(
356
+ "_cholesky",
357
+ *[](const Tensor &self, bool upper) {
358
+ return self.cholesky(upper);
359
+ })
360
+ .define_method(
361
+ "_cholesky_inverse",
362
+ *[](const Tensor &self, bool upper) {
363
+ return self.cholesky_inverse(upper);
364
+ })
365
+ .define_method(
366
+ "_cholesky_solve",
367
+ *[](const Tensor &self, const Tensor &input2, bool upper) {
368
+ return self.cholesky_solve(input2, upper);
369
+ })
370
+ .define_method(
371
+ "_chunk",
372
+ *[](Tensor &self, int64_t chunks, int64_t dim) {
373
+ return self.chunk(chunks, dim);
374
+ })
375
+ .define_method(
376
+ "_clamp_max",
377
+ *[](const Tensor &self, Scalar max) {
378
+ return self.clamp_max(max);
379
+ })
380
+ .define_method(
381
+ "_clamp_max_",
382
+ *[](Tensor &self, Scalar max) {
383
+ return self.clamp_max_(max);
384
+ })
385
+ .define_method(
386
+ "_clamp_min",
387
+ *[](const Tensor &self, Scalar min) {
388
+ return self.clamp_min(min);
389
+ })
390
+ .define_method(
391
+ "_clamp_min_",
392
+ *[](Tensor &self, Scalar min) {
393
+ return self.clamp_min_(min);
394
+ })
395
+ .define_method(
396
+ "_clone",
397
+ *[](const Tensor &self) {
398
+ return self.clone();
399
+ })
400
+ .define_method(
401
+ "_coalesce",
402
+ *[](const Tensor &self) {
403
+ return self.coalesce();
404
+ })
405
+ .define_method(
406
+ "_conj",
407
+ *[](const Tensor &self) {
408
+ return self.conj();
409
+ })
410
+ .define_method(
411
+ "_copy_",
412
+ *[](Tensor &self, const Tensor &src, bool non_blocking) {
413
+ return self.copy_(src, non_blocking);
414
+ })
415
+ .define_method(
416
+ "_cos",
417
+ *[](const Tensor &self) {
418
+ return self.cos();
419
+ })
420
+ .define_method(
421
+ "_cos_",
422
+ *[](Tensor &self) {
423
+ return self.cos_();
424
+ })
425
+ .define_method(
426
+ "_cosh",
427
+ *[](const Tensor &self) {
428
+ return self.cosh();
429
+ })
430
+ .define_method(
431
+ "_cosh_",
432
+ *[](Tensor &self) {
433
+ return self.cosh_();
434
+ })
435
+ .define_method(
436
+ "_cummax",
437
+ *[](const Tensor &self, int64_t dim) {
438
+ return wrap(self.cummax(dim));
439
+ })
440
+ .define_method(
441
+ "_cummin",
442
+ *[](const Tensor &self, int64_t dim) {
443
+ return wrap(self.cummin(dim));
444
+ })
445
+ .define_method(
446
+ "_cumprod",
447
+ *[](const Tensor &self, int64_t dim, OptionalScalarType dtype) {
448
+ return self.cumprod(dim, dtype);
449
+ })
450
+ .define_method(
451
+ "_cumsum",
452
+ *[](const Tensor &self, int64_t dim, OptionalScalarType dtype) {
453
+ return self.cumsum(dim, dtype);
454
+ })
455
+ .define_method(
456
+ "_data",
457
+ *[](const Tensor &self) {
458
+ return self.data();
459
+ })
460
+ .define_method(
461
+ "_dense_dim",
462
+ *[](const Tensor &self) {
463
+ return self.dense_dim();
464
+ })
465
+ .define_method(
466
+ "_dequantize",
467
+ *[](const Tensor &self) {
468
+ return self.dequantize();
469
+ })
470
+ .define_method(
471
+ "_det",
472
+ *[](const Tensor &self) {
473
+ return self.det();
474
+ })
475
+ .define_method(
476
+ "_detach",
477
+ *[](const Tensor &self) {
478
+ return self.detach();
479
+ })
480
+ .define_method(
481
+ "_detach_",
482
+ *[](Tensor &self) {
483
+ return self.detach_();
484
+ })
485
+ .define_method(
486
+ "_diag",
487
+ *[](const Tensor &self, int64_t diagonal) {
488
+ return self.diag(diagonal);
489
+ })
490
+ .define_method(
491
+ "_diag_embed",
492
+ *[](const Tensor &self, int64_t offset, int64_t dim1, int64_t dim2) {
493
+ return self.diag_embed(offset, dim1, dim2);
494
+ })
495
+ .define_method(
496
+ "_diagflat",
497
+ *[](const Tensor &self, int64_t offset) {
498
+ return self.diagflat(offset);
499
+ })
500
+ .define_method(
501
+ "_diagonal",
502
+ *[](Tensor &self, int64_t offset, int64_t dim1, int64_t dim2) {
503
+ return self.diagonal(offset, dim1, dim2);
504
+ })
505
+ .define_method(
506
+ "_digamma",
507
+ *[](const Tensor &self) {
508
+ return self.digamma();
509
+ })
510
+ .define_method(
511
+ "_digamma_",
512
+ *[](Tensor &self) {
513
+ return self.digamma_();
514
+ })
515
+ .define_method(
516
+ "_dist",
517
+ *[](const Tensor &self, const Tensor &other, Scalar p) {
518
+ return self.dist(other, p);
519
+ })
520
+ .define_method(
521
+ "_div__scalar",
522
+ *[](Tensor &self, Scalar other) {
523
+ return self.div_(other);
524
+ })
525
+ .define_method(
526
+ "_div__tensor",
527
+ *[](Tensor &self, const Tensor &other) {
528
+ return self.div_(other);
529
+ })
530
+ .define_method(
531
+ "_div_scalar",
532
+ *[](const Tensor &self, Scalar other) {
533
+ return self.div(other);
534
+ })
535
+ .define_method(
536
+ "_div_tensor",
537
+ *[](const Tensor &self, const Tensor &other) {
538
+ return self.div(other);
539
+ })
540
+ .define_method(
541
+ "_dot",
542
+ *[](const Tensor &self, const Tensor &tensor) {
543
+ return self.dot(tensor);
544
+ })
545
+ .define_method(
546
+ "_eig",
547
+ *[](const Tensor &self, bool eigenvectors) {
548
+ return wrap(self.eig(eigenvectors));
549
+ })
550
+ .define_method(
551
+ "_eq__scalar",
552
+ *[](Tensor &self, Scalar other) {
553
+ return self.eq_(other);
554
+ })
555
+ .define_method(
556
+ "_eq__tensor",
557
+ *[](Tensor &self, const Tensor &other) {
558
+ return self.eq_(other);
559
+ })
560
+ .define_method(
561
+ "_eq_scalar",
562
+ *[](const Tensor &self, Scalar other) {
563
+ return self.eq(other);
564
+ })
565
+ .define_method(
566
+ "_eq_tensor",
567
+ *[](const Tensor &self, const Tensor &other) {
568
+ return self.eq(other);
569
+ })
570
+ .define_method(
571
+ "_equal",
572
+ *[](const Tensor &self, const Tensor &other) {
573
+ return self.equal(other);
574
+ })
575
+ .define_method(
576
+ "_erf",
577
+ *[](const Tensor &self) {
578
+ return self.erf();
579
+ })
580
+ .define_method(
581
+ "_erf_",
582
+ *[](Tensor &self) {
583
+ return self.erf_();
584
+ })
585
+ .define_method(
586
+ "_erfc",
587
+ *[](const Tensor &self) {
588
+ return self.erfc();
589
+ })
590
+ .define_method(
591
+ "_erfc_",
592
+ *[](Tensor &self) {
593
+ return self.erfc_();
594
+ })
595
+ .define_method(
596
+ "_erfinv",
597
+ *[](const Tensor &self) {
598
+ return self.erfinv();
599
+ })
600
+ .define_method(
601
+ "_erfinv_",
602
+ *[](Tensor &self) {
603
+ return self.erfinv_();
604
+ })
605
+ .define_method(
606
+ "_exp",
607
+ *[](const Tensor &self) {
608
+ return self.exp();
609
+ })
610
+ .define_method(
611
+ "_exp_",
612
+ *[](Tensor &self) {
613
+ return self.exp_();
614
+ })
615
+ .define_method(
616
+ "_expand",
617
+ *[](Tensor &self, IntArrayRef size, bool implicit) {
618
+ return self.expand(size, implicit);
619
+ })
620
+ .define_method(
621
+ "_expand_as",
622
+ *[](const Tensor &self, const Tensor &other) {
623
+ return self.expand_as(other);
624
+ })
625
+ .define_method(
626
+ "_expm1",
627
+ *[](const Tensor &self) {
628
+ return self.expm1();
629
+ })
630
+ .define_method(
631
+ "_expm1_",
632
+ *[](Tensor &self) {
633
+ return self.expm1_();
634
+ })
635
+ .define_method(
636
+ "_exponential_",
637
+ *[](Tensor &self, double lambd) {
638
+ return self.exponential_(lambd);
639
+ })
640
+ .define_method(
641
+ "_fft",
642
+ *[](const Tensor &self, int64_t signal_ndim, bool normalized) {
643
+ return self.fft(signal_ndim, normalized);
644
+ })
645
+ .define_method(
646
+ "_fill__scalar",
647
+ *[](Tensor &self, Scalar value) {
648
+ return self.fill_(value);
649
+ })
650
+ .define_method(
651
+ "_fill__tensor",
652
+ *[](Tensor &self, const Tensor &value) {
653
+ return self.fill_(value);
654
+ })
655
+ .define_method(
656
+ "_fill_diagonal_",
657
+ *[](Tensor &self, Scalar fill_value, bool wrap) {
658
+ return self.fill_diagonal_(fill_value, wrap);
659
+ })
660
+ .define_method(
661
+ "_flatten_using_ints",
662
+ *[](const Tensor &self, int64_t start_dim, int64_t end_dim) {
663
+ return self.flatten(start_dim, end_dim);
664
+ })
665
+ .define_method(
666
+ "_flip",
667
+ *[](const Tensor &self, IntArrayRef dims) {
668
+ return self.flip(dims);
669
+ })
670
+ .define_method(
671
+ "_floor",
672
+ *[](const Tensor &self) {
673
+ return self.floor();
674
+ })
675
+ .define_method(
676
+ "_floor_",
677
+ *[](Tensor &self) {
678
+ return self.floor_();
679
+ })
680
+ .define_method(
681
+ "_floor_divide",
682
+ *[](const Tensor &self, const Tensor &other) {
683
+ return self.floor_divide(other);
684
+ })
685
+ .define_method(
686
+ "_floor_divide__scalar",
687
+ *[](Tensor &self, Scalar other) {
688
+ return self.floor_divide_(other);
689
+ })
690
+ .define_method(
691
+ "_floor_divide__tensor",
692
+ *[](Tensor &self, const Tensor &other) {
693
+ return self.floor_divide_(other);
694
+ })
695
+ .define_method(
696
+ "_floor_divide_scalar",
697
+ *[](const Tensor &self, Scalar other) {
698
+ return self.floor_divide(other);
699
+ })
700
+ .define_method(
701
+ "_fmod__scalar",
702
+ *[](Tensor &self, Scalar other) {
703
+ return self.fmod_(other);
704
+ })
705
+ .define_method(
706
+ "_fmod__tensor",
707
+ *[](Tensor &self, const Tensor &other) {
708
+ return self.fmod_(other);
709
+ })
710
+ .define_method(
711
+ "_fmod_scalar",
712
+ *[](const Tensor &self, Scalar other) {
713
+ return self.fmod(other);
714
+ })
715
+ .define_method(
716
+ "_fmod_tensor",
717
+ *[](const Tensor &self, const Tensor &other) {
718
+ return self.fmod(other);
719
+ })
720
+ .define_method(
721
+ "_frac",
722
+ *[](const Tensor &self) {
723
+ return self.frac();
724
+ })
725
+ .define_method(
726
+ "_frac_",
727
+ *[](Tensor &self) {
728
+ return self.frac_();
729
+ })
730
+ .define_method(
731
+ "_gather",
732
+ *[](const Tensor &self, int64_t dim, const Tensor &index, bool sparse_grad) {
733
+ return self.gather(dim, index, sparse_grad);
734
+ })
735
+ .define_method(
736
+ "_ge__scalar",
737
+ *[](Tensor &self, Scalar other) {
738
+ return self.ge_(other);
739
+ })
740
+ .define_method(
741
+ "_ge__tensor",
742
+ *[](Tensor &self, const Tensor &other) {
743
+ return self.ge_(other);
744
+ })
745
+ .define_method(
746
+ "_ge_scalar",
747
+ *[](const Tensor &self, Scalar other) {
748
+ return self.ge(other);
749
+ })
750
+ .define_method(
751
+ "_ge_tensor",
752
+ *[](const Tensor &self, const Tensor &other) {
753
+ return self.ge(other);
754
+ })
755
+ .define_method(
756
+ "_geometric_",
757
+ *[](Tensor &self, double p) {
758
+ return self.geometric_(p);
759
+ })
760
+ .define_method(
761
+ "_geqrf",
762
+ *[](const Tensor &self) {
763
+ return wrap(self.geqrf());
764
+ })
765
+ .define_method(
766
+ "_ger",
767
+ *[](const Tensor &self, const Tensor &vec2) {
768
+ return self.ger(vec2);
769
+ })
770
+ .define_method(
771
+ "_gt__scalar",
772
+ *[](Tensor &self, Scalar other) {
773
+ return self.gt_(other);
774
+ })
775
+ .define_method(
776
+ "_gt__tensor",
777
+ *[](Tensor &self, const Tensor &other) {
778
+ return self.gt_(other);
779
+ })
780
+ .define_method(
781
+ "_gt_scalar",
782
+ *[](const Tensor &self, Scalar other) {
783
+ return self.gt(other);
784
+ })
785
+ .define_method(
786
+ "_gt_tensor",
787
+ *[](const Tensor &self, const Tensor &other) {
788
+ return self.gt(other);
789
+ })
790
+ .define_method(
791
+ "_hardshrink",
792
+ *[](const Tensor &self, Scalar lambd) {
793
+ return self.hardshrink(lambd);
794
+ })
795
+ .define_method(
796
+ "_histc",
797
+ *[](const Tensor &self, int64_t bins, Scalar min, Scalar max) {
798
+ return self.histc(bins, min, max);
799
+ })
800
+ .define_method(
801
+ "_ifft",
802
+ *[](const Tensor &self, int64_t signal_ndim, bool normalized) {
803
+ return self.ifft(signal_ndim, normalized);
804
+ })
805
+ .define_method(
806
+ "_index_add",
807
+ *[](const Tensor &self, int64_t dim, const Tensor &index, const Tensor &source) {
808
+ return self.index_add(dim, index, source);
809
+ })
810
+ .define_method(
811
+ "_index_add_",
812
+ *[](Tensor &self, int64_t dim, const Tensor &index, const Tensor &source) {
813
+ return self.index_add_(dim, index, source);
814
+ })
815
+ .define_method(
816
+ "_index_copy",
817
+ *[](const Tensor &self, int64_t dim, const Tensor &index, const Tensor &source) {
818
+ return self.index_copy(dim, index, source);
819
+ })
820
+ .define_method(
821
+ "_index_copy_",
822
+ *[](Tensor &self, int64_t dim, const Tensor &index, const Tensor &source) {
823
+ return self.index_copy_(dim, index, source);
824
+ })
825
+ .define_method(
826
+ "_index_fill__int_scalar",
827
+ *[](Tensor &self, int64_t dim, const Tensor &index, Scalar value) {
828
+ return self.index_fill_(dim, index, value);
829
+ })
830
+ .define_method(
831
+ "_index_fill__int_tensor",
832
+ *[](Tensor &self, int64_t dim, const Tensor &index, const Tensor &value) {
833
+ return self.index_fill_(dim, index, value);
834
+ })
835
+ .define_method(
836
+ "_index_fill_int_scalar",
837
+ *[](const Tensor &self, int64_t dim, const Tensor &index, Scalar value) {
838
+ return self.index_fill(dim, index, value);
839
+ })
840
+ .define_method(
841
+ "_index_fill_int_tensor",
842
+ *[](const Tensor &self, int64_t dim, const Tensor &index, const Tensor &value) {
843
+ return self.index_fill(dim, index, value);
844
+ })
845
+ .define_method(
846
+ "_index_select",
847
+ *[](const Tensor &self, int64_t dim, const Tensor &index) {
848
+ return self.index_select(dim, index);
849
+ })
850
+ .define_method(
851
+ "_indices",
852
+ *[](Tensor &self) {
853
+ return self.indices();
854
+ })
855
+ .define_method(
856
+ "_int_repr",
857
+ *[](const Tensor &self) {
858
+ return self.int_repr();
859
+ })
860
+ .define_method(
861
+ "_inverse",
862
+ *[](const Tensor &self) {
863
+ return self.inverse();
864
+ })
865
+ .define_method(
866
+ "_irfft",
867
+ *[](const Tensor &self, int64_t signal_ndim, bool normalized, bool onesided, IntArrayRef signal_sizes) {
868
+ return self.irfft(signal_ndim, normalized, onesided, signal_sizes);
869
+ })
870
+ .define_method(
871
+ "_is_coalesced",
872
+ *[](const Tensor &self) {
873
+ return self.is_coalesced();
874
+ })
875
+ .define_method(
876
+ "_is_complex",
877
+ *[](const Tensor &self) {
878
+ return self.is_complex();
879
+ })
880
+ .define_method(
881
+ "_is_distributed",
882
+ *[](const Tensor &self) {
883
+ return self.is_distributed();
884
+ })
885
+ .define_method(
886
+ "_is_floating_point",
887
+ *[](const Tensor &self) {
888
+ return self.is_floating_point();
889
+ })
890
+ .define_method(
891
+ "_is_leaf",
892
+ *[](const Tensor &self) {
893
+ return self.is_leaf();
894
+ })
895
+ .define_method(
896
+ "_is_nonzero",
897
+ *[](const Tensor &self) {
898
+ return self.is_nonzero();
899
+ })
900
+ .define_method(
901
+ "_is_pinned",
902
+ *[](const Tensor &self) {
903
+ return self.is_pinned();
904
+ })
905
+ .define_method(
906
+ "_is_same_size",
907
+ *[](const Tensor &self, const Tensor &other) {
908
+ return self.is_same_size(other);
909
+ })
910
+ .define_method(
911
+ "_is_set_to",
912
+ *[](const Tensor &self, const Tensor &tensor) {
913
+ return self.is_set_to(tensor);
914
+ })
915
+ .define_method(
916
+ "_is_signed",
917
+ *[](const Tensor &self) {
918
+ return self.is_signed();
919
+ })
920
+ .define_method(
921
+ "_isclose",
922
+ *[](const Tensor &self, const Tensor &other, double rtol, double atol, bool equal_nan) {
923
+ return self.isclose(other, rtol, atol, equal_nan);
924
+ })
925
+ .define_method(
926
+ "_item",
927
+ *[](const Tensor &self) {
928
+ return self.item();
929
+ })
930
+ .define_method(
931
+ "_kthvalue",
932
+ *[](const Tensor &self, int64_t k, int64_t dim, bool keepdim) {
933
+ return wrap(self.kthvalue(k, dim, keepdim));
934
+ })
935
+ .define_method(
936
+ "_le__scalar",
937
+ *[](Tensor &self, Scalar other) {
938
+ return self.le_(other);
939
+ })
940
+ .define_method(
941
+ "_le__tensor",
942
+ *[](Tensor &self, const Tensor &other) {
943
+ return self.le_(other);
944
+ })
945
+ .define_method(
946
+ "_le_scalar",
947
+ *[](const Tensor &self, Scalar other) {
948
+ return self.le(other);
949
+ })
950
+ .define_method(
951
+ "_le_tensor",
952
+ *[](const Tensor &self, const Tensor &other) {
953
+ return self.le(other);
954
+ })
955
+ .define_method(
956
+ "_lerp__scalar",
957
+ *[](Tensor &self, const Tensor &end, Scalar weight) {
958
+ return self.lerp_(end, weight);
959
+ })
960
+ .define_method(
961
+ "_lerp__tensor",
962
+ *[](Tensor &self, const Tensor &end, const Tensor &weight) {
963
+ return self.lerp_(end, weight);
964
+ })
965
+ .define_method(
966
+ "_lerp_scalar",
967
+ *[](const Tensor &self, const Tensor &end, Scalar weight) {
968
+ return self.lerp(end, weight);
969
+ })
970
+ .define_method(
971
+ "_lerp_tensor",
972
+ *[](const Tensor &self, const Tensor &end, const Tensor &weight) {
973
+ return self.lerp(end, weight);
974
+ })
975
+ .define_method(
976
+ "_lgamma",
977
+ *[](const Tensor &self) {
978
+ return self.lgamma();
979
+ })
980
+ .define_method(
981
+ "_lgamma_",
982
+ *[](Tensor &self) {
983
+ return self.lgamma_();
984
+ })
985
+ .define_method(
986
+ "_log",
987
+ *[](const Tensor &self) {
988
+ return self.log();
989
+ })
990
+ .define_method(
991
+ "_log10",
992
+ *[](const Tensor &self) {
993
+ return self.log10();
994
+ })
995
+ .define_method(
996
+ "_log10_",
997
+ *[](Tensor &self) {
998
+ return self.log10_();
999
+ })
1000
+ .define_method(
1001
+ "_log1p",
1002
+ *[](const Tensor &self) {
1003
+ return self.log1p();
1004
+ })
1005
+ .define_method(
1006
+ "_log1p_",
1007
+ *[](Tensor &self) {
1008
+ return self.log1p_();
1009
+ })
1010
+ .define_method(
1011
+ "_log2",
1012
+ *[](const Tensor &self) {
1013
+ return self.log2();
1014
+ })
1015
+ .define_method(
1016
+ "_log2_",
1017
+ *[](Tensor &self) {
1018
+ return self.log2_();
1019
+ })
1020
+ .define_method(
1021
+ "_log_",
1022
+ *[](Tensor &self) {
1023
+ return self.log_();
1024
+ })
1025
+ .define_method(
1026
+ "_log_normal_",
1027
+ *[](Tensor &self, double mean, double std) {
1028
+ return self.log_normal_(mean, std);
1029
+ })
1030
+ .define_method(
1031
+ "_log_softmax_int",
1032
+ *[](const Tensor &self, int64_t dim, OptionalScalarType dtype) {
1033
+ return self.log_softmax(dim, dtype);
1034
+ })
1035
+ .define_method(
1036
+ "_logdet",
1037
+ *[](const Tensor &self) {
1038
+ return self.logdet();
1039
+ })
1040
+ .define_method(
1041
+ "_logical_and",
1042
+ *[](const Tensor &self, const Tensor &other) {
1043
+ return self.logical_and(other);
1044
+ })
1045
+ .define_method(
1046
+ "_logical_and_",
1047
+ *[](Tensor &self, const Tensor &other) {
1048
+ return self.logical_and_(other);
1049
+ })
1050
+ .define_method(
1051
+ "_logical_not",
1052
+ *[](const Tensor &self) {
1053
+ return self.logical_not();
1054
+ })
1055
+ .define_method(
1056
+ "_logical_not_",
1057
+ *[](Tensor &self) {
1058
+ return self.logical_not_();
1059
+ })
1060
+ .define_method(
1061
+ "_logical_or",
1062
+ *[](const Tensor &self, const Tensor &other) {
1063
+ return self.logical_or(other);
1064
+ })
1065
+ .define_method(
1066
+ "_logical_or_",
1067
+ *[](Tensor &self, const Tensor &other) {
1068
+ return self.logical_or_(other);
1069
+ })
1070
+ .define_method(
1071
+ "_logical_xor",
1072
+ *[](const Tensor &self, const Tensor &other) {
1073
+ return self.logical_xor(other);
1074
+ })
1075
+ .define_method(
1076
+ "_logical_xor_",
1077
+ *[](Tensor &self, const Tensor &other) {
1078
+ return self.logical_xor_(other);
1079
+ })
1080
+ .define_method(
1081
+ "_logsumexp",
1082
+ *[](const Tensor &self, IntArrayRef dim, bool keepdim) {
1083
+ return self.logsumexp(dim, keepdim);
1084
+ })
1085
+ .define_method(
1086
+ "_lstsq",
1087
+ *[](const Tensor &self, const Tensor &A) {
1088
+ return wrap(self.lstsq(A));
1089
+ })
1090
+ .define_method(
1091
+ "_lt__scalar",
1092
+ *[](Tensor &self, Scalar other) {
1093
+ return self.lt_(other);
1094
+ })
1095
+ .define_method(
1096
+ "_lt__tensor",
1097
+ *[](Tensor &self, const Tensor &other) {
1098
+ return self.lt_(other);
1099
+ })
1100
+ .define_method(
1101
+ "_lt_scalar",
1102
+ *[](const Tensor &self, Scalar other) {
1103
+ return self.lt(other);
1104
+ })
1105
+ .define_method(
1106
+ "_lt_tensor",
1107
+ *[](const Tensor &self, const Tensor &other) {
1108
+ return self.lt(other);
1109
+ })
1110
+ .define_method(
1111
+ "_lu_solve",
1112
+ *[](const Tensor &self, const Tensor &LU_data, const Tensor &LU_pivots) {
1113
+ return self.lu_solve(LU_data, LU_pivots);
1114
+ })
1115
+ .define_method(
1116
+ "_masked_fill__scalar",
1117
+ *[](Tensor &self, const Tensor &mask, Scalar value) {
1118
+ return self.masked_fill_(mask, value);
1119
+ })
1120
+ .define_method(
1121
+ "_masked_fill__tensor",
1122
+ *[](Tensor &self, const Tensor &mask, const Tensor &value) {
1123
+ return self.masked_fill_(mask, value);
1124
+ })
1125
+ .define_method(
1126
+ "_masked_fill_scalar",
1127
+ *[](const Tensor &self, const Tensor &mask, Scalar value) {
1128
+ return self.masked_fill(mask, value);
1129
+ })
1130
+ .define_method(
1131
+ "_masked_fill_tensor",
1132
+ *[](const Tensor &self, const Tensor &mask, const Tensor &value) {
1133
+ return self.masked_fill(mask, value);
1134
+ })
1135
+ .define_method(
1136
+ "_masked_scatter",
1137
+ *[](const Tensor &self, const Tensor &mask, const Tensor &source) {
1138
+ return self.masked_scatter(mask, source);
1139
+ })
1140
+ .define_method(
1141
+ "_masked_scatter_",
1142
+ *[](Tensor &self, const Tensor &mask, const Tensor &source) {
1143
+ return self.masked_scatter_(mask, source);
1144
+ })
1145
+ .define_method(
1146
+ "_masked_select",
1147
+ *[](const Tensor &self, const Tensor &mask) {
1148
+ return self.masked_select(mask);
1149
+ })
1150
+ .define_method(
1151
+ "_matmul",
1152
+ *[](const Tensor &self, const Tensor &other) {
1153
+ return self.matmul(other);
1154
+ })
1155
+ .define_method(
1156
+ "_matrix_power",
1157
+ *[](const Tensor &self, int64_t n) {
1158
+ return self.matrix_power(n);
1159
+ })
1160
+ .define_method(
1161
+ "_max",
1162
+ *[](const Tensor &self) {
1163
+ return self.max();
1164
+ })
1165
+ .define_method(
1166
+ "_max_dim",
1167
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
1168
+ return wrap(self.max(dim, keepdim));
1169
+ })
1170
+ .define_method(
1171
+ "_max_other",
1172
+ *[](const Tensor &self, const Tensor &other) {
1173
+ return self.max(other);
1174
+ })
1175
+ .define_method(
1176
+ "_max_values",
1177
+ *[](const Tensor &self, IntArrayRef dim, bool keepdim) {
1178
+ return self.max_values(dim, keepdim);
1179
+ })
1180
+ .define_method(
1181
+ "_mean",
1182
+ *[](const Tensor &self, OptionalScalarType dtype) {
1183
+ return self.mean(dtype);
1184
+ })
1185
+ .define_method(
1186
+ "_mean_dim",
1187
+ *[](const Tensor &self, IntArrayRef dim, bool keepdim, OptionalScalarType dtype) {
1188
+ return self.mean(dim, keepdim, dtype);
1189
+ })
1190
+ .define_method(
1191
+ "_median",
1192
+ *[](const Tensor &self) {
1193
+ return self.median();
1194
+ })
1195
+ .define_method(
1196
+ "_median_dim",
1197
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
1198
+ return wrap(self.median(dim, keepdim));
1199
+ })
1200
+ .define_method(
1201
+ "_min",
1202
+ *[](const Tensor &self) {
1203
+ return self.min();
1204
+ })
1205
+ .define_method(
1206
+ "_min_dim",
1207
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
1208
+ return wrap(self.min(dim, keepdim));
1209
+ })
1210
+ .define_method(
1211
+ "_min_other",
1212
+ *[](const Tensor &self, const Tensor &other) {
1213
+ return self.min(other);
1214
+ })
1215
+ .define_method(
1216
+ "_min_values",
1217
+ *[](const Tensor &self, IntArrayRef dim, bool keepdim) {
1218
+ return self.min_values(dim, keepdim);
1219
+ })
1220
+ .define_method(
1221
+ "_mm",
1222
+ *[](const Tensor &self, const Tensor &mat2) {
1223
+ return self.mm(mat2);
1224
+ })
1225
+ .define_method(
1226
+ "_mode",
1227
+ *[](const Tensor &self, int64_t dim, bool keepdim) {
1228
+ return wrap(self.mode(dim, keepdim));
1229
+ })
1230
+ .define_method(
1231
+ "_mul__scalar",
1232
+ *[](Tensor &self, Scalar other) {
1233
+ return self.mul_(other);
1234
+ })
1235
+ .define_method(
1236
+ "_mul__tensor",
1237
+ *[](Tensor &self, const Tensor &other) {
1238
+ return self.mul_(other);
1239
+ })
1240
+ .define_method(
1241
+ "_mul_scalar",
1242
+ *[](const Tensor &self, Scalar other) {
1243
+ return self.mul(other);
1244
+ })
1245
+ .define_method(
1246
+ "_mul_tensor",
1247
+ *[](const Tensor &self, const Tensor &other) {
1248
+ return self.mul(other);
1249
+ })
1250
+ .define_method(
1251
+ "_multinomial",
1252
+ *[](const Tensor &self, int64_t num_samples, bool replacement) {
1253
+ return self.multinomial(num_samples, replacement);
1254
+ })
1255
+ .define_method(
1256
+ "_mv",
1257
+ *[](const Tensor &self, const Tensor &vec) {
1258
+ return self.mv(vec);
1259
+ })
1260
+ .define_method(
1261
+ "_mvlgamma",
1262
+ *[](const Tensor &self, int64_t p) {
1263
+ return self.mvlgamma(p);
1264
+ })
1265
+ .define_method(
1266
+ "_mvlgamma_",
1267
+ *[](Tensor &self, int64_t p) {
1268
+ return self.mvlgamma_(p);
1269
+ })
1270
+ .define_method(
1271
+ "_narrow",
1272
+ *[](Tensor &self, int64_t dim, int64_t start, int64_t length) {
1273
+ return self.narrow(dim, start, length);
1274
+ })
1275
+ .define_method(
1276
+ "_narrow_copy",
1277
+ *[](const Tensor &self, int64_t dim, int64_t start, int64_t length) {
1278
+ return self.narrow_copy(dim, start, length);
1279
+ })
1280
+ .define_method(
1281
+ "_narrow_tensor",
1282
+ *[](Tensor &self, int64_t dim, const Tensor &start, int64_t length) {
1283
+ return self.narrow(dim, start, length);
1284
+ })
1285
+ .define_method(
1286
+ "_ne__scalar",
1287
+ *[](Tensor &self, Scalar other) {
1288
+ return self.ne_(other);
1289
+ })
1290
+ .define_method(
1291
+ "_ne__tensor",
1292
+ *[](Tensor &self, const Tensor &other) {
1293
+ return self.ne_(other);
1294
+ })
1295
+ .define_method(
1296
+ "_ne_scalar",
1297
+ *[](const Tensor &self, Scalar other) {
1298
+ return self.ne(other);
1299
+ })
1300
+ .define_method(
1301
+ "_ne_tensor",
1302
+ *[](const Tensor &self, const Tensor &other) {
1303
+ return self.ne(other);
1304
+ })
1305
+ .define_method(
1306
+ "_neg",
1307
+ *[](const Tensor &self) {
1308
+ return self.neg();
1309
+ })
1310
+ .define_method(
1311
+ "_neg_",
1312
+ *[](Tensor &self) {
1313
+ return self.neg_();
1314
+ })
1315
+ .define_method(
1316
+ "_nonzero",
1317
+ *[](const Tensor &self) {
1318
+ return self.nonzero();
1319
+ })
1320
+ .define_method(
1321
+ "_nonzero_numpy",
1322
+ *[](const Tensor &self) {
1323
+ return self.nonzero_numpy();
1324
+ })
1325
+ .define_method(
1326
+ "_norm_scalar",
1327
+ *[](const Tensor &self, Scalar p) {
1328
+ return self.norm(p);
1329
+ })
1330
+ .define_method(
1331
+ "_normal_",
1332
+ *[](Tensor &self, double mean, double std) {
1333
+ return self.normal_(mean, std);
1334
+ })
1335
+ .define_method(
1336
+ "_numpy_t",
1337
+ *[](Tensor &self) {
1338
+ return self.numpy_T();
1339
+ })
1340
+ .define_method(
1341
+ "_orgqr",
1342
+ *[](const Tensor &self, const Tensor &input2) {
1343
+ return self.orgqr(input2);
1344
+ })
1345
+ .define_method(
1346
+ "_ormqr",
1347
+ *[](const Tensor &self, const Tensor &input2, const Tensor &input3, bool left, bool transpose) {
1348
+ return self.ormqr(input2, input3, left, transpose);
1349
+ })
1350
+ .define_method(
1351
+ "_output_nr",
1352
+ *[](const Tensor &self) {
1353
+ return self.output_nr();
1354
+ })
1355
+ .define_method(
1356
+ "_permute",
1357
+ *[](Tensor &self, IntArrayRef dims) {
1358
+ return self.permute(dims);
1359
+ })
1360
+ .define_method(
1361
+ "_pin_memory",
1362
+ *[](const Tensor &self) {
1363
+ return self.pin_memory();
1364
+ })
1365
+ .define_method(
1366
+ "_pinverse",
1367
+ *[](const Tensor &self, double rcond) {
1368
+ return self.pinverse(rcond);
1369
+ })
1370
+ .define_method(
1371
+ "_polygamma",
1372
+ *[](int64_t n, const Tensor &self) {
1373
+ return self.polygamma(n);
1374
+ })
1375
+ .define_method(
1376
+ "_polygamma_",
1377
+ *[](Tensor &self, int64_t n) {
1378
+ return self.polygamma_(n);
1379
+ })
1380
+ .define_method(
1381
+ "_pow__scalar",
1382
+ *[](Tensor &self, Scalar exponent) {
1383
+ return self.pow_(exponent);
1384
+ })
1385
+ .define_method(
1386
+ "_pow__tensor",
1387
+ *[](Tensor &self, const Tensor &exponent) {
1388
+ return self.pow_(exponent);
1389
+ })
1390
+ .define_method(
1391
+ "_pow_tensor_scalar",
1392
+ *[](const Tensor &self, Scalar exponent) {
1393
+ return self.pow(exponent);
1394
+ })
1395
+ .define_method(
1396
+ "_pow_tensor_tensor",
1397
+ *[](const Tensor &self, const Tensor &exponent) {
1398
+ return self.pow(exponent);
1399
+ })
1400
+ .define_method(
1401
+ "_prelu",
1402
+ *[](const Tensor &self, const Tensor &weight) {
1403
+ return self.prelu(weight);
1404
+ })
1405
+ .define_method(
1406
+ "_prod",
1407
+ *[](const Tensor &self, OptionalScalarType dtype) {
1408
+ return self.prod(dtype);
1409
+ })
1410
+ .define_method(
1411
+ "_prod_dim_int",
1412
+ *[](const Tensor &self, int64_t dim, bool keepdim, OptionalScalarType dtype) {
1413
+ return self.prod(dim, keepdim, dtype);
1414
+ })
1415
+ .define_method(
1416
+ "_put_",
1417
+ *[](Tensor &self, const Tensor &index, const Tensor &source, bool accumulate) {
1418
+ return self.put_(index, source, accumulate);
1419
+ })
1420
+ .define_method(
1421
+ "_q_per_channel_axis",
1422
+ *[](const Tensor &self) {
1423
+ return self.q_per_channel_axis();
1424
+ })
1425
+ .define_method(
1426
+ "_q_per_channel_scales",
1427
+ *[](const Tensor &self) {
1428
+ return self.q_per_channel_scales();
1429
+ })
1430
+ .define_method(
1431
+ "_q_per_channel_zero_points",
1432
+ *[](const Tensor &self) {
1433
+ return self.q_per_channel_zero_points();
1434
+ })
1435
+ .define_method(
1436
+ "_q_scale",
1437
+ *[](const Tensor &self) {
1438
+ return self.q_scale();
1439
+ })
1440
+ .define_method(
1441
+ "_q_zero_point",
1442
+ *[](const Tensor &self) {
1443
+ return self.q_zero_point();
1444
+ })
1445
+ .define_method(
1446
+ "_qr",
1447
+ *[](const Tensor &self, bool some) {
1448
+ return wrap(self.qr(some));
1449
+ })
1450
+ .define_method(
1451
+ "_qscheme",
1452
+ *[](const Tensor &self) {
1453
+ return self.qscheme();
1454
+ })
1455
+ .define_method(
1456
+ "_random_",
1457
+ *[](Tensor &self) {
1458
+ return self.random_();
1459
+ })
1460
+ .define_method(
1461
+ "_random__from",
1462
+ *[](Tensor &self, int64_t from) {
1463
+ return self.random_(from);
1464
+ })
1465
+ .define_method(
1466
+ "_random__from_to",
1467
+ *[](Tensor &self, int64_t from, int64_t to) {
1468
+ return self.random_(from, to);
1469
+ })
1470
+ .define_method(
1471
+ "_random__to",
1472
+ *[](Tensor &self, int64_t to) {
1473
+ return self.random_(to);
1474
+ })
1475
+ .define_method(
1476
+ "_reciprocal",
1477
+ *[](const Tensor &self) {
1478
+ return self.reciprocal();
1479
+ })
1480
+ .define_method(
1481
+ "_reciprocal_",
1482
+ *[](Tensor &self) {
1483
+ return self.reciprocal_();
1484
+ })
1485
+ .define_method(
1486
+ "_relu",
1487
+ *[](const Tensor &self) {
1488
+ return self.relu();
1489
+ })
1490
+ .define_method(
1491
+ "_relu_",
1492
+ *[](Tensor &self) {
1493
+ return self.relu_();
1494
+ })
1495
+ .define_method(
1496
+ "_remainder__scalar",
1497
+ *[](Tensor &self, Scalar other) {
1498
+ return self.remainder_(other);
1499
+ })
1500
+ .define_method(
1501
+ "_remainder__tensor",
1502
+ *[](Tensor &self, const Tensor &other) {
1503
+ return self.remainder_(other);
1504
+ })
1505
+ .define_method(
1506
+ "_remainder_scalar",
1507
+ *[](const Tensor &self, Scalar other) {
1508
+ return self.remainder(other);
1509
+ })
1510
+ .define_method(
1511
+ "_remainder_tensor",
1512
+ *[](const Tensor &self, const Tensor &other) {
1513
+ return self.remainder(other);
1514
+ })
1515
+ .define_method(
1516
+ "_renorm",
1517
+ *[](const Tensor &self, Scalar p, int64_t dim, Scalar maxnorm) {
1518
+ return self.renorm(p, dim, maxnorm);
1519
+ })
1520
+ .define_method(
1521
+ "_renorm_",
1522
+ *[](Tensor &self, Scalar p, int64_t dim, Scalar maxnorm) {
1523
+ return self.renorm_(p, dim, maxnorm);
1524
+ })
1525
+ .define_method(
1526
+ "_repeat",
1527
+ *[](const Tensor &self, IntArrayRef repeats) {
1528
+ return self.repeat(repeats);
1529
+ })
1530
+ .define_method(
1531
+ "_repeat_interleave_self_int",
1532
+ *[](const Tensor &self, int64_t repeats) {
1533
+ return self.repeat_interleave(repeats);
1534
+ })
1535
+ .define_method(
1536
+ "_repeat_interleave_self_int_dim",
1537
+ *[](const Tensor &self, int64_t repeats, int64_t dim) {
1538
+ return self.repeat_interleave(repeats, dim);
1539
+ })
1540
+ .define_method(
1541
+ "_repeat_interleave_self_tensor",
1542
+ *[](const Tensor &self, const Tensor &repeats) {
1543
+ return self.repeat_interleave(repeats);
1544
+ })
1545
+ .define_method(
1546
+ "_repeat_interleave_self_tensor_dim",
1547
+ *[](const Tensor &self, const Tensor &repeats, int64_t dim) {
1548
+ return self.repeat_interleave(repeats, dim);
1549
+ })
1550
+ .define_method(
1551
+ "_requires_grad_",
1552
+ *[](Tensor &self, bool _requires_grad) {
1553
+ return self.requires_grad_(_requires_grad);
1554
+ })
1555
+ .define_method(
1556
+ "_reshape",
1557
+ *[](const Tensor &self, IntArrayRef shape) {
1558
+ return self.reshape(shape);
1559
+ })
1560
+ .define_method(
1561
+ "_reshape_as",
1562
+ *[](const Tensor &self, const Tensor &other) {
1563
+ return self.reshape_as(other);
1564
+ })
1565
+ .define_method(
1566
+ "_resize_",
1567
+ *[](Tensor &self, IntArrayRef size) {
1568
+ return self.resize_(size);
1569
+ })
1570
+ .define_method(
1571
+ "_resize_as_",
1572
+ *[](Tensor &self, const Tensor &the_template) {
1573
+ return self.resize_as_(the_template);
1574
+ })
1575
+ .define_method(
1576
+ "_retain_grad",
1577
+ *[](Tensor &self) {
1578
+ return self.retain_grad();
1579
+ })
1580
+ .define_method(
1581
+ "_rfft",
1582
+ *[](const Tensor &self, int64_t signal_ndim, bool normalized, bool onesided) {
1583
+ return self.rfft(signal_ndim, normalized, onesided);
1584
+ })
1585
+ .define_method(
1586
+ "_roll",
1587
+ *[](const Tensor &self, IntArrayRef shifts, IntArrayRef dims) {
1588
+ return self.roll(shifts, dims);
1589
+ })
1590
+ .define_method(
1591
+ "_rot90",
1592
+ *[](const Tensor &self, int64_t k, IntArrayRef dims) {
1593
+ return self.rot90(k, dims);
1594
+ })
1595
+ .define_method(
1596
+ "_round",
1597
+ *[](const Tensor &self) {
1598
+ return self.round();
1599
+ })
1600
+ .define_method(
1601
+ "_round_",
1602
+ *[](Tensor &self) {
1603
+ return self.round_();
1604
+ })
1605
+ .define_method(
1606
+ "_rsqrt",
1607
+ *[](const Tensor &self) {
1608
+ return self.rsqrt();
1609
+ })
1610
+ .define_method(
1611
+ "_rsqrt_",
1612
+ *[](Tensor &self) {
1613
+ return self.rsqrt_();
1614
+ })
1615
+ .define_method(
1616
+ "_scatter__src",
1617
+ *[](Tensor &self, int64_t dim, const Tensor &index, const Tensor &src) {
1618
+ return self.scatter_(dim, index, src);
1619
+ })
1620
+ .define_method(
1621
+ "_scatter__value",
1622
+ *[](Tensor &self, int64_t dim, const Tensor &index, Scalar value) {
1623
+ return self.scatter_(dim, index, value);
1624
+ })
1625
+ .define_method(
1626
+ "_scatter_add",
1627
+ *[](const Tensor &self, int64_t dim, const Tensor &index, const Tensor &src) {
1628
+ return self.scatter_add(dim, index, src);
1629
+ })
1630
+ .define_method(
1631
+ "_scatter_add_",
1632
+ *[](Tensor &self, int64_t dim, const Tensor &index, const Tensor &src) {
1633
+ return self.scatter_add_(dim, index, src);
1634
+ })
1635
+ .define_method(
1636
+ "_scatter_src",
1637
+ *[](const Tensor &self, int64_t dim, const Tensor &index, const Tensor &src) {
1638
+ return self.scatter(dim, index, src);
1639
+ })
1640
+ .define_method(
1641
+ "_scatter_value",
1642
+ *[](const Tensor &self, int64_t dim, const Tensor &index, Scalar value) {
1643
+ return self.scatter(dim, index, value);
1644
+ })
1645
+ .define_method(
1646
+ "_select_int",
1647
+ *[](Tensor &self, int64_t dim, int64_t index) {
1648
+ return self.select(dim, index);
1649
+ })
1650
+ .define_method(
1651
+ "_set_",
1652
+ *[](Tensor &self) {
1653
+ return self.set_();
1654
+ })
1655
+ .define_method(
1656
+ "_set__source_tensor",
1657
+ *[](Tensor &self, const Tensor &source) {
1658
+ return self.set_(source);
1659
+ })
1660
+ .define_method(
1661
+ "_set_data",
1662
+ *[](Tensor &self, const Tensor &new_data) {
1663
+ return self.set_data(new_data);
1664
+ })
1665
+ .define_method(
1666
+ "_sigmoid",
1667
+ *[](const Tensor &self) {
1668
+ return self.sigmoid();
1669
+ })
1670
+ .define_method(
1671
+ "_sigmoid_",
1672
+ *[](Tensor &self) {
1673
+ return self.sigmoid_();
1674
+ })
1675
+ .define_method(
1676
+ "_sign",
1677
+ *[](const Tensor &self) {
1678
+ return self.sign();
1679
+ })
1680
+ .define_method(
1681
+ "_sign_",
1682
+ *[](Tensor &self) {
1683
+ return self.sign_();
1684
+ })
1685
+ .define_method(
1686
+ "_sin",
1687
+ *[](const Tensor &self) {
1688
+ return self.sin();
1689
+ })
1690
+ .define_method(
1691
+ "_sin_",
1692
+ *[](Tensor &self) {
1693
+ return self.sin_();
1694
+ })
1695
+ .define_method(
1696
+ "_sinh",
1697
+ *[](const Tensor &self) {
1698
+ return self.sinh();
1699
+ })
1700
+ .define_method(
1701
+ "_sinh_",
1702
+ *[](Tensor &self) {
1703
+ return self.sinh_();
1704
+ })
1705
+ .define_method(
1706
+ "_size_int",
1707
+ *[](const Tensor &self, int64_t dim) {
1708
+ return self.size(dim);
1709
+ })
1710
+ .define_method(
1711
+ "_slice_tensor",
1712
+ *[](Tensor &self, int64_t dim, int64_t start, int64_t end, int64_t step) {
1713
+ return self.slice(dim, start, end, step);
1714
+ })
1715
+ .define_method(
1716
+ "_slogdet",
1717
+ *[](const Tensor &self) {
1718
+ return wrap(self.slogdet());
1719
+ })
1720
+ .define_method(
1721
+ "_smm",
1722
+ *[](const Tensor &self, const Tensor &mat2) {
1723
+ return self.smm(mat2);
1724
+ })
1725
+ .define_method(
1726
+ "_softmax_int",
1727
+ *[](const Tensor &self, int64_t dim, OptionalScalarType dtype) {
1728
+ return self.softmax(dim, dtype);
1729
+ })
1730
+ .define_method(
1731
+ "_solve",
1732
+ *[](const Tensor &self, const Tensor &A) {
1733
+ return wrap(self.solve(A));
1734
+ })
1735
+ .define_method(
1736
+ "_sort",
1737
+ *[](const Tensor &self, int64_t dim, bool descending) {
1738
+ return wrap(self.sort(dim, descending));
1739
+ })
1740
+ .define_method(
1741
+ "_sparse_dim",
1742
+ *[](const Tensor &self) {
1743
+ return self.sparse_dim();
1744
+ })
1745
+ .define_method(
1746
+ "_sparse_mask",
1747
+ *[](const Tensor &self, const Tensor &mask) {
1748
+ return self.sparse_mask(mask);
1749
+ })
1750
+ .define_method(
1751
+ "_sparse_resize_",
1752
+ *[](Tensor &self, IntArrayRef size, int64_t sparse_dim, int64_t dense_dim) {
1753
+ return self.sparse_resize_(size, sparse_dim, dense_dim);
1754
+ })
1755
+ .define_method(
1756
+ "_sparse_resize_and_clear_",
1757
+ *[](Tensor &self, IntArrayRef size, int64_t sparse_dim, int64_t dense_dim) {
1758
+ return self.sparse_resize_and_clear_(size, sparse_dim, dense_dim);
1759
+ })
1760
+ .define_method(
1761
+ "_split_tensor",
1762
+ *[](Tensor &self, int64_t split_size, int64_t dim) {
1763
+ return self.split(split_size, dim);
1764
+ })
1765
+ .define_method(
1766
+ "_split_with_sizes",
1767
+ *[](const Tensor &self, IntArrayRef split_sizes, int64_t dim) {
1768
+ return self.split_with_sizes(split_sizes, dim);
1769
+ })
1770
+ .define_method(
1771
+ "_sqrt",
1772
+ *[](const Tensor &self) {
1773
+ return self.sqrt();
1774
+ })
1775
+ .define_method(
1776
+ "_sqrt_",
1777
+ *[](Tensor &self) {
1778
+ return self.sqrt_();
1779
+ })
1780
+ .define_method(
1781
+ "_square",
1782
+ *[](const Tensor &self) {
1783
+ return self.square();
1784
+ })
1785
+ .define_method(
1786
+ "_square_",
1787
+ *[](Tensor &self) {
1788
+ return self.square_();
1789
+ })
1790
+ .define_method(
1791
+ "_squeeze",
1792
+ *[](Tensor &self) {
1793
+ return self.squeeze();
1794
+ })
1795
+ .define_method(
1796
+ "_squeeze_",
1797
+ *[](Tensor &self) {
1798
+ return self.squeeze_();
1799
+ })
1800
+ .define_method(
1801
+ "_squeeze__dim",
1802
+ *[](Tensor &self, int64_t dim) {
1803
+ return self.squeeze_(dim);
1804
+ })
1805
+ .define_method(
1806
+ "_squeeze_dim",
1807
+ *[](Tensor &self, int64_t dim) {
1808
+ return self.squeeze(dim);
1809
+ })
1810
+ .define_method(
1811
+ "_sspaddmm",
1812
+ *[](const Tensor &self, const Tensor &mat1, const Tensor &mat2, Scalar beta, Scalar alpha) {
1813
+ return self.sspaddmm(mat1, mat2, beta, alpha);
1814
+ })
1815
+ .define_method(
1816
+ "_std",
1817
+ *[](const Tensor &self, bool unbiased) {
1818
+ return self.std(unbiased);
1819
+ })
1820
+ .define_method(
1821
+ "_std_dim",
1822
+ *[](const Tensor &self, IntArrayRef dim, bool unbiased, bool keepdim) {
1823
+ return self.std(dim, unbiased, keepdim);
1824
+ })
1825
+ .define_method(
1826
+ "_stride_int",
1827
+ *[](const Tensor &self, int64_t dim) {
1828
+ return self.stride(dim);
1829
+ })
1830
+ .define_method(
1831
+ "_sub__scalar",
1832
+ *[](Tensor &self, Scalar other, Scalar alpha) {
1833
+ return self.sub_(other, alpha);
1834
+ })
1835
+ .define_method(
1836
+ "_sub__tensor",
1837
+ *[](Tensor &self, const Tensor &other, Scalar alpha) {
1838
+ return self.sub_(other, alpha);
1839
+ })
1840
+ .define_method(
1841
+ "_sub_scalar",
1842
+ *[](const Tensor &self, Scalar other, Scalar alpha) {
1843
+ return self.sub(other, alpha);
1844
+ })
1845
+ .define_method(
1846
+ "_sub_tensor",
1847
+ *[](const Tensor &self, const Tensor &other, Scalar alpha) {
1848
+ return self.sub(other, alpha);
1849
+ })
1850
+ .define_method(
1851
+ "_sum",
1852
+ *[](const Tensor &self, OptionalScalarType dtype) {
1853
+ return self.sum(dtype);
1854
+ })
1855
+ .define_method(
1856
+ "_sum_dim_intlist",
1857
+ *[](const Tensor &self, IntArrayRef dim, bool keepdim, OptionalScalarType dtype) {
1858
+ return self.sum(dim, keepdim, dtype);
1859
+ })
1860
+ .define_method(
1861
+ "_sum_to_size",
1862
+ *[](const Tensor &self, IntArrayRef size) {
1863
+ return self.sum_to_size(size);
1864
+ })
1865
+ .define_method(
1866
+ "_svd",
1867
+ *[](const Tensor &self, bool some, bool compute_uv) {
1868
+ return wrap(self.svd(some, compute_uv));
1869
+ })
1870
+ .define_method(
1871
+ "_symeig",
1872
+ *[](const Tensor &self, bool eigenvectors, bool upper) {
1873
+ return wrap(self.symeig(eigenvectors, upper));
1874
+ })
1875
+ .define_method(
1876
+ "_t",
1877
+ *[](Tensor &self) {
1878
+ return self.t();
1879
+ })
1880
+ .define_method(
1881
+ "_t_",
1882
+ *[](Tensor &self) {
1883
+ return self.t_();
1884
+ })
1885
+ .define_method(
1886
+ "_take",
1887
+ *[](const Tensor &self, const Tensor &index) {
1888
+ return self.take(index);
1889
+ })
1890
+ .define_method(
1891
+ "_tan",
1892
+ *[](const Tensor &self) {
1893
+ return self.tan();
1894
+ })
1895
+ .define_method(
1896
+ "_tan_",
1897
+ *[](Tensor &self) {
1898
+ return self.tan_();
1899
+ })
1900
+ .define_method(
1901
+ "_tanh",
1902
+ *[](const Tensor &self) {
1903
+ return self.tanh();
1904
+ })
1905
+ .define_method(
1906
+ "_tanh_",
1907
+ *[](Tensor &self) {
1908
+ return self.tanh_();
1909
+ })
1910
+ .define_method(
1911
+ "_to_dense",
1912
+ *[](const Tensor &self) {
1913
+ return self.to_dense();
1914
+ })
1915
+ .define_method(
1916
+ "_to_device",
1917
+ *[](const Tensor &self, Device device, ScalarType dtype, bool non_blocking, bool copy) {
1918
+ return self.to(device, dtype, non_blocking, copy);
1919
+ })
1920
+ .define_method(
1921
+ "_to_dtype",
1922
+ *[](const Tensor &self, ScalarType dtype, bool non_blocking, bool copy) {
1923
+ return self.to(dtype, non_blocking, copy);
1924
+ })
1925
+ .define_method(
1926
+ "_to_mkldnn",
1927
+ *[](const Tensor &self) {
1928
+ return self.to_mkldnn();
1929
+ })
1930
+ .define_method(
1931
+ "_to_other",
1932
+ *[](const Tensor &self, const Tensor &other, bool non_blocking, bool copy) {
1933
+ return self.to(other, non_blocking, copy);
1934
+ })
1935
+ .define_method(
1936
+ "_to_sparse",
1937
+ *[](const Tensor &self) {
1938
+ return self.to_sparse();
1939
+ })
1940
+ .define_method(
1941
+ "_to_sparse_sparse_dim",
1942
+ *[](const Tensor &self, int64_t sparse_dim) {
1943
+ return self.to_sparse(sparse_dim);
1944
+ })
1945
+ .define_method(
1946
+ "_topk",
1947
+ *[](const Tensor &self, int64_t k, int64_t dim, bool largest, bool sorted) {
1948
+ return wrap(self.topk(k, dim, largest, sorted));
1949
+ })
1950
+ .define_method(
1951
+ "_trace",
1952
+ *[](const Tensor &self) {
1953
+ return self.trace();
1954
+ })
1955
+ .define_method(
1956
+ "_transpose_",
1957
+ *[](Tensor &self, int64_t dim0, int64_t dim1) {
1958
+ return self.transpose_(dim0, dim1);
1959
+ })
1960
+ .define_method(
1961
+ "_transpose_int",
1962
+ *[](Tensor &self, int64_t dim0, int64_t dim1) {
1963
+ return self.transpose(dim0, dim1);
1964
+ })
1965
+ .define_method(
1966
+ "_triangular_solve",
1967
+ *[](const Tensor &self, const Tensor &A, bool upper, bool transpose, bool unitriangular) {
1968
+ return wrap(self.triangular_solve(A, upper, transpose, unitriangular));
1969
+ })
1970
+ .define_method(
1971
+ "_tril",
1972
+ *[](const Tensor &self, int64_t diagonal) {
1973
+ return self.tril(diagonal);
1974
+ })
1975
+ .define_method(
1976
+ "_tril_",
1977
+ *[](Tensor &self, int64_t diagonal) {
1978
+ return self.tril_(diagonal);
1979
+ })
1980
+ .define_method(
1981
+ "_triu",
1982
+ *[](const Tensor &self, int64_t diagonal) {
1983
+ return self.triu(diagonal);
1984
+ })
1985
+ .define_method(
1986
+ "_triu_",
1987
+ *[](Tensor &self, int64_t diagonal) {
1988
+ return self.triu_(diagonal);
1989
+ })
1990
+ .define_method(
1991
+ "_true_divide__scalar",
1992
+ *[](Tensor &self, Scalar other) {
1993
+ return self.true_divide_(other);
1994
+ })
1995
+ .define_method(
1996
+ "_true_divide__tensor",
1997
+ *[](Tensor &self, const Tensor &other) {
1998
+ return self.true_divide_(other);
1999
+ })
2000
+ .define_method(
2001
+ "_true_divide_scalar",
2002
+ *[](const Tensor &self, Scalar other) {
2003
+ return self.true_divide(other);
2004
+ })
2005
+ .define_method(
2006
+ "_true_divide_tensor",
2007
+ *[](const Tensor &self, const Tensor &other) {
2008
+ return self.true_divide(other);
2009
+ })
2010
+ .define_method(
2011
+ "_trunc",
2012
+ *[](const Tensor &self) {
2013
+ return self.trunc();
2014
+ })
2015
+ .define_method(
2016
+ "_trunc_",
2017
+ *[](Tensor &self) {
2018
+ return self.trunc_();
2019
+ })
2020
+ .define_method(
2021
+ "_type_as",
2022
+ *[](const Tensor &self, const Tensor &other) {
2023
+ return self.type_as(other);
2024
+ })
2025
+ .define_method(
2026
+ "_unbind_int",
2027
+ *[](Tensor &self, int64_t dim) {
2028
+ return self.unbind(dim);
2029
+ })
2030
+ .define_method(
2031
+ "_unfold",
2032
+ *[](Tensor &self, int64_t dimension, int64_t size, int64_t step) {
2033
+ return self.unfold(dimension, size, step);
2034
+ })
2035
+ .define_method(
2036
+ "_uniform_",
2037
+ *[](Tensor &self, double from, double to) {
2038
+ return self.uniform_(from, to);
2039
+ })
2040
+ .define_method(
2041
+ "_unsqueeze",
2042
+ *[](Tensor &self, int64_t dim) {
2043
+ return self.unsqueeze(dim);
2044
+ })
2045
+ .define_method(
2046
+ "_unsqueeze_",
2047
+ *[](Tensor &self, int64_t dim) {
2048
+ return self.unsqueeze_(dim);
2049
+ })
2050
+ .define_method(
2051
+ "_values",
2052
+ *[](Tensor &self) {
2053
+ return self.values();
2054
+ })
2055
+ .define_method(
2056
+ "_var",
2057
+ *[](const Tensor &self, bool unbiased) {
2058
+ return self.var(unbiased);
2059
+ })
2060
+ .define_method(
2061
+ "_var_dim",
2062
+ *[](const Tensor &self, IntArrayRef dim, bool unbiased, bool keepdim) {
2063
+ return self.var(dim, unbiased, keepdim);
2064
+ })
2065
+ .define_method(
2066
+ "_view",
2067
+ *[](Tensor &self, IntArrayRef size) {
2068
+ return self.view(size);
2069
+ })
2070
+ .define_method(
2071
+ "_view_as",
2072
+ *[](const Tensor &self, const Tensor &other) {
2073
+ return self.view_as(other);
2074
+ })
2075
+ .define_method(
2076
+ "_where_self",
2077
+ *[](const Tensor &condition, const Tensor &self, const Tensor &other) {
2078
+ return self.where(condition, other);
2079
+ })
2080
+ .define_method(
2081
+ "_zero_",
2082
+ *[](Tensor &self) {
2083
+ return self.zero_();
2084
+ });
2085
+ }