xref: /aosp_15_r20/external/pytorch/test/cpp_api_parity/parity-tracker.md (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1# C++ / Python API parity tracker
2
3## torch::nn
4API | Implementation Parity | Doc Parity
5------------- | ------------- | -------------
6torch::nn::Sequential|Yes|No
7torch::nn::ModuleList|Yes|No
8torch::nn::ModuleDict|No|No
9torch::nn::ParameterList|No|No
10torch::nn::ParameterDict|No|No
11torch::nn::Conv1d|Yes|No
12torch::nn::Conv2d|Yes|No
13torch::nn::Conv3d|Yes|No
14torch::nn::ConvTranspose1d|Yes|No
15torch::nn::ConvTranspose2d|Yes|No
16torch::nn::ConvTranspose3d|Yes|No
17torch::nn::Unfold|Yes|No
18torch::nn::Fold|Yes|No
19torch::nn::MaxPool1d|Yes|No
20torch::nn::MaxPool2d|Yes|No
21torch::nn::MaxPool3d|Yes|No
22torch::nn::MaxUnpool1d|Yes|No
23torch::nn::MaxUnpool2d|Yes|No
24torch::nn::MaxUnpool3d|Yes|No
25torch::nn::AvgPool1d|Yes|No
26torch::nn::AvgPool2d|Yes|No
27torch::nn::AvgPool3d|Yes|No
28torch::nn::FractionalMaxPool2d|Yes|No
29torch::nn::FractionalMaxPool3d|Yes|No
30torch::nn::LPPool1d|Yes|No
31torch::nn::LPPool2d|Yes|No
32torch::nn::LPPool3d|Yes|No
33torch::nn::AdaptiveMaxPool1d|Yes|No
34torch::nn::AdaptiveMaxPool2d|Yes|No
35torch::nn::AdaptiveMaxPool3d|Yes|No
36torch::nn::AdaptiveAvgPool1d|Yes|No
37torch::nn::AdaptiveAvgPool2d|Yes|No
38torch::nn::AdaptiveAvgPool3d|Yes|No
39torch::nn::ReflectionPad1d|Yes|No
40torch::nn::ReflectionPad2d|Yes|No
41torch::nn::ReflectionPad3d|Yes|No
42torch::nn::ReplicationPad1d|Yes|No
43torch::nn::ReplicationPad2d|Yes|No
44torch::nn::ReplicationPad3d|Yes|No
45torch::nn::ZeroPad1d|Yes|No
46torch::nn::ZeroPad2d|Yes|No
47torch::nn::ZeroPad3d|Yes|No
48torch::nn::ConstantPad1d|Yes|No
49torch::nn::ConstantPad2d|Yes|No
50torch::nn::ConstantPad3d|Yes|No
51torch::nn::ELU|Yes|No
52torch::nn::Hardshrink|Yes|No
53torch::nn::Hardtanh|Yes|No
54torch::nn::LeakyReLU|Yes|No
55torch::nn::LogSigmoid|Yes|No
56torch::nn::Mish|Yes|No
57torch::nn::MultiheadAttention|No|No
58torch::nn::PReLU|Yes|No
59torch::nn::ReLU|Yes|No
60torch::nn::ReLU6|Yes|No
61torch::nn::RReLU|Yes|No
62torch::nn::SELU|Yes|No
63torch::nn::CELU|Yes|No
64torch::nn::GELU|Yes|No
65torch::nn::SiLU|Yes|No
66torch::nn::Sigmoid|Yes|No
67torch::nn::Softplus|Yes|No
68torch::nn::Softshrink|Yes|No
69torch::nn::Softsign|Yes|No
70torch::nn::Tanh|Yes|No
71torch::nn::Tanhshrink|Yes|No
72torch::nn::Threshold|Yes|No
73torch::nn::GLU|Yes|No
74torch::nn::Softmin|Yes|No
75torch::nn::Softmax|Yes|No
76torch::nn::Softmax2d|Yes|No
77torch::nn::LogSoftmax|Yes|No
78torch::nn::AdaptiveLogSoftmaxWithLoss|Yes|No
79torch::nn::BatchNorm1d|Yes|No
80torch::nn::BatchNorm2d|Yes|No
81torch::nn::BatchNorm3d|Yes|No
82torch::nn::GroupNorm|Yes|No
83torch::nn::SyncBatchNorm|No|No
84torch::nn::InstanceNorm1d|Yes|No
85torch::nn::InstanceNorm2d|Yes|No
86torch::nn::InstanceNorm3d|Yes|No
87torch::nn::LayerNorm|Yes|No
88torch::nn::LocalResponseNorm|Yes|No
89torch::nn::CrossMapLRN2d|Yes|No
90torch::nn::RNN|Yes|No
91torch::nn::LSTM|Yes|No
92torch::nn::GRU|Yes|No
93torch::nn::RNNCell|Yes|No
94torch::nn::LSTMCell|Yes|No
95torch::nn::GRUCell|Yes|No
96torch::nn::Transformer|Yes|No
97torch::nn::TransformerEncoder|No|No
98torch::nn::TransformerDecoder|No|No
99torch::nn::TransformerEncoderLayer|Yes|No
100torch::nn::TransformerDecoderLayer|Yes|No
101torch::nn::Identity|Yes|No
102torch::nn::Linear|Yes|No
103torch::nn::Bilinear|Yes|No
104torch::nn::Flatten|Yes|No
105torch::nn::Unflatten|Yes|No
106torch::nn::Dropout|Yes|No
107torch::nn::Dropout2d|Yes|No
108torch::nn::Dropout3d|Yes|No
109torch::nn::AlphaDropout|Yes|No
110torch::nn::FeatureAlphaDropout|Yes|No
111torch::nn::Embedding|Yes|No
112torch::nn::EmbeddingBag|Yes|No
113torch::nn::CosineSimilarity|Yes|No
114torch::nn::PairwiseDistance|Yes|No
115torch::nn::L1Loss|Yes|No
116torch::nn::MSELoss|Yes|No
117torch::nn::CrossEntropyLoss|Yes|No
118torch::nn::CTCLoss|Yes|No
119torch::nn::NLLLoss|Yes|No
120torch::nn::PoissonNLLLoss|Yes|No
121torch::nn::KLDivLoss|Yes|No
122torch::nn::BCELoss|Yes|No
123torch::nn::BCEWithLogitsLoss|Yes|No
124torch::nn::MarginRankingLoss|Yes|No
125torch::nn::HingeEmbeddingLoss|Yes|No
126torch::nn::MultiLabelMarginLoss|Yes|No
127torch::nn::SmoothL1Loss|Yes|No
128torch::nn::HuberLoss|Yes|No
129torch::nn::SoftMarginLoss|Yes|No
130torch::nn::MultiLabelSoftMarginLoss|Yes|No
131torch::nn::CosineEmbeddingLoss|Yes|No
132torch::nn::MultiMarginLoss|Yes|No
133torch::nn::TripletMarginLoss|Yes|No
134torch::nn::PixelShuffle|Yes|No
135torch::nn::PixelUnshuffle|Yes|No
136torch::nn::Upsample|Yes|No
137torch::nn::DataParallel|No|No
138torch::nn::parallel::DistributedDataParallel|No|No
139torch::nn::utils::clip_grad_norm_|Yes|No
140torch::nn::utils::clip_grad_value_|Yes|No
141torch::nn::utils::parameters_to_vector|Yes|No
142torch::nn::utils::vector_to_parameters|Yes|No
143torch::nn::utils::weight_norm|No|No
144torch::nn::utils::remove_weight_norm|No|No
145torch::nn::utils::spectral_norm|No|No
146torch::nn::utils::remove_spectral_norm|No|No
147torch::nn::utils::rnn::PackedSequence|Yes|No
148torch::nn::utils::rnn::pack_padded_sequence|Yes|No
149torch::nn::utils::rnn::pad_packed_sequence|Yes|No
150torch::nn::utils::rnn::pad_sequence|Yes|No
151torch::nn::utils::rnn::pack_sequence|Yes|No
152torch::nn::SampleModule|Yes|Yes
153
154## torch::nn::functional
155
156API | Implementation Parity | Doc Parity
157------------- | ------------- | -------------
158F::conv1d|Yes|No
159F::conv2d|Yes|No
160F::conv3d|Yes|No
161F::conv_transpose1d|Yes|No
162F::conv_transpose2d|Yes|No
163F::conv_transpose3d|Yes|No
164F::unfold|Yes|No
165F::fold|Yes|No
166F::avg_pool1d|Yes|No
167F::avg_pool2d|Yes|No
168F::avg_pool3d|Yes|No
169F::max_pool1d|Yes|No
170F::max_pool2d|Yes|No
171F::max_pool3d|Yes|No
172F::max_unpool1d|Yes|No
173F::max_unpool2d|Yes|No
174F::max_unpool3d|Yes|No
175F::lp_pool1d|Yes|No
176F::lp_pool2d|Yes|No
177F::lp_pool3d|Yes|No
178F::adaptive_max_pool1d|Yes|No
179F::adaptive_max_pool2d|Yes|No
180F::adaptive_max_pool3d|Yes|No
181F::adaptive_avg_pool1d|Yes|No
182F::adaptive_avg_pool2d|Yes|No
183F::adaptive_avg_pool3d|Yes|No
184F::threshold|Yes|No
185F::relu|Yes|No
186F::hardtanh|Yes|No
187F::relu6|Yes|No
188F::elu|Yes|No
189F::selu|Yes|No
190F::celu|Yes|No
191F::leaky_relu|Yes|No
192F::prelu|Yes|No
193F::rrelu|Yes|No
194F::glu|Yes|No
195F::gelu|Yes|No
196F::silu|Yes|No
197F::mish|Yes|No
198F::logsigmoid|Yes|No
199F::hardshrink|Yes|No
200F::tanhshrink|Yes|No
201F::softsign|Yes|No
202F::softplus|Yes|No
203F::softmin|Yes|No
204F::softmax|Yes|No
205F::softshrink|Yes|No
206F::gumbel_softmax|Yes|No
207F::log_softmax|Yes|No
208F::batch_norm|Yes|No
209F::instance_norm|Yes|No
210F::layer_norm|Yes|No
211F::local_response_norm|Yes|No
212F::normalize|Yes|No
213F::linear|Yes|No
214F::bilinear|Yes|No
215F::dropout|Yes|No
216F::alpha_dropout|Yes|No
217F::dropout2d|Yes|No
218F::dropout3d|Yes|No
219F::embedding|Yes|No
220F::embedding_bag|Yes|No
221F::one_hot|Yes|No
222F::pairwise_distance|Yes|No
223F::cosine_similarity|Yes|No
224F::pdist|Yes|No
225F::binary_cross_entropy|Yes|No
226F::binary_cross_entropy_with_logits|Yes|No
227F::poisson_nll_loss|Yes|No
228F::cosine_embedding_loss|Yes|No
229F::cross_entropy|Yes|No
230F::ctc_loss|Yes|No
231F::hinge_embedding_loss|Yes|No
232F::kl_div|Yes|No
233F::l1_loss|Yes|No
234F::mse_loss|Yes|No
235F::margin_ranking_loss|Yes|No
236F::multilabel_margin_loss|Yes|No
237F::multilabel_soft_margin_loss|Yes|No
238F::multi_margin_loss|Yes|No
239F::nll_loss|Yes|No
240F::smooth_l1_loss|Yes|No
241F::huber_loss|Yes|No
242F::soft_margin_loss|Yes|No
243F::triplet_margin_loss|Yes|No
244F::pixel_shuffle|Yes|No
245F::pad|Yes|No
246F::interpolate|Yes|No
247F::grid_sample|Yes|No
248F::affine_grid|Yes|No
249F::sample_functional|Yes|No