From c551fb9fdfac70b73741e328ab465605f257f4a8 Mon Sep 17 00:00:00 2001 From: pytorchbot Date: Tue, 18 Aug 2020 18:34:31 +0000 Subject: [PATCH] auto-generating sphinx docs --- docs/stable/.buildinfo | 2 +- docs/stable/_images/add_histogram.png | Bin 48135 -> 0 bytes docs/stable/_images/add_hparam.png | Bin 64086 -> 0 bytes docs/stable/_images/add_image.png | Bin 47119 -> 0 bytes docs/stable/_images/add_images.png | Bin 76694 -> 0 bytes docs/stable/_images/add_scalar.png | Bin 45941 -> 0 bytes docs/stable/_images/add_scalars.png | Bin 99156 -> 0 bytes docs/stable/_modules/index.html | 1 - docs/stable/_modules/torch.html | 4 +- docs/stable/_modules/torch/_jit_internal.html | 4 +- docs/stable/_modules/torch/_lowrank.html | 4 +- .../_modules/torch/autograd/grad_mode.html | 10 +- docs/stable/_modules/torch/functional.html | 20 +- docs/stable/_modules/torch/hub.html | 28 +- docs/stable/_modules/torch/jit.html | 24 +- .../_modules/torch/nn/modules/activation.html | 34 +- .../_modules/torch/nn/modules/batchnorm.html | 18 +- .../_modules/torch/nn/modules/container.html | 48 +- .../_modules/torch/nn/modules/conv.html | 4 +- .../_modules/torch/nn/modules/distance.html | 8 +- .../_modules/torch/nn/modules/dropout.html | 16 +- .../_modules/torch/nn/modules/fold.html | 4 +- .../torch/nn/modules/instancenorm.html | 8 +- .../_modules/torch/nn/modules/linear.html | 12 +- .../_modules/torch/nn/modules/loss.html | 36 +- .../_modules/torch/nn/modules/module.html | 124 +- .../_modules/torch/nn/modules/padding.html | 12 +- .../_modules/torch/nn/modules/pooling.html | 36 +- .../stable/_modules/torch/nn/modules/rnn.html | 20 +- .../torch/nn/modules/transformer.html | 18 +- .../torch/nn/utils/convert_parameters.html | 4 +- .../stable/_modules/torch/nn/utils/prune.html | 96 +- .../torch/nn/utils/spectral_norm.html | 4 +- .../_modules/torch/nn/utils/weight_norm.html | 4 +- docs/stable/_modules/torch/random.html | 12 +- docs/stable/_modules/torch/serialization.html | 4 +- docs/stable/_modules/torch/tensor.html | 42 +- .../torch/utils/tensorboard/writer.html | 1652 ----------------- .../_modules/torchvision/ops/boxes.html | 21 +- .../_modules/torchvision/ops/deform_conv.html | 30 +- .../ops/feature_pyramid_network.html | 78 +- .../_modules/torchvision/ops/poolers.html | 53 +- .../torchvision/ops/ps_roi_align.html | 22 +- .../_modules/torchvision/ops/ps_roi_pool.html | 16 +- .../_modules/torchvision/ops/roi_align.html | 22 +- .../_modules/torchvision/ops/roi_pool.html | 14 +- .../torchvision/transforms/functional.html | 504 ++--- .../torchvision/transforms/transforms.html | 394 ++-- docs/stable/autograd.html | 4 +- .../stable/community/persons_of_interest.html | 7 +- docs/stable/complex_numbers.html | 17 +- docs/stable/distributed.html | 4 +- docs/stable/distributions.html | 104 +- docs/stable/generated/torch.abs.html | 5 +- docs/stable/generated/torch.acos.html | 5 +- docs/stable/generated/torch.acosh.html | 5 +- docs/stable/generated/torch.add.html | 10 +- docs/stable/generated/torch.addbmm.html | 23 +- docs/stable/generated/torch.addcdiv.html | 8 +- docs/stable/generated/torch.addcmul.html | 8 +- docs/stable/generated/torch.addmm.html | 26 +- docs/stable/generated/torch.addmv.html | 17 +- docs/stable/generated/torch.addr.html | 20 +- docs/stable/generated/torch.allclose.html | 5 +- docs/stable/generated/torch.angle.html | 5 +- docs/stable/generated/torch.arange.html | 8 +- docs/stable/generated/torch.asin.html | 5 +- docs/stable/generated/torch.asinh.html | 5 +- docs/stable/generated/torch.atan.html | 5 +- docs/stable/generated/torch.atan2.html | 15 +- docs/stable/generated/torch.atanh.html | 5 +- docs/stable/generated/torch.baddbmm.html | 26 +- .../generated/torch.bartlett_window.html | 20 +- docs/stable/generated/torch.bernoulli.html | 17 +- .../generated/torch.blackman_window.html | 20 +- docs/stable/generated/torch.bmm.html | 14 +- docs/stable/generated/torch.cdist.html | 29 +- docs/stable/generated/torch.ceil.html | 5 +- docs/stable/generated/torch.chain_matmul.html | 18 +- docs/stable/generated/torch.cholesky.html | 18 +- .../generated/torch.cholesky_inverse.html | 25 +- .../generated/torch.cholesky_solve.html | 37 +- docs/stable/generated/torch.clamp.html | 5 +- docs/stable/generated/torch.combinations.html | 3 +- docs/stable/generated/torch.conj.html | 5 +- docs/stable/generated/torch.cos.html | 5 +- docs/stable/generated/torch.cosh.html | 5 +- docs/stable/generated/torch.cummax.html | 4 + docs/stable/generated/torch.cummin.html | 4 + docs/stable/generated/torch.cumprod.html | 4 + docs/stable/generated/torch.cumsum.html | 4 + docs/stable/generated/torch.diag_embed.html | 3 +- docs/stable/generated/torch.digamma.html | 5 +- docs/stable/generated/torch.div.html | 10 +- docs/stable/generated/torch.eig.html | 15 +- docs/stable/generated/torch.erf.html | 25 +- docs/stable/generated/torch.erfc.html | 25 +- docs/stable/generated/torch.erfinv.html | 8 +- docs/stable/generated/torch.exp.html | 5 +- docs/stable/generated/torch.expm1.html | 5 +- docs/stable/generated/torch.fft.html | 34 +- docs/stable/generated/torch.floor.html | 5 +- docs/stable/generated/torch.floor_divide.html | 5 +- docs/stable/generated/torch.frac.html | 4 + docs/stable/generated/torch.gather.html | 12 +- docs/stable/generated/torch.ge.html | 3 +- docs/stable/generated/torch.geqrf.html | 6 +- docs/stable/generated/torch.ger.html | 9 +- docs/stable/generated/torch.gt.html | 3 +- .../generated/torch.hamming_window.html | 26 +- docs/stable/generated/torch.hann_window.html | 20 +- docs/stable/generated/torch.ifft.html | 34 +- docs/stable/generated/torch.inverse.html | 3 +- docs/stable/generated/torch.irfft.html | 25 +- docs/stable/generated/torch.isclose.html | 5 +- docs/stable/generated/torch.istft.html | 11 +- .../generated/torch.jit.ScriptModule.html | 6 +- docs/stable/generated/torch.le.html | 3 +- docs/stable/generated/torch.lerp.html | 5 +- docs/stable/generated/torch.lgamma.html | 5 +- docs/stable/generated/torch.load.html | 2 +- docs/stable/generated/torch.lobpcg.html | 36 +- docs/stable/generated/torch.log.html | 5 +- docs/stable/generated/torch.log10.html | 5 +- docs/stable/generated/torch.log1p.html | 5 +- docs/stable/generated/torch.log2.html | 5 +- docs/stable/generated/torch.logaddexp.html | 3 +- docs/stable/generated/torch.logaddexp2.html | 3 +- docs/stable/generated/torch.logcumsumexp.html | 11 +- docs/stable/generated/torch.logspace.html | 6 +- docs/stable/generated/torch.logsumexp.html | 11 +- docs/stable/generated/torch.lstsq.html | 61 +- docs/stable/generated/torch.lt.html | 3 +- docs/stable/generated/torch.lu.html | 12 +- docs/stable/generated/torch.lu_solve.html | 21 +- docs/stable/generated/torch.lu_unpack.html | 2 +- docs/stable/generated/torch.matmul.html | 9 +- docs/stable/generated/torch.max.html | 5 +- docs/stable/generated/torch.meshgrid.html | 27 +- docs/stable/generated/torch.min.html | 5 +- docs/stable/generated/torch.mm.html | 9 +- docs/stable/generated/torch.mul.html | 10 +- docs/stable/generated/torch.multinomial.html | 3 +- docs/stable/generated/torch.mv.html | 9 +- docs/stable/generated/torch.mvlgamma.html | 17 +- docs/stable/generated/torch.ne.html | 3 +- docs/stable/generated/torch.neg.html | 5 +- .../generated/torch.nn.AdaptiveAvgPool1d.html | 2 +- .../generated/torch.nn.AdaptiveAvgPool2d.html | 2 +- .../generated/torch.nn.AdaptiveAvgPool3d.html | 2 +- .../torch.nn.AdaptiveLogSoftmaxWithLoss.html | 45 +- .../generated/torch.nn.AdaptiveMaxPool1d.html | 2 +- .../generated/torch.nn.AdaptiveMaxPool2d.html | 2 +- .../generated/torch.nn.AdaptiveMaxPool3d.html | 2 +- .../generated/torch.nn.AlphaDropout.html | 6 +- docs/stable/generated/torch.nn.AvgPool1d.html | 27 +- docs/stable/generated/torch.nn.AvgPool2d.html | 32 +- docs/stable/generated/torch.nn.AvgPool3d.html | 37 +- docs/stable/generated/torch.nn.BCELoss.html | 51 +- .../generated/torch.nn.BCEWithLogitsLoss.html | 64 +- .../generated/torch.nn.BatchNorm1d.html | 65 +- .../generated/torch.nn.BatchNorm2d.html | 53 +- .../generated/torch.nn.BatchNorm3d.html | 53 +- docs/stable/generated/torch.nn.Bilinear.html | 114 +- docs/stable/generated/torch.nn.CELU.html | 14 +- docs/stable/generated/torch.nn.CTCLoss.html | 74 +- .../generated/torch.nn.ConstantPad1d.html | 17 +- .../generated/torch.nn.ConstantPad2d.html | 26 +- .../generated/torch.nn.ConstantPad3d.html | 35 +- docs/stable/generated/torch.nn.Conv1d.html | 134 +- docs/stable/generated/torch.nn.Conv2d.html | 143 +- docs/stable/generated/torch.nn.Conv3d.html | 136 +- .../generated/torch.nn.ConvTranspose1d.html | 106 +- .../generated/torch.nn.ConvTranspose2d.html | 111 +- .../generated/torch.nn.ConvTranspose3d.html | 116 +- .../torch.nn.CosineEmbeddingLoss.html | 29 +- .../generated/torch.nn.CosineSimilarity.html | 20 +- .../generated/torch.nn.CrossEntropyLoss.html | 61 +- docs/stable/generated/torch.nn.Dropout.html | 9 +- docs/stable/generated/torch.nn.Dropout2d.html | 15 +- docs/stable/generated/torch.nn.Dropout3d.html | 15 +- docs/stable/generated/torch.nn.ELU.html | 14 +- docs/stable/generated/torch.nn.Embedding.html | 12 +- .../generated/torch.nn.EmbeddingBag.html | 3 +- docs/stable/generated/torch.nn.Flatten.html | 12 +- docs/stable/generated/torch.nn.Fold.html | 39 +- .../torch.nn.FractionalMaxPool2d.html | 5 +- docs/stable/generated/torch.nn.GELU.html | 14 +- docs/stable/generated/torch.nn.GRU.html | 128 +- docs/stable/generated/torch.nn.GRUCell.html | 68 +- docs/stable/generated/torch.nn.GroupNorm.html | 39 +- .../stable/generated/torch.nn.Hardshrink.html | 14 +- .../generated/torch.nn.Hardsigmoid.html | 11 +- docs/stable/generated/torch.nn.Hardswish.html | 11 +- docs/stable/generated/torch.nn.Hardtanh.html | 14 +- .../torch.nn.HingeEmbeddingLoss.html | 37 +- .../generated/torch.nn.InstanceNorm1d.html | 53 +- .../generated/torch.nn.InstanceNorm2d.html | 47 +- .../generated/torch.nn.InstanceNorm3d.html | 47 +- docs/stable/generated/torch.nn.KLDivLoss.html | 30 +- docs/stable/generated/torch.nn.L1Loss.html | 49 +- docs/stable/generated/torch.nn.LPPool1d.html | 37 +- docs/stable/generated/torch.nn.LPPool2d.html | 42 +- docs/stable/generated/torch.nn.LSTM.html | 110 +- docs/stable/generated/torch.nn.LSTMCell.html | 53 +- docs/stable/generated/torch.nn.LayerNorm.html | 41 +- docs/stable/generated/torch.nn.LeakyReLU.html | 16 +- docs/stable/generated/torch.nn.Linear.html | 108 +- .../generated/torch.nn.LocalResponseNorm.html | 11 +- .../stable/generated/torch.nn.LogSigmoid.html | 11 +- .../stable/generated/torch.nn.LogSoftmax.html | 14 +- docs/stable/generated/torch.nn.MSELoss.html | 46 +- .../generated/torch.nn.MarginRankingLoss.html | 32 +- docs/stable/generated/torch.nn.MaxPool1d.html | 24 +- docs/stable/generated/torch.nn.MaxPool2d.html | 32 +- docs/stable/generated/torch.nn.MaxPool3d.html | 37 +- .../generated/torch.nn.MaxUnpool1d.html | 13 +- .../generated/torch.nn.MaxUnpool2d.html | 18 +- .../generated/torch.nn.MaxUnpool3d.html | 23 +- docs/stable/generated/torch.nn.Module.html | 6 +- .../torch.nn.MultiLabelMarginLoss.html | 52 +- .../torch.nn.MultiLabelSoftMarginLoss.html | 29 +- .../generated/torch.nn.MultiMarginLoss.html | 43 +- .../torch.nn.MultiheadAttention.html | 31 +- docs/stable/generated/torch.nn.NLLLoss.html | 74 +- docs/stable/generated/torch.nn.PReLU.html | 34 +- .../generated/torch.nn.PairwiseDistance.html | 23 +- .../generated/torch.nn.PixelShuffle.html | 24 +- .../generated/torch.nn.PoissonNLLLoss.html | 31 +- docs/stable/generated/torch.nn.RNN.html | 92 +- docs/stable/generated/torch.nn.RNNCell.html | 60 +- docs/stable/generated/torch.nn.RReLU.html | 23 +- docs/stable/generated/torch.nn.ReLU.html | 9 +- docs/stable/generated/torch.nn.ReLU6.html | 11 +- .../generated/torch.nn.ReflectionPad1d.html | 17 +- .../generated/torch.nn.ReflectionPad2d.html | 26 +- .../generated/torch.nn.ReplicationPad1d.html | 17 +- .../generated/torch.nn.ReplicationPad2d.html | 26 +- .../generated/torch.nn.ReplicationPad3d.html | 35 +- docs/stable/generated/torch.nn.SELU.html | 17 +- docs/stable/generated/torch.nn.Sigmoid.html | 11 +- .../generated/torch.nn.SmoothL1Loss.html | 40 +- .../generated/torch.nn.SoftMarginLoss.html | 20 +- docs/stable/generated/torch.nn.Softmax.html | 11 +- docs/stable/generated/torch.nn.Softmax2d.html | 9 +- docs/stable/generated/torch.nn.Softmin.html | 11 +- docs/stable/generated/torch.nn.Softplus.html | 17 +- .../stable/generated/torch.nn.Softshrink.html | 14 +- docs/stable/generated/torch.nn.Softsign.html | 11 +- .../generated/torch.nn.SyncBatchNorm.html | 56 +- docs/stable/generated/torch.nn.Tanh.html | 11 +- .../stable/generated/torch.nn.Tanhshrink.html | 11 +- docs/stable/generated/torch.nn.Threshold.html | 11 +- .../generated/torch.nn.Transformer.html | 27 +- .../generated/torch.nn.TripletMarginLoss.html | 40 +- docs/stable/generated/torch.nn.Unfold.html | 49 +- docs/stable/generated/torch.nn.Upsample.html | 35 +- .../torch.nn.UpsamplingBilinear2d.html | 18 +- .../torch.nn.UpsamplingNearest2d.html | 18 +- docs/stable/generated/torch.nn.ZeroPad2d.html | 26 +- .../torch.nn.utils.clip_grad_value_.html | 3 +- .../torch.nn.utils.rnn.PackedSequence.html | 26 +- ...rch.nn.utils.rnn.pack_padded_sequence.html | 2 +- .../torch.nn.utils.rnn.pack_sequence.html | 2 +- ...orch.nn.utils.rnn.pad_packed_sequence.html | 2 +- .../torch.nn.utils.rnn.pad_sequence.html | 2 +- .../torch.nn.utils.spectral_norm.html | 8 +- .../generated/torch.nn.utils.weight_norm.html | 5 +- docs/stable/generated/torch.nonzero.html | 21 +- docs/stable/generated/torch.pca_lowrank.html | 35 +- docs/stable/generated/torch.pinverse.html | 9 +- docs/stable/generated/torch.poisson.html | 5 +- docs/stable/generated/torch.polygamma.html | 14 +- docs/stable/generated/torch.pow.html | 15 +- docs/stable/generated/torch.qr.html | 27 +- .../torch.quasirandom.SobolEngine.html | 3 +- docs/stable/generated/torch.rand.html | 3 +- docs/stable/generated/torch.rand_like.html | 3 +- docs/stable/generated/torch.randn.html | 5 +- docs/stable/generated/torch.range.html | 8 +- docs/stable/generated/torch.reciprocal.html | 5 +- docs/stable/generated/torch.rfft.html | 44 +- docs/stable/generated/torch.rsqrt.html | 24 +- docs/stable/generated/torch.save.html | 2 +- docs/stable/generated/torch.sigmoid.html | 5 +- docs/stable/generated/torch.sign.html | 4 + docs/stable/generated/torch.sin.html | 5 +- docs/stable/generated/torch.sinh.html | 5 +- docs/stable/generated/torch.solve.html | 18 +- docs/stable/generated/torch.sqrt.html | 24 +- docs/stable/generated/torch.squeeze.html | 12 +- docs/stable/generated/torch.stft.html | 69 +- docs/stable/generated/torch.svd.html | 18 +- docs/stable/generated/torch.svd_lowrank.html | 20 +- docs/stable/generated/torch.symeig.html | 12 +- docs/stable/generated/torch.tan.html | 5 +- docs/stable/generated/torch.tanh.html | 5 +- docs/stable/generated/torch.tensordot.html | 23 +- docs/stable/generated/torch.trapz.html | 12 +- .../generated/torch.triangular_solve.html | 48 +- docs/stable/generated/torch.tril.html | 9 +- docs/stable/generated/torch.tril_indices.html | 12 +- docs/stable/generated/torch.triu.html | 9 +- docs/stable/generated/torch.triu_indices.html | 12 +- docs/stable/generated/torch.true_divide.html | 5 +- docs/stable/generated/torch.vander.html | 18 +- .../generated/torch.view_as_complex.html | 8 +- docs/stable/generated/torch.view_as_real.html | 8 +- docs/stable/generated/torch.where.html | 5 +- docs/stable/genindex.html | 50 +- docs/stable/jit_builtin_functions.html | 17 +- docs/stable/nn.functional.html | 540 ++++-- docs/stable/nn.html | 129 +- docs/stable/nn.init.html | 180 +- docs/stable/notes/amp_examples.html | 3 +- docs/stable/notes/autograd.html | 107 +- docs/stable/notes/faq.html | 3 +- docs/stable/objects.inv | Bin 44869 -> 44688 bytes docs/stable/optim.html | 219 +-- docs/stable/quantization.html | 161 +- docs/stable/searchindex.js | 2 +- docs/stable/sparse.html | 22 +- docs/stable/tensorboard.html | 557 ------ docs/stable/tensors.html | 67 +- docs/stable/torch.html | 117 +- docs/stable/torchvision/ops.html | 26 +- docs/stable/torchvision/transforms.html | 271 +-- 327 files changed, 5668 insertions(+), 6177 deletions(-) delete mode 100644 docs/stable/_images/add_histogram.png delete mode 100644 docs/stable/_images/add_hparam.png delete mode 100644 docs/stable/_images/add_image.png delete mode 100644 docs/stable/_images/add_images.png delete mode 100644 docs/stable/_images/add_scalar.png delete mode 100644 docs/stable/_images/add_scalars.png delete mode 100644 docs/stable/_modules/torch/utils/tensorboard/writer.html diff --git a/docs/stable/.buildinfo b/docs/stable/.buildinfo index 84cdbd6ab202..3449402f7a16 100644 --- a/docs/stable/.buildinfo +++ b/docs/stable/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 93625c989914b71802289037a0f16437 +config: 892a2ec27a03fe01b7f360c8920a2882 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/stable/_images/add_histogram.png b/docs/stable/_images/add_histogram.png deleted file mode 100644 index d9185e4b10b59ec8bd7f68df8ca34a418deb064e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48135 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 I2?M|X2bJud3IG5A diff --git a/docs/stable/_images/add_hparam.png b/docs/stable/_images/add_hparam.png deleted file mode 100644 index 5cebef5b58890e2424657114784914a9dbe0b4bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64086 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 M(-+JNO|L}%6SMoT_W%F@ diff --git a/docs/stable/_images/add_image.png b/docs/stable/_images/add_image.png deleted file mode 100644 index 0b675524b45925ead44be07ee882914aaa632aaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47119 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%0AyU{a^;!hL&d8SOkfOafliG5U6Mc@T8s}+b#2(N z<05!%9ELMsCAf{j>8rOk|A(K*0lFXkk6oVuWHYMSqj!$a4HvTebeV?u9 zULW{uu0qL&V9Q4e*7UFE&Atc!Cbf_`c4l`>zrNd>P;&eNA`@Jx&AMyPwoT z@3OOjd^wv=6UKrbX!s1VJdVfOgQ~r9IQF?p6Z-E>8%UwOK>0&;Bumcd;LVYM{$Z-* zjK#G(8rHJ!u=oO`NZPw(g-2h+6_Gn+?;2_kQZFT4UMMS(+xlMp{#xQ6cN0)W2?+X6 z1;Pf|JnT_UFfs97gvrby6OMyMs6ylLeaVY7IC*%OS8wy6Kr}v7aVgyiQqBLZc!CU% zf&wQ#1KPf!rnvyJ5JH}`rR`@{geMt-&(>HSGym&xf_p(CYbWlRIE)|&vpA_6-t%8Z z2e$}~ww1L#;>bSors)fZ`{znvejUL*Cx(UeYoi3PbHlJbpo9Mo{N|oSQc&Pdj7MZ><3g*=np~7m zJ$Dq9Qbr&vXy*AXRiyP}JGC(HTupkck2d;0f|}`z$YzVWQJ>4 z&Hs?ySoBy*W7caA>AEV2b$bxYE1xrX28rT9GVgWcqbWA?ISg2XG)cC({d6%Jy*hDJB9C4q0pR6L>>M0 z_O{cV_$Q|)KOzfJEkZ>+1O@7NX< zoUw15e;LJgwqO(X*EY7*k>AxS_b!}1=EeBfJZcQDo<5+BbfB?nK{@i?DyMeB; zUGcxhVjE51w5?sv9_!BioFZ6{T0x3KZJv`^fof)Oo~m$=2WfL}ylrbr+q zj%Lp@n7B_#LGk;y*Q*9E3JMt~@|oF{iKw1XR|k&OpE#7j{E0Wp_SwN$v?RQvHY^u=o?#Y@&(KERWU$LlKV~*}4S%Jigvs^e z+~djJiJwn4U3}|&ok!>P=6-(s`Q#_bH@a4FbmtA@#E;dj^||5eny%|1-zJ0d93yE@ zEK9n6^X9xkfzvz48(K_}DlF=0e287zs{i*g@e1!Q?70rIG<(dkug2rn}Z1T=;R_b5B$T(!i`Ui#XH}5V`Dg#5R2ct`s@$_>2MIaVsmtq zgAGkcW&haVON$~kE?w9_GQdAc)btiQSYqv|^HoBt+E`-DKhvO1HHfRBRryP)Fq9tc zg|S8;K-y@IL?ppK&*G`>@ykhj{r+0F5!vDEXhP9iF{6e+Mxy3r)mhWE@U^kOSJF30 zzv~%e2zwRh!Te!rrh)Lr+vSm8DS(K$PUd=2t|G)oint+G&W0>@g(r>fldJ-H7QeAKj%UrRQ9X@S#ldSX^`9!A(PZ z;2B2DLt`xQWA_&kMD#(P%xLv=eSBdo@9CPEk+zgr{1cu@Lq_1}dg5E3F zA40zu#&~@@bBP7_6v5E@v_xOf!W7GR-zI3uSr1EexqJFcfkP*ML2EnvNw*dNqFe6| zpq81@gs}R@$yiqy-_`sM(>)PE#1GZvkuBiLRl8k8e`oL@CvU_Lb0t3qw63Pboj2 zM<7FK=VjX#J{ZJyX2tR{UpZ_-OLE<@_HF+t8$K=J>o={Dkp<@_i&v=KVhJqewFjqK=v9 zPb`8TggC?V=>0KR^D(y7%LrfEd4Au~x69P)u(nZ#+@d+aCuWC>v1qA91n_P8A=aRorxWH0~iev0OLy$(xM-;>?UI(&4`#A_sq z4jpK~fK?R2X~P1Rotb=WrL}7&mdAw2a0O}TcwuAURu0l|I_!1*!4<`&b0h!LKdC&p zQnwZN&DpZQx)SB(V)VQ$13A$_Sa@zp{6(HYG_L|bELLok@EU;)9VyC zG`#;c`FtcU8{xR8M>MlvyPQfQJ>RzR)kC7z*@-%lsoVgtqkmdsYCe~i9c)qxnolm` zp+xYLjg+SxHA4Jg(@rYBxZ(3Qdt+nrkD8Gb6nb77pR~@d$V-W+`_sDT(5tCK>*qg1 zWI3*aKx%`K@b|efBTv)#ZE$F*dG`L0_VHzzbF5)w!Vp117NmVnAdoJ!ej9n-TDy`R z{Y!f;96g%U=oXoW!|k<`(~e*V+rfT*wA&iz!O89kX1RP5^?EDbQps#**vbF+bYp)G z_5>_}i|K>c2EcBnu{sya&J;-CVqxB$w^@ra@y^v#xyEk7lu4hBhUIM$-(gbW ziuaWSwb~rIYw|j^K?D<0JRcwt;M-89p7t}k8d`tVQ3jU-QY&fw%8B|p3sGlgxSW)R zT=8LRc0tfmD+_T*q@&+N9QTjPZaX%B9FxL_#fkXVI>-H?&?o7Gqi8IkJgs^T8fiCC!RpcU# zZlBoI(23}9ui2YQ-^&tO3MgQ>vG{yspXbv`6IZzT&tNKCrZhTzNX)wkGmb(pv$c z2=87P((HpckFxqIdv%jbZ8`qD)yLB$01T7v%+!eo_fX)YTGbWfjEv4B6KRx%lGeCyVIx7iqLZZq8=&Da1+V$kwOF0C zYb8*h?Bshlj|RhV`F*GFrqmn!8~5s z3Y(32Qu;+P^b>b6){}DY?!}Fo;?5vS_0KKSPXsT&8~r0n(HD~cPjgouPu1S9S!bz@ zV%s}oCvD@dj3v=PdlyBFZlp$M#A)O?Wq0*?422wKY7fm#X3`wR=(-Cqi zD&anBcX*!X`?a|*1w2oMd!{OzB4!}R=53pD)3w_4 zM8T$9nztxNR(rleo1dD0`{2K4_yke)hqt#85oJbNc9@N(B>I! zda>h*O?YXFmN=cqtoCdwa<_>RSYh1LckkIn_pw%Ggwijr7N>s*%EYa`p99$yzuyK=^vhviIwvQgr z=rlc+$Zov@;tU?+OWDHDy=OZ0^dc)|2ahUH|%IJo2j6} z;_bIL^l=g8-rDd^CzB(OUnEa*X}jRX<;i7cvuLy?#q+$0nmw=W5n}qjJ&&a3$R3Wo%gj@$*!XO{8z1uMK`xR2-rCVu5LndGGxJo6r3~wGY*bL5#c}I{9D8^oZ?#-zec*tk(6#k$ zxLKzORN)=w66?~*XlxHx@>*LS*(J8ur;?;?kTg~=h@cqcbui?vmkk5($$?Am@b-WI zLolUUF;JKde(Z`dEZB*E)uy%9j~@RS;e-1oCkqKIO}oZ0Oi? z_g1n9|287zZAsoYl8{Vzs}~*87VVqa6l;_D$XkPBDnTVtSrH{S*?ou)1I9|bMfejD4}Q99N79-n0oF5avd$t7 zn#r+zaY;U(Do~L*+P|Kqb;k{~PRin?^Ukh+|ZM$|lhYq{4 zP_f?0S;U_pJe;c1`<;V~A>XnjIeffG?)V%VVAxNI$?NjZiV~&0xxy%5l9j$kJt!Md zOo;4*91tifJFE!&%|TP(fiKaVNVw>blA8+u0B{5Z1Yd9y1BY5yTJ!X_#3E+pI+ErN zRFZS`OOn717{^V${a5B1^Z4Z3yms?5^_dY3Z*u~r@;*-G6t@t#Ej0bDM(|B=fXasb^tTxQ{e<<##BIc7Z?S^rbyQ{y{JsS=*zTjN zk6y+!{wwlR>Z@fwW#l5f_ITx{Ewf7dGK7aw;wtUQVA)#;R9wzB9$MxF;4@1k|6^iw z-$eWWWpa+FuzoGGRpd_tNUvg_QeXTUpw4NdREE-tWY=WFt8sxMUxDOb5Z|isZ=M;f z59(Pl6|Lg{9*rU%DdqO>^;~4|vr5*sefEZ${CPNfp$wtJfBZE=7`p;fZUmp0&jw*c zF^5ioa@V|rYUX`FiptX57$1`ZtS-cqJ+J8+upw45+aKNJ{d)w~jrJClf-BCkH zClchiUQl~x?K6G9bI0e_qm)6-e}7beCb15S7{y0#RaPmin5fFjrgQ>UkQs1?+2djo zv8PXP8sT($2X^z{^?3obt%At9l7@j*x`H=KM7q81XZ4$*52_2|FeN% zR;^z*^z6nsFz^^HJO@u!clxV~5XYkDT5}~G|L=T`@$-z5NV4GF4Vw(BCCmqK< zN|*fMC^sMxQYI+Er=o7FGQI}=9KMn{P^jC5J?)$4+ia2XB~vy`LX%Un0GMU4Xx30<0SCfC|EX0LQ5*&2MeFI-yEyas7Q(!E>)5N$k?%sT zi=D=3MKx={V0Xdq%TBn~oDujA77Nk6QD?_e2y{OusZ@C{Cl5h^IfNJ+g4{QstF(tB z2EX4u!%dC93Fih@e-}_=4cIsBpKx;%fJ!&%r$ESp5y+n3u#dcha0!O~^9oM&Z!YrJ zROvtBW*!@yhk0r>Z6)+K$Fo-r847HK^lOH})>KA(9+}oK@VS|h?qp}PM&>O0gMHwA zN9!oa!zl)pdV}MI)`frWl47*U(-N{QqDupXxs4ZR1w$Np+_;*(;N+j0ru+sqxD7q8 zcEoMYW#IF-JZmRAzi3J@&H_ zJvi02p5Bt``ZkyjG?n2YJxCIM^ILY-(pCm|_{H;7NKF8FX0J)%E`i?AQsH|3Ka%+2 za?j)eO5<+a=l?5_g6vaSR}cbJ{weY0p8nrHNDhyP^!T%fLO6oQ_Jr^1Jn5SJxbgo`IwT@GyyUqui+XiJ zaBS{7AMUNV&Y`^_Z`k5>wiAKyoP{ z$jRaYgb9MDqYwpB7QZ&WlV+^ma4sc{5euQl>|*>}nMRmWPr+t3zW^RWK~53=IK+C< zs?($#!lC@Mr0F?oP{y(yeU`CKKpDF-5lo@~t~~_hRm5FAQ5k&+9*X zGe(3Ti#5eM%w!Xt2s)il&u=*+EI^4PO{xIyiu9snpo!VV`JdY>)^)ma-BprihJd_; zT8T5joJ+RjB?H+!x7+S^5N;%~4`Q+VN!n~Uy^XuoDs7&ggYH2M4i>U_mbb%$H~}!n zy?OcTkDSYTG2``iAY6CskRB&oos$I^76hDp^$^%pZ-n6ao9 zo1NRWjqbdn&3DIukVN_i9Io@}N_4;E{o0Ck2s?E_*=MnrAxtShJ}vMdfMZ(Ov>q6*R1YR(@dRS4_ z?F-0HP8SY;WyER#P@Ru?Mt8PBsR%>_W8OG< zCTwzdRM013RZt23vP3_%6zdqeAPl~(F3g44aC_hqdUY2W4~MvI#JT%QvT4f9iRMw9 z35dQ4^A3yg9q_1wmV97KbVyP9VHuRw5wY>zA+}klQY{bv=~wrXtQRu1_9U$Wq4dt# zoi21|5FD5M;NI6dyt^0T6d{fL3&SA2mws2A4Al5$?UEy;^1OX(6bJ|*G|s5lsqn

PIZ9nW)o53A@nALw8@CInk?SJ@(&HCDcaKWJ)vJ$EM?180$-Nt zD$m~xE8m=HfMvBi6^0MozZ|#5B3>8mQi(*K1cofg~k#7aE8X{%5= zE`Dk{^VwQNv$bORKND=Y5PN4>^Hm_ltEUY%{gdq7W{O=lWjo1O{76r9A=Bu&8rN$6 z7oH%(A3#7K$aFVn{aB>D0llS|*KVC5kU?CLG3jT3Y&ZTyb~C9uTu1;!g{^JV%7@V&^%%TjX0AtRQ!2LIFGy`E_k_-yb6-`pa=b zW!?`s>DRA1M+K|#@Dcm!0HevyDD-oJII-{#E(5G@A<<$EvuQ*BSrt{kkO+5tYu?G|BO%yDJR1qtx{V%(BFXX zGZaTDa>qxU!w+n}t^LW4ee;$!fzXS8Pu?-`M%eTFZ--aOV4)Vrbq)$xa2!gW z{~35wnkYQNk;a{v6EkT~;cT7tEtPAq?kk;ZLd_wpW%Abad1?QIBQ zf(y#=XpMCOymJfF+OI>E>u(+VR?;|Yq49iCUfirSb-o7Bj7F7D4cS3^zrDvT^PSV- z``M9?g=t3ida5CK8vHTv-IskL{0tbC&5397;NmmdSVcb+(b*X9!vIy7R~_H}L($$8 zYJW`Y_~^cUjJdQQiMlwv`@1P5yySb_&>yPyb_f^k{ZuD_nN-;iT>|0g9+4`QrX2t4 zQ$vp)`I2Z&W3#r^_s))kh87<+%y2keQ*Y_z*2W$j5ayc#$(Ic`u?Y7acI?ZAu-@%r z507!CVr%!G{3Qu7>%PSLxuh)&z;0Z>F~P;@WbK}L>EHbbRxteGU_X+{M~T9N)_XaG z=%5ByMu#sjgG{R$S-o_4*RZj$++96owJRwBIY&~ywMP6`ki2;;&B=?ZZ5{2aR5$=j zi-Sv#%onGJeqJVhMN$_Fu#!QG#5Aq8MD5WEi1fR%!|UnX`BcAw2wx46<1g;_uYaDJ z`X?r)-V-cp+CUEtef6;3aK^?I@(%v4Z;kstDDr*7%=ZJO{R2`m0BNHI;Y-~nD8V+l z&E+e@@}9q{c?(@PpH88$Oo1clXn9K2t{fb5 z!^-fbQG#N^ZG3z2nj61~h!PDXRr8Oqd9W3K4Am8+F;j)G635%EbSl=0(`js|30Ug> z@Je>f&RHr1=`Fs&FxT0@a56CpikJJ__6*z;x=sF^^g2c(kZkkG*UD7U|E)@{#`n#T zKTWJ!HlyTE>8X~#69hR232Nfc3y&bfA1iyWf_4>|AdBu_HcL}&2A>ie7(;W>;&W7^ z=O!g`Lqbpw78NBX18t4_?U*g}K)cm_bOMs0vHA$AZNM#m@!?Fk?Bk?%}N>1_(Lb5I04tHKhgJA2K6aaaZ1zv#_LAs2hxxP9>G zbYB0p*$jR>aX_jpeyHA>bxlb8eOvr~YS83KR~XLbquwr6Ml>I?$VwL8OKsXdD5v#* z^&HjM_C3O*$7y|o+Xe}KjMI>oWBejll5a^IAga}g{W_W-)-3Ehuvm)<&ws&~2MDBZ zzJ<->*TG5Zw0J{fh-4Dnf7H7m0cT`|R|SG-7> z%PK}0q@+U5!Yf_K>+PP0L`-$x#_Ug-tpw;39U`m)8jv%5CvgW7ri7Fk%n0mYhMGh} zC*#gXC7ja9C|-Z`de=A88-KM5kX>V~0*|KsQ>#F9$XKg@K_w)ng)L|fs|_g{pDlB? zxu|B+lSMS^Ngq5fYj%YFD$bwU>nViLx>riIgU1>)l91VcsN9oXgCX6Jd+W5g&vjY) zDCa77f{8E2$x(@ZOlrtPm!6$&)Lo`A9BS&5&3d9l^mUW}T(K!2aWxXIqh7wu!0bUyPbk zRZW?!YWQ`xhTqTVydb+i{-Mj0zABeDLgjl*uS0}024$Pt;a})d9neuY?9CmB)N%rm z(`;+y6>PhS>PIT_nAQFR$B^|4QO@pyX_;&UMBgq;bd?BY(u7&C*0kkr z)A%Y_HQjM1)F=wfv`&pc0ep6@U)Y14;-}dze@DwYytI(9@e=d`X|Uh0h0`w&Ba0Y7q<-K=^UJx#^7mt1{k@CxE@ z9!0v5$1+97yLd5(zJWj7wE4CAt}F@ZAEc@^p7JY)2C^EK$mlNW4cc2$OYU%Cn`6L>O>v; z)JmL&mg9?bC@&+=?ScQ7$C-@21Ip3~SlE?6>aEAF=z}RJ+rAgY2qTZk!Z_m{3Vf(B zsViuZjqalwWXC3Q7N_TQvC#0ZsZBsQj$wxVH7kxe;;47srL?gt=zh&Ip}JqkW;FwW zTlPW#+RR3;lw;8L3gxjOSoS#W9Oo_mnqyZKbUzG>?zwK_H1}E76A}Dan%kP?Eb@x} E50IUtUjP6A diff --git a/docs/stable/_images/add_images.png b/docs/stable/_images/add_images.png deleted file mode 100644 index 5fcbf36580b7e781ed61701dd7ff422c05360ece..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76694 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 diff --git a/docs/stable/_images/add_scalar.png b/docs/stable/_images/add_scalar.png deleted file mode 100644 index a872b93eca32121acb79ca5780af2b8b38176ea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45941 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 T;h&Iq0(>;pbZ?cY-VOgR`Wh@+ diff --git a/docs/stable/_images/add_scalars.png b/docs/stable/_images/add_scalars.png deleted file mode 100644 index 2a31a4b76cf90c9c2c27347c57611befaeca5040..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99156 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

;@wuYwZQZgq~@1-b)a+Kbg@dAi-%%Ari2 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 XNku~MsYF#F0e{b=6eNqpU%&ewvNnTU diff --git a/docs/stable/_modules/index.html b/docs/stable/_modules/index.html index dbd0a4b2c340..24ba1abb638e 100644 --- a/docs/stable/_modules/index.html +++ b/docs/stable/_modules/index.html @@ -494,7 +494,6 @@

All modules for which code is available

  • torch.utils.data.sampler
  • torch.utils.mobile_optimizer
  • -
  • torch.utils.tensorboard.writer
  • torchvision
    • torchvision.datasets.celeba
    • torchvision.datasets.cifar
    • diff --git a/docs/stable/_modules/torch.html b/docs/stable/_modules/torch.html index 4d9ca65bc5c3..4ee4726c9721 100644 --- a/docs/stable/_modules/torch.html +++ b/docs/stable/_modules/torch.html @@ -838,9 +838,9 @@

      Source code for torch

       del _torch_docs, _tensor_docs, _storage_docs
       
       
      -
      [docs]def compiled_with_cxx11_abi(): +def compiled_with_cxx11_abi(): r"""Returns whether PyTorch was built with _GLIBCXX_USE_CXX11_ABI=1""" - return _C._GLIBCXX_USE_CXX11_ABI
      + return _C._GLIBCXX_USE_CXX11_ABI # Import the ops "namespace" diff --git a/docs/stable/_modules/torch/_jit_internal.html b/docs/stable/_modules/torch/_jit_internal.html index c387da189a52..2f78d151ecd9 100644 --- a/docs/stable/_modules/torch/_jit_internal.html +++ b/docs/stable/_modules/torch/_jit_internal.html @@ -710,7 +710,7 @@

      Source code for torch._jit_internal

           fn._torchscript_modifier = FunctionModifiers.UNUSED
           return fn
      -def ignore(drop=False, **kwargs): +
      [docs]def ignore(drop=False, **kwargs): """ This decorator indicates to the compiler that a function or method should be ignored and left as a Python function. This allows you to leave code in @@ -801,7 +801,7 @@

      Source code for torch._jit_internal

               else:
                   fn._torchscript_modifier = FunctionModifiers.IGNORE
               return fn
      -    return decorator
      +    return decorator
      def _copy_to_script_wrapper(fn): diff --git a/docs/stable/_modules/torch/_lowrank.html b/docs/stable/_modules/torch/_lowrank.html index 40498c24ce7f..34972f7ace7a 100644 --- a/docs/stable/_modules/torch/_lowrank.html +++ b/docs/stable/_modules/torch/_lowrank.html @@ -419,7 +419,7 @@

      Source code for torch._lowrank

           return Q
       
       
      -def svd_lowrank(A, q=6, niter=2, M=None):
      +
      [docs]def svd_lowrank(A, q=6, niter=2, M=None): # type: (Tensor, Optional[int], Optional[int], Optional[Tensor]) -> Tuple[Tensor, Tensor, Tensor] r"""Return the singular value decomposition ``(U, S, V)`` of a matrix, batches of matrices, or a sparse matrix :math:`A` such that @@ -464,7 +464,7 @@

      Source code for torch._lowrank

               tensor_ops = (A, M)
               if (not set(map(type, tensor_ops)).issubset((torch.Tensor, type(None))) and has_torch_function(tensor_ops)):
                   return handle_torch_function(svd_lowrank, tensor_ops, A, q=q, niter=niter, M=M)
      -    return _svd_lowrank(A, q=q, niter=niter, M=M)
      +    return _svd_lowrank(A, q=q, niter=niter, M=M)
      def _svd_lowrank(A, q=6, niter=2, M=None): diff --git a/docs/stable/_modules/torch/autograd/grad_mode.html b/docs/stable/_modules/torch/autograd/grad_mode.html index 75e0bc5ccf97..22e5db5109a7 100644 --- a/docs/stable/_modules/torch/autograd/grad_mode.html +++ b/docs/stable/_modules/torch/autograd/grad_mode.html @@ -369,7 +369,7 @@

      Source code for torch.autograd.grad_mode

               return generator_context
       
       
      -class no_grad(_DecoratorContextManager):
      +
      [docs]class no_grad(_DecoratorContextManager): r"""Context-manager that disabled gradient calculation. Disabling gradient calculation is useful for inference, when you are sure @@ -406,10 +406,10 @@

      Source code for torch.autograd.grad_mode

               torch._C.set_grad_enabled(False)
       
           def __exit__(self, *args):
      -        torch.set_grad_enabled(self.prev)
      +        torch.set_grad_enabled(self.prev)
      -
      [docs]class enable_grad(_DecoratorContextManager): +
      [docs]class enable_grad(_DecoratorContextManager): r"""Context-manager that enables gradient calculation. Enables gradient calculation, if it has been disabled via :class:`~no_grad` @@ -448,7 +448,7 @@

      Source code for torch.autograd.grad_mode

               torch.set_grad_enabled(self.prev)
      -class set_grad_enabled(object): +
      [docs]class set_grad_enabled(object): r"""Context-manager that sets gradient calculation to on or off. ``set_grad_enabled`` will enable or disable grads based on its argument :attr:`mode`. @@ -493,7 +493,7 @@

      Source code for torch.autograd.grad_mode

               pass
       
           def __exit__(self, *args):
      -        torch.set_grad_enabled(self.prev)
      +        torch.set_grad_enabled(self.prev)
      diff --git a/docs/stable/_modules/torch/functional.html b/docs/stable/_modules/torch/functional.html index 7aad23570614..ec4b116dde0e 100644 --- a/docs/stable/_modules/torch/functional.html +++ b/docs/stable/_modules/torch/functional.html @@ -402,7 +402,7 @@

      Source code for torch.functional

           return _VF.broadcast_tensors(tensors)
       
       
      -def split(tensor, split_size_or_sections, dim=0):
      +
      [docs]def split(tensor, split_size_or_sections, dim=0): r"""Splits the tensor into chunks. Each chunk is a view of the original tensor. If :attr:`split_size_or_sections` is an integer type, then :attr:`tensor` will @@ -449,7 +449,7 @@

      Source code for torch.functional

           # This dispatches to two ATen functions depending on the type of
           # split_size_or_sections. The branching code is in tensor.py, which we
           # call here.
      -    return tensor.split(split_size_or_sections, dim)
      +    return tensor.split(split_size_or_sections, dim)
      # equivalent to itertools.product(indices) def _indices_product(indices): @@ -702,7 +702,7 @@

      Source code for torch.functional

           return _VF.meshgrid(tensors)
       
       
      -def stft(input, n_fft, hop_length=None, win_length=None, window=None,
      +
      [docs]def stft(input, n_fft, hop_length=None, win_length=None, window=None, center=True, pad_mode='reflect', normalized=False, onesided=True): # type: (Tensor, int, Optional[int], Optional[int], Optional[Tensor], bool, str, bool, bool) -> Tensor r"""Short-time Fourier transform (STFT). @@ -799,10 +799,10 @@

      Source code for torch.functional

               pad = int(n_fft // 2)
               input = F.pad(input.view(extended_shape), (pad, pad), pad_mode)
               input = input.view(input.shape[-signal_dim:])
      -    return _VF.stft(input, n_fft, hop_length, win_length, window, normalized, onesided)
      +    return _VF.stft(input, n_fft, hop_length, win_length, window, normalized, onesided)
      -def istft(input, n_fft, hop_length=None, win_length=None, window=None, +
      [docs]def istft(input, n_fft, hop_length=None, win_length=None, window=None, center=True, normalized=False, onesided=True, length=None): # type: (Tensor, int, Optional[int], Optional[int], Optional[Tensor], bool, bool, bool, Optional[int]) -> Tensor r"""Inverse short time Fourier Transform. This is expected to be the inverse of :func:`~torch.stft`. @@ -861,7 +861,7 @@

      Source code for torch.functional

                       length=length)
       
           return _VF.istft(
      -        input, n_fft, hop_length, win_length, window, center, normalized, onesided, length)
      +        input, n_fft, hop_length, win_length, window, center, normalized, onesided, length)
      del torch.unique_dim @@ -1136,7 +1136,7 @@

      Source code for torch.functional

       unique_consecutive.__doc__ = _unique_consecutive_impl.__doc__
       
       
      -def tensordot(a, b, dims=2):
      +
      [docs]def tensordot(a, b, dims=2): r"""Returns a contraction of a and b over multiple dimensions. :attr:`tensordot` implements a generalized matrix product. @@ -1193,7 +1193,7 @@

      Source code for torch.functional

                   raise RuntimeError("tensordot expects dims >= 0, but got dims={}".format(dims))
               dims_a = list(range(-dims, 0))
               dims_b = list(range(dims))
      -    return _VF.tensordot(a, b, dims_a, dims_b)
      +    return _VF.tensordot(a, b, dims_a, dims_b)
      def cartesian_prod(*tensors): """Do cartesian product of the given sequence of tensors. The behavior is similar to @@ -1339,7 +1339,7 @@

      Source code for torch.functional

           # type: (Tensor, str, Optional[int], bool, Optional[Tensor], Optional[int]) -> Tensor
           pass
       
      -def norm(input, p="fro", dim=None, keepdim=False, out=None, dtype=None):  # noqa: 749
      +
      [docs]def norm(input, p="fro", dim=None, keepdim=False, out=None, dtype=None): # noqa: 749 r"""Returns the matrix norm or vector norm of a given tensor. Args: @@ -1464,7 +1464,7 @@

      Source code for torch.functional

                   if dtype is None:
                       return _VF.norm(input, p, _dim, keepdim=keepdim, out=out)
                   else:
      -                return _VF.norm(input, p, _dim, keepdim=keepdim, dtype=dtype, out=out)
      +                return _VF.norm(input, p, _dim, keepdim=keepdim, dtype=dtype, out=out)
      def chain_matmul(*matrices): r"""Returns the matrix product of the :math:`N` 2-D tensors. This product is efficiently computed diff --git a/docs/stable/_modules/torch/hub.html b/docs/stable/_modules/torch/hub.html index 9af33c148526..e25278c652b8 100644 --- a/docs/stable/_modules/torch/hub.html +++ b/docs/stable/_modules/torch/hub.html @@ -560,7 +560,7 @@

      Source code for torch.hub

           return func
       
       
      -def get_dir():
      +
      [docs]def get_dir(): r""" Get the Torch Hub cache directory used for storing downloaded models & weights. @@ -576,10 +576,10 @@

      Source code for torch.hub

       
           if _hub_dir is not None:
               return _hub_dir
      -    return os.path.join(_get_torch_home(), 'hub')
      +    return os.path.join(_get_torch_home(), 'hub')
      -def set_dir(d): +
      [docs]def set_dir(d): r""" Optionally set the Torch Hub directory used to save downloaded models & weights. @@ -587,10 +587,10 @@

      Source code for torch.hub

               d (string): path to a local folder to save downloaded models & weights.
           """
           global _hub_dir
      -    _hub_dir = d
      +    _hub_dir = d
      -def list(github, force_reload=False): +
      [docs]def list(github, force_reload=False): r""" List all entrypoints available in `github` hubconf. @@ -617,10 +617,10 @@

      Source code for torch.hub

           # We take functions starts with '_' as internal helper functions
           entrypoints = [f for f in dir(hub_module) if callable(getattr(hub_module, f)) and not f.startswith('_')]
       
      -    return entrypoints
      +    return entrypoints
      -def help(github, model, force_reload=False): +
      [docs]def help(github, model, force_reload=False): r""" Show the docstring of entrypoint `model`. @@ -644,14 +644,14 @@

      Source code for torch.hub

       
           entry = _load_entry_from_hubconf(hub_module, model)
       
      -    return entry.__doc__
      +    return entry.__doc__
      # Ideally this should be `def load(github, model, *args, forece_reload=False, **kwargs):`, # but Python2 complains syntax error for it. We have to skip force_reload in function # signature here but detect it in kwargs instead. # TODO: fix it after Python2 EOL -def load(github, model, *args, **kwargs): +
      [docs]def load(github, model, *args, **kwargs): r""" Load a model from a github repo, with pretrained weights. @@ -691,10 +691,10 @@

      Source code for torch.hub

       
           sys.path.remove(repo_dir)
       
      -    return model
      +    return model
      -def download_url_to_file(url, dst, hash_prefix=None, progress=True): +
      [docs]def download_url_to_file(url, dst, hash_prefix=None, progress=True): r"""Download object at the given URL to a local path. Args: @@ -753,7 +753,7 @@

      Source code for torch.hub

           finally:
               f.close()
               if os.path.exists(f.name):
      -            os.remove(f.name)
      +            os.remove(f.name)
      def _download_url_to_file(url, dst, hash_prefix=None, progress=True): warnings.warn('torch.hub._download_url_to_file has been renamed to\ @@ -761,7 +761,7 @@

      Source code for torch.hub

                   _download_url_to_file will be removed in after 1.3 release')
           download_url_to_file(url, dst, hash_prefix, progress)
       
      -def load_state_dict_from_url(url, model_dir=None, map_location=None, progress=True, check_hash=False, file_name=None):
      +
      [docs]def load_state_dict_from_url(url, model_dir=None, map_location=None, progress=True, check_hash=False, file_name=None): r"""Loads the Torch serialized object at the given URL. If downloaded file is a zip file, it will be automatically @@ -829,7 +829,7 @@

      Source code for torch.hub

                   extraced_name = members[0].filename
                   cached_file = os.path.join(model_dir, extraced_name)
       
      -    return torch.load(cached_file, map_location=map_location)
      +    return torch.load(cached_file, map_location=map_location)
      diff --git a/docs/stable/_modules/torch/jit.html b/docs/stable/_modules/torch/jit.html index b03a5de7880d..17f36b5fd7f7 100644 --- a/docs/stable/_modules/torch/jit.html +++ b/docs/stable/_modules/torch/jit.html @@ -470,7 +470,7 @@

      Source code for torch.jit

       DEFAULT_EXTRA_FILES_MAP = torch._C.ExtraFilesMap()
       
       
      -def save(m, f, _extra_files=DEFAULT_EXTRA_FILES_MAP):
      +
      [docs]def save(m, f, _extra_files=DEFAULT_EXTRA_FILES_MAP): r""" Save an offline version of this module for use in a separate process. The saved module serializes all of the methods, submodules, parameters, and @@ -534,9 +534,9 @@

      Source code for torch.jit

               m.save(f, _extra_files=_extra_files)
           else:
               ret = m.save_to_buffer(_extra_files=_extra_files)
      -        f.write(ret)
      +        f.write(ret)
      -def load(f, map_location=None, _extra_files=DEFAULT_EXTRA_FILES_MAP): +
      [docs]def load(f, map_location=None, _extra_files=DEFAULT_EXTRA_FILES_MAP): r""" Load a :class:`ScriptModule` or :class:`ScriptFunction` previously saved with :func:`torch.jit.save <torch.jit.save>` @@ -614,7 +614,7 @@

      Source code for torch.jit

               cpp_module = torch._C.import_ir_module_from_buffer(cu, f.read(), map_location, _extra_files)
       
           # TODO: Pretty sure this approach loses ConstSequential status and such
      -    return torch.jit._recursive.wrap_cpp_module(cpp_module)
      +    return torch.jit._recursive.wrap_cpp_module(cpp_module)
      def validate_map_location(map_location=None): if isinstance(map_location, str): @@ -1460,7 +1460,7 @@

      Source code for torch.jit

           return module
      -def fork(func, *args, **kwargs): +
      [docs]def fork(func, *args, **kwargs): """ Creates an asynchronous task executing `func` and a reference to the value of the result of this execution. `fork` will return immediately, @@ -1517,7 +1517,7 @@

      Source code for torch.jit

               mod = Mod()
               assert mod(input) == torch.jit.script(mod).forward(input)
           """
      -    return torch._C.fork(func, *args, **kwargs)
      +    return torch._C.fork(func, *args, **kwargs)
      [docs]def wait(future): @@ -1532,7 +1532,7 @@

      Source code for torch.jit

           return torch._C.wait(future)
      -def freeze(mod, preserved_attrs : Optional[List[str]] = None): +
      [docs]def freeze(mod, preserved_attrs : Optional[List[str]] = None): r""" Freezing a :class:`ScriptModule` will clone it and attempt to inline the cloned module's submodules, parameters, and attributes as constants in the TorchScript IR Graph. @@ -1614,7 +1614,7 @@

      Source code for torch.jit

           out = RecursiveScriptModule(torch._C._freeze_module(mod._c, preserved_attrs))
           RecursiveScriptModule._finalize_scriptmodule(out)
       
      -    return out
      +    return out
      class CompilationUnit(object): @@ -1700,7 +1700,7 @@

      Source code for torch.jit

           _jit_script_class_compile(qualified_name, ast, rcb)
           _add_script_class(obj, qualified_name)
       
      -def script(obj, optimize=None, _frames_up=0, _rcb=None):
      +
      [docs]def script(obj, optimize=None, _frames_up=0, _rcb=None): r""" Scripting a function or ``nn.Module`` will inspect the source code, compile it as TorchScript code using the TorchScript compiler, and return a :class:`ScriptModule` or @@ -1888,7 +1888,7 @@

      Source code for torch.jit

               # Forward docstrings
               fn.__doc__ = obj.__doc__
               _set_jit_function_cache(obj, fn)
      -        return fn
      +        return fn
      def interface(obj): if not inspect.isclass(obj): @@ -2518,9 +2518,9 @@

      Source code for torch.jit

       
       else:
           # TODO MAKE SURE THAT DISABLING WORKS
      -    class ScriptModule(torch.nn.Module):
      +
      [docs] class ScriptModule(torch.nn.Module): def __init__(self): - super(ScriptModule, self).__init__() + super(ScriptModule, self).__init__()
      class TracedModule(ScriptModule): diff --git a/docs/stable/_modules/torch/nn/modules/activation.html b/docs/stable/_modules/torch/nn/modules/activation.html index f7123592d60c..1ec6a88b9ea8 100644 --- a/docs/stable/_modules/torch/nn/modules/activation.html +++ b/docs/stable/_modules/torch/nn/modules/activation.html @@ -507,7 +507,7 @@

      Source code for torch.nn.modules.activation

               return 'lower={}, upper={}{}'.format(self.lower, self.upper, inplace_str)
       
       
      -class Hardtanh(Module):
      +
      [docs]class Hardtanh(Module): r"""Applies the HardTanh function element-wise HardTanh is defined as: @@ -577,7 +577,7 @@

      Source code for torch.nn.modules.activation

               inplace_str = ', inplace=True' if self.inplace else ''
               return 'min_val={}, max_val={}{}'.format(
                   self.min_val, self.max_val, inplace_str
      -        )
      +        )
      class ReLU6(Hardtanh): @@ -636,7 +636,7 @@

      Source code for torch.nn.modules.activation

               return torch.sigmoid(input)
       
       
      -class Hardsigmoid(Module):
      +
      [docs]class Hardsigmoid(Module): r"""Applies the element-wise function: .. math:: @@ -660,7 +660,7 @@

      Source code for torch.nn.modules.activation

           """
       
           def forward(self, input: Tensor) -> Tensor:
      -        return F.hardsigmoid(input)
      +        return F.hardsigmoid(input)
      class Tanh(Module): @@ -687,7 +687,7 @@

      Source code for torch.nn.modules.activation

               return torch.tanh(input)
       
       
      -class Hardswish(Module):
      +
      [docs]class Hardswish(Module): r"""Applies the hardswish function, element-wise, as described in the paper: `Searching for MobileNetV3`_. @@ -715,10 +715,10 @@

      Source code for torch.nn.modules.activation

           """
       
           def forward(self, input: Tensor) -> Tensor:
      -        return F.hardswish(input)
      +        return F.hardswish(input)
      -
      [docs]class ELU(Module): +class ELU(Module): r"""Applies the element-wise function: .. math:: @@ -755,7 +755,7 @@

      Source code for torch.nn.modules.activation

       
           def extra_repr(self) -> str:
               inplace_str = ', inplace=True' if self.inplace else ''
      -        return 'alpha={}{}'.format(self.alpha, inplace_str)
      + return 'alpha={}{}'.format(self.alpha, inplace_str) class CELU(Module): @@ -945,7 +945,7 @@

      Source code for torch.nn.modules.activation

               return '{}'.format(self.lambd)
       
       
      -class LeakyReLU(Module):
      +
      [docs]class LeakyReLU(Module): r"""Applies the element-wise function: .. math:: @@ -992,10 +992,10 @@

      Source code for torch.nn.modules.activation

       
           def extra_repr(self) -> str:
               inplace_str = ', inplace=True' if self.inplace else ''
      -        return 'negative_slope={}{}'.format(self.negative_slope, inplace_str)
      +        return 'negative_slope={}{}'.format(self.negative_slope, inplace_str)
      -class LogSigmoid(Module): +
      [docs]class LogSigmoid(Module): r"""Applies the element-wise function: .. math:: @@ -1016,7 +1016,7 @@

      Source code for torch.nn.modules.activation

           """
       
           def forward(self, input: Tensor) -> Tensor:
      -        return F.logsigmoid(input)
      +        return F.logsigmoid(input)
      class Softplus(Module): @@ -1105,7 +1105,7 @@

      Source code for torch.nn.modules.activation

               return str(self.lambd)
       
       
      -class MultiheadAttention(Module):
      +
      [docs]class MultiheadAttention(Module): r"""Allows the model to jointly attend to information from different representation subspaces. See reference: Attention Is All You Need @@ -1200,7 +1200,7 @@

      Source code for torch.nn.modules.activation

       
               super(MultiheadAttention, self).__setstate__(state)
       
      -    def forward(self, query, key, value, key_padding_mask=None,
      +
      [docs] def forward(self, query, key, value, key_padding_mask=None, need_weights=True, attn_mask=None): # type: (Tensor, Tensor, Tensor, Optional[Tensor], bool, Optional[Tensor]) -> Tuple[Tensor, Optional[Tensor]] r""" @@ -1261,7 +1261,7 @@

      Source code for torch.nn.modules.activation

                       self.dropout, self.out_proj.weight, self.out_proj.bias,
                       training=self.training,
                       key_padding_mask=key_padding_mask, need_weights=need_weights,
      -                attn_mask=attn_mask)
      +                attn_mask=attn_mask)
      class PReLU(Module): @@ -1507,7 +1507,7 @@

      Source code for torch.nn.modules.activation

               return F.softmax(input, 1, _stacklevel=5)
       
       
      -class LogSoftmax(Module):
      +
      [docs]class LogSoftmax(Module): r"""Applies the :math:`\log(\text{Softmax}(x))` function to an n-dimensional input Tensor. The LogSoftmax formulation can be simplified as: @@ -1548,7 +1548,7 @@

      Source code for torch.nn.modules.activation

               return F.log_softmax(input, self.dim, _stacklevel=5)
       
           def extra_repr(self):
      -        return 'dim={dim}'.format(dim=self.dim)
      +        return 'dim={dim}'.format(dim=self.dim)
      diff --git a/docs/stable/_modules/torch/nn/modules/batchnorm.html b/docs/stable/_modules/torch/nn/modules/batchnorm.html index d6f3e4670a92..8801d57e2749 100644 --- a/docs/stable/_modules/torch/nn/modules/batchnorm.html +++ b/docs/stable/_modules/torch/nn/modules/batchnorm.html @@ -473,7 +473,7 @@

      Source code for torch.nn.modules.batchnorm

                   self.weight, self.bias, bn_training, exponential_average_factor, self.eps)
       
       
      -
      [docs]class BatchNorm1d(_BatchNorm): +class BatchNorm1d(_BatchNorm): r"""Applies Batch Normalization over a 2D or 3D input (a mini-batch of 1D inputs with optional additional channel dimension) as described in the paper `Batch Normalization: Accelerating Deep Network Training by Reducing @@ -541,10 +541,10 @@

      Source code for torch.nn.modules.batchnorm

           def _check_input_dim(self, input):
               if input.dim() != 2 and input.dim() != 3:
                   raise ValueError('expected 2D or 3D input (got {}D input)'
      -                             .format(input.dim()))
      + .format(input.dim())) -
      [docs]class BatchNorm2d(_BatchNorm): +class BatchNorm2d(_BatchNorm): r"""Applies Batch Normalization over a 4D input (a mini-batch of 2D inputs with additional channel dimension) as described in the paper `Batch Normalization: Accelerating Deep Network Training by Reducing @@ -612,10 +612,10 @@

      Source code for torch.nn.modules.batchnorm

           def _check_input_dim(self, input):
               if input.dim() != 4:
                   raise ValueError('expected 4D input (got {}D input)'
      -                             .format(input.dim()))
      + .format(input.dim())) -
      [docs]class BatchNorm3d(_BatchNorm): +class BatchNorm3d(_BatchNorm): r"""Applies Batch Normalization over a 5D input (a mini-batch of 3D inputs with additional channel dimension) as described in the paper `Batch Normalization: Accelerating Deep Network Training by Reducing @@ -684,10 +684,10 @@

      Source code for torch.nn.modules.batchnorm

           def _check_input_dim(self, input):
               if input.dim() != 5:
                   raise ValueError('expected 5D input (got {}D input)'
      -                             .format(input.dim()))
      + .format(input.dim())) -class SyncBatchNorm(_BatchNorm): +
      [docs]class SyncBatchNorm(_BatchNorm): r"""Applies Batch Normalization over a N-Dimensional input (a mini-batch of [N-2]D inputs with additional channel dimension) as described in the paper `Batch Normalization: Accelerating Deep Network Training by Reducing @@ -844,7 +844,7 @@

      Source code for torch.nn.modules.batchnorm

                       input, self.weight, self.bias, self.running_mean, self.running_var,
                       self.eps, exponential_average_factor, process_group, world_size)
       
      -    @classmethod
      +
      [docs] @classmethod def convert_sync_batchnorm(cls, module, process_group=None): r"""Helper function to convert all :attr:`BatchNorm*D` layers in the model to :class:`torch.nn.SyncBatchNorm` layers. @@ -890,7 +890,7 @@

      Source code for torch.nn.modules.batchnorm

               for name, child in module.named_children():
                   module_output.add_module(name, cls.convert_sync_batchnorm(child, process_group))
               del module
      -        return module_output
      +        return module_output
      diff --git a/docs/stable/_modules/torch/nn/modules/container.html b/docs/stable/_modules/torch/nn/modules/container.html index 3557d0e3b04c..c60fd1f7ad72 100644 --- a/docs/stable/_modules/torch/nn/modules/container.html +++ b/docs/stable/_modules/torch/nn/modules/container.html @@ -362,7 +362,7 @@

      Source code for torch.nn.modules.container

                   self.add_module(key, value)
       
       
      -
      [docs]class Sequential(Module): +class Sequential(Module): r"""A sequential container. Modules will be added to it in the order they are passed in the constructor. Alternatively, an ordered dict of modules can also be passed in. @@ -452,10 +452,10 @@

      Source code for torch.nn.modules.container

           def forward(self, input):
               for module in self:
                   input = module(input)
      -        return input
      + return input -class ModuleList(Module): +
      [docs]class ModuleList(Module): r"""Holds submodules in a list. :class:`~torch.nn.ModuleList` can be indexed like a regular Python list, but @@ -531,7 +531,7 @@

      Source code for torch.nn.modules.container

               keys = [key for key in keys if not key.isdigit()]
               return keys
       
      -    def insert(self, index: int, module: Module) -> None:
      +
      [docs] def insert(self, index: int, module: Module) -> None: r"""Insert a given module before a given index in the list. Arguments: @@ -540,18 +540,18 @@

      Source code for torch.nn.modules.container

               """
               for i in range(len(self._modules), index, -1):
                   self._modules[str(i)] = self._modules[str(i - 1)]
      -        self._modules[str(index)] = module
      +        self._modules[str(index)] = module
      - def append(self: T, module: Module) -> T: +
      [docs] def append(self: T, module: Module) -> T: r"""Appends a given module to the end of the list. Arguments: module (nn.Module): module to append """ self.add_module(str(len(self)), module) - return self + return self
      - def extend(self: T, modules: Iterable[Module]) -> T: +
      [docs] def extend(self: T, modules: Iterable[Module]) -> T: r"""Appends modules from a Python iterable to the end of the list. Arguments: @@ -563,13 +563,13 @@

      Source code for torch.nn.modules.container

               offset = len(self)
               for i, module in enumerate(modules):
                   self.add_module(str(offset + i), module)
      -        return self
      +        return self
      def forward(self): - raise NotImplementedError() + raise NotImplementedError()
      -class ModuleDict(Module): +
      [docs]class ModuleDict(Module): r"""Holds submodules in a dictionary. :class:`~torch.nn.ModuleDict` can be indexed like a regular Python dictionary, @@ -638,12 +638,12 @@

      Source code for torch.nn.modules.container

           def __contains__(self, key: str) -> bool:
               return key in self._modules
       
      -    def clear(self) -> None:
      +
      [docs] def clear(self) -> None: """Remove all items from the ModuleDict. """ - self._modules.clear() + self._modules.clear()
      - def pop(self, key: str) -> Module: +
      [docs] def pop(self, key: str) -> Module: r"""Remove key from the ModuleDict and return its module. Arguments: @@ -651,27 +651,27 @@

      Source code for torch.nn.modules.container

               """
               v = self[key]
               del self[key]
      -        return v
      +        return v
      - @_copy_to_script_wrapper +
      [docs] @_copy_to_script_wrapper def keys(self) -> Iterable[str]: r"""Return an iterable of the ModuleDict keys. """ - return self._modules.keys() + return self._modules.keys()
      - @_copy_to_script_wrapper +
      [docs] @_copy_to_script_wrapper def items(self) -> Iterable[Tuple[str, Module]]: r"""Return an iterable of the ModuleDict key/value pairs. """ - return self._modules.items() + return self._modules.items()
      - @_copy_to_script_wrapper +
      [docs] @_copy_to_script_wrapper def values(self) -> Iterable[Module]: r"""Return an iterable of the ModuleDict values. """ - return self._modules.values() + return self._modules.values()
      - def update(self, modules: Mapping[str, Module]) -> None: +
      [docs] def update(self, modules: Mapping[str, Module]) -> None: r"""Update the :class:`~torch.nn.ModuleDict` with the key-value pairs from a mapping or an iterable, overwriting existing keys. @@ -704,10 +704,10 @@

      Source code for torch.nn.modules.container

                           raise ValueError("ModuleDict update sequence element "
                                            "#" + str(j) + " has length " + str(len(m)) +
                                            "; 2 is required")
      -                self[m[0]] = m[1]
      +                self[m[0]] = m[1]
      def forward(self): - raise NotImplementedError() + raise NotImplementedError()
      class ParameterList(Module): diff --git a/docs/stable/_modules/torch/nn/modules/conv.html b/docs/stable/_modules/torch/nn/modules/conv.html index bc80ef42c898..9ee2f7fccfa6 100644 --- a/docs/stable/_modules/torch/nn/modules/conv.html +++ b/docs/stable/_modules/torch/nn/modules/conv.html @@ -449,7 +449,7 @@

      Source code for torch.nn.modules.conv

                   self.padding_mode = 'zeros'
       
       
      -class Conv1d(_ConvNd):
      +
      [docs]class Conv1d(_ConvNd): r"""Applies a 1D convolution over an input signal composed of several input planes. @@ -591,7 +591,7 @@

      Source code for torch.nn.modules.conv

                                   self.weight, self.bias, self.stride,
                                   _single(0), self.dilation, self.groups)
               return F.conv1d(input, self.weight, self.bias, self.stride,
      -                        self.padding, self.dilation, self.groups)
      +                        self.padding, self.dilation, self.groups)
      [docs]class Conv2d(_ConvNd): diff --git a/docs/stable/_modules/torch/nn/modules/distance.html b/docs/stable/_modules/torch/nn/modules/distance.html index 6dc27a616f07..d6914cf2d86f 100644 --- a/docs/stable/_modules/torch/nn/modules/distance.html +++ b/docs/stable/_modules/torch/nn/modules/distance.html @@ -341,7 +341,7 @@

      Source code for torch.nn.modules.distance

       from torch import Tensor
       
       
      -class PairwiseDistance(Module):
      +
      [docs]class PairwiseDistance(Module): r""" Computes the batchwise pairwise distance between vectors :math:`v_1`, :math:`v_2` using the p-norm: @@ -376,10 +376,10 @@

      Source code for torch.nn.modules.distance

               self.keepdim = keepdim
       
           def forward(self, x1: Tensor, x2: Tensor) -> Tensor:
      -        return F.pairwise_distance(x1, x2, self.norm, self.eps, self.keepdim)
      +        return F.pairwise_distance(x1, x2, self.norm, self.eps, self.keepdim)
      -
      [docs]class CosineSimilarity(Module): +class CosineSimilarity(Module): r"""Returns cosine similarity between :math:`x_1` and :math:`x_2`, computed along dim. .. math :: @@ -409,7 +409,7 @@

      Source code for torch.nn.modules.distance

               self.eps = eps
       
           def forward(self, x1: Tensor, x2: Tensor) -> Tensor:
      -        return F.cosine_similarity(x1, x2, self.dim, self.eps)
      + return F.cosine_similarity(x1, x2, self.dim, self.eps)
      diff --git a/docs/stable/_modules/torch/nn/modules/dropout.html b/docs/stable/_modules/torch/nn/modules/dropout.html index 9385e2dd3817..8f1d1a623938 100644 --- a/docs/stable/_modules/torch/nn/modules/dropout.html +++ b/docs/stable/_modules/torch/nn/modules/dropout.html @@ -358,7 +358,7 @@

      Source code for torch.nn.modules.dropout

               return 'p={}, inplace={}'.format(self.p, self.inplace)
       
       
      -
      [docs]class Dropout(_DropoutNd): +class Dropout(_DropoutNd): r"""During training, randomly zeroes some of the elements of the input tensor with probability :attr:`p` using samples from a Bernoulli distribution. Each channel will be zeroed out independently on every forward @@ -392,10 +392,10 @@

      Source code for torch.nn.modules.dropout

           """
       
           def forward(self, input: Tensor) -> Tensor:
      -        return F.dropout(input, self.p, self.training, self.inplace)
      + return F.dropout(input, self.p, self.training, self.inplace) -
      [docs]class Dropout2d(_DropoutNd): +class Dropout2d(_DropoutNd): r"""Randomly zero out entire channels (a channel is a 2D feature map, e.g., the :math:`j`-th channel of the :math:`i`-th sample in the batched input is a 2D tensor :math:`\text{input}[i, j]`). @@ -434,10 +434,10 @@

      Source code for torch.nn.modules.dropout

           """
       
           def forward(self, input: Tensor) -> Tensor:
      -        return F.dropout2d(input, self.p, self.training, self.inplace)
      + return F.dropout2d(input, self.p, self.training, self.inplace) -
      [docs]class Dropout3d(_DropoutNd): +class Dropout3d(_DropoutNd): r"""Randomly zero out entire channels (a channel is a 3D feature map, e.g., the :math:`j`-th channel of the :math:`i`-th sample in the batched input is a 3D tensor :math:`\text{input}[i, j]`). @@ -476,10 +476,10 @@

      Source code for torch.nn.modules.dropout

           """
       
           def forward(self, input: Tensor) -> Tensor:
      -        return F.dropout3d(input, self.p, self.training, self.inplace)
      + return F.dropout3d(input, self.p, self.training, self.inplace) -class AlphaDropout(_DropoutNd): +
      [docs]class AlphaDropout(_DropoutNd): r"""Applies Alpha Dropout over the input. Alpha Dropout is a type of Dropout that maintains the self-normalizing @@ -518,7 +518,7 @@

      Source code for torch.nn.modules.dropout

           """
       
           def forward(self, input: Tensor) -> Tensor:
      -        return F.alpha_dropout(input, self.p, self.training)
      +        return F.alpha_dropout(input, self.p, self.training)
      class FeatureAlphaDropout(_DropoutNd): diff --git a/docs/stable/_modules/torch/nn/modules/fold.html b/docs/stable/_modules/torch/nn/modules/fold.html index a4344a8aebe1..5027366d086f 100644 --- a/docs/stable/_modules/torch/nn/modules/fold.html +++ b/docs/stable/_modules/torch/nn/modules/fold.html @@ -343,7 +343,7 @@

      Source code for torch.nn.modules.fold

       from ..common_types import _size_any_t
       
       
      -
      [docs]class Fold(Module): +class Fold(Module): r"""Combines an array of sliding local blocks into a large containing tensor. @@ -485,7 +485,7 @@

      Source code for torch.nn.modules.fold

               return 'output_size={output_size}, kernel_size={kernel_size}, ' \
                   'dilation={dilation}, padding={padding}, stride={stride}'.format(
                       **self.__dict__
      -            )
      + )
      [docs]class Unfold(Module): diff --git a/docs/stable/_modules/torch/nn/modules/instancenorm.html b/docs/stable/_modules/torch/nn/modules/instancenorm.html index b291becfd26e..083310962935 100644 --- a/docs/stable/_modules/torch/nn/modules/instancenorm.html +++ b/docs/stable/_modules/torch/nn/modules/instancenorm.html @@ -394,7 +394,7 @@

      Source code for torch.nn.modules.instancenorm

      self.training or not self.track_running_stats, self.momentum, self.eps) -class InstanceNorm1d(_InstanceNorm): +
      [docs]class InstanceNorm1d(_InstanceNorm): r"""Applies Instance Normalization over a 3D input (a mini-batch of 1D inputs with optional additional channel dimension) as described in the paper `Instance Normalization: The Missing Ingredient for Fast Stylization @@ -472,10 +472,10 @@

      Source code for torch.nn.modules.instancenorm

      ) if input.dim() != 3: raise ValueError('expected 3D input (got {}D input)' - .format(input.dim())) + .format(input.dim()))
      -class InstanceNorm2d(_InstanceNorm): +
      [docs]class InstanceNorm2d(_InstanceNorm): r"""Applies Instance Normalization over a 4D input (a mini-batch of 2D inputs with additional channel dimension) as described in the paper `Instance Normalization: The Missing Ingredient for Fast Stylization @@ -546,7 +546,7 @@

      Source code for torch.nn.modules.instancenorm

      def _check_input_dim(self, input): if input.dim() != 4: raise ValueError('expected 4D input (got {}D input)' - .format(input.dim())) + .format(input.dim()))
      [docs]class InstanceNorm3d(_InstanceNorm): diff --git a/docs/stable/_modules/torch/nn/modules/linear.html b/docs/stable/_modules/torch/nn/modules/linear.html index 946022a7b73f..9542e5ae4d88 100644 --- a/docs/stable/_modules/torch/nn/modules/linear.html +++ b/docs/stable/_modules/torch/nn/modules/linear.html @@ -345,7 +345,7 @@

      Source code for torch.nn.modules.linear

       from .module import Module
       
       
      -class Identity(Module):
      +
      [docs]class Identity(Module): r"""A placeholder identity operator that is argument-insensitive. Args: @@ -365,10 +365,10 @@

      Source code for torch.nn.modules.linear

               super(Identity, self).__init__()
       
           def forward(self, input: Tensor) -> Tensor:
      -        return input
      +        return input
      -class Linear(Module): +
      [docs]class Linear(Module): r"""Applies a linear transformation to the incoming data: :math:`y = xA^T + b` Args: @@ -430,7 +430,7 @@

      Source code for torch.nn.modules.linear

           def extra_repr(self) -> str:
               return 'in_features={}, out_features={}, bias={}'.format(
                   self.in_features, self.out_features, self.bias is not None
      -        )
      +        )
      # This class exists soley for Transformer; it has an annotation stating @@ -442,7 +442,7 @@

      Source code for torch.nn.modules.linear

               super().__init__(in_features, out_features, bias=True)
       
       
      -
      [docs]class Bilinear(Module): +class Bilinear(Module): r"""Applies a bilinear transformation to the incoming data: :math:`y = x_1^T A x_2 + b` @@ -511,7 +511,7 @@

      Source code for torch.nn.modules.linear

           def extra_repr(self) -> str:
               return 'in1_features={}, in2_features={}, out_features={}, bias={}'.format(
                   self.in1_features, self.in2_features, self.out_features, self.bias is not None
      -        )
      + ) # TODO: PartialLinear - maybe in sparse?
      diff --git a/docs/stable/_modules/torch/nn/modules/loss.html b/docs/stable/_modules/torch/nn/modules/loss.html index aa82db3289db..5dfac6d8a612 100644 --- a/docs/stable/_modules/torch/nn/modules/loss.html +++ b/docs/stable/_modules/torch/nn/modules/loss.html @@ -362,7 +362,7 @@

      Source code for torch.nn.modules.loss

               self.register_buffer('weight', weight)
       
       
      -class L1Loss(_Loss):
      +
      [docs]class L1Loss(_Loss): r"""Creates a criterion that measures the mean absolute error (MAE) between each element in the input :math:`x` and target :math:`y`. @@ -427,7 +427,7 @@

      Source code for torch.nn.modules.loss

               super(L1Loss, self).__init__(size_average, reduce, reduction)
       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
      -        return F.l1_loss(input, target, reduction=self.reduction)
      +        return F.l1_loss(input, target, reduction=self.reduction)
      class NLLLoss(_WeightedLoss): @@ -631,7 +631,7 @@

      Source code for torch.nn.modules.loss

                                         eps=self.eps, reduction=self.reduction)
       
       
      -class KLDivLoss(_Loss):
      +
      [docs]class KLDivLoss(_Loss): r"""The `Kullback-Leibler divergence`_ Loss KL divergence is a useful distance measure for continuous distributions @@ -713,10 +713,10 @@

      Source code for torch.nn.modules.loss

               self.log_target = log_target
       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
      -        return F.kl_div(input, target, reduction=self.reduction, log_target=self.log_target)
      +        return F.kl_div(input, target, reduction=self.reduction, log_target=self.log_target)
      -class MSELoss(_Loss): +
      [docs]class MSELoss(_Loss): r"""Creates a criterion that measures the mean squared error (squared L2 norm) between each element in the input :math:`x` and target :math:`y`. @@ -779,7 +779,7 @@

      Source code for torch.nn.modules.loss

               super(MSELoss, self).__init__(size_average, reduce, reduction)
       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
      -        return F.mse_loss(input, target, reduction=self.reduction)
      +        return F.mse_loss(input, target, reduction=self.reduction)
      class BCELoss(_WeightedLoss): @@ -968,7 +968,7 @@

      Source code for torch.nn.modules.loss

                                                         reduction=self.reduction)
       
       
      -class HingeEmbeddingLoss(_Loss):
      +
      [docs]class HingeEmbeddingLoss(_Loss): r"""Measures the loss given an input tensor :math:`x` and a labels tensor :math:`y` (containing 1 or -1). This is usually used for measuring whether two inputs are similar or @@ -1025,10 +1025,10 @@

      Source code for torch.nn.modules.loss

               self.margin = margin
       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
      -        return F.hinge_embedding_loss(input, target, margin=self.margin, reduction=self.reduction)
      +        return F.hinge_embedding_loss(input, target, margin=self.margin, reduction=self.reduction)
      -class MultiLabelMarginLoss(_Loss): +
      [docs]class MultiLabelMarginLoss(_Loss): r"""Creates a criterion that optimizes a multi-class multi-classification hinge loss (margin-based loss) between input :math:`x` (a 2D mini-batch `Tensor`) and output :math:`y` (which is a 2D `Tensor` of target class indices). @@ -1089,7 +1089,7 @@

      Source code for torch.nn.modules.loss

               super(MultiLabelMarginLoss, self).__init__(size_average, reduce, reduction)
       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
      -        return F.multilabel_margin_loss(input, target, reduction=self.reduction)
      +        return F.multilabel_margin_loss(input, target, reduction=self.reduction)
      class SmoothL1Loss(_Loss): @@ -1191,7 +1191,7 @@

      Source code for torch.nn.modules.loss

               return F.soft_margin_loss(input, target, reduction=self.reduction)
       
       
      -
      [docs]class CrossEntropyLoss(_WeightedLoss): +class CrossEntropyLoss(_WeightedLoss): r"""This criterion combines :func:`nn.LogSoftmax` and :func:`nn.NLLLoss` in one single class. It is useful when training a classification problem with `C` classes. @@ -1282,10 +1282,10 @@

      Source code for torch.nn.modules.loss

       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
               return F.cross_entropy(input, target, weight=self.weight,
      -                               ignore_index=self.ignore_index, reduction=self.reduction)
      + ignore_index=self.ignore_index, reduction=self.reduction) -class MultiLabelSoftMarginLoss(_WeightedLoss): +
      [docs]class MultiLabelSoftMarginLoss(_WeightedLoss): r"""Creates a criterion that optimizes a multi-label one-versus-all loss based on max-entropy, between input :math:`x` and target :math:`y` of size :math:`(N, C)`. @@ -1329,7 +1329,7 @@

      Source code for torch.nn.modules.loss

               super(MultiLabelSoftMarginLoss, self).__init__(weight, size_average, reduce, reduction)
       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
      -        return F.multilabel_soft_margin_loss(input, target, weight=self.weight, reduction=self.reduction)
      +        return F.multilabel_soft_margin_loss(input, target, weight=self.weight, reduction=self.reduction)
      class CosineEmbeddingLoss(_Loss): @@ -1379,7 +1379,7 @@

      Source code for torch.nn.modules.loss

               return F.cosine_embedding_loss(input1, input2, target, margin=self.margin, reduction=self.reduction)
       
       
      -class MarginRankingLoss(_Loss):
      +
      [docs]class MarginRankingLoss(_Loss): r"""Creates a criterion that measures the loss given inputs :math:`x1`, :math:`x2`, two 1D mini-batch `Tensors`, and a label 1D mini-batch tensor :math:`y` (containing 1 or -1). @@ -1423,10 +1423,10 @@

      Source code for torch.nn.modules.loss

               self.margin = margin
       
           def forward(self, input1: Tensor, input2: Tensor, target: Tensor) -> Tensor:
      -        return F.margin_ranking_loss(input1, input2, target, margin=self.margin, reduction=self.reduction)
      +        return F.margin_ranking_loss(input1, input2, target, margin=self.margin, reduction=self.reduction)
      -class MultiMarginLoss(_WeightedLoss): +
      [docs]class MultiMarginLoss(_WeightedLoss): r"""Creates a criterion that optimizes a multi-class classification hinge loss (margin-based loss) between input :math:`x` (a 2D mini-batch `Tensor`) and output :math:`y` (which is a 1D tensor of target class indices, @@ -1487,7 +1487,7 @@

      Source code for torch.nn.modules.loss

       
           def forward(self, input: Tensor, target: Tensor) -> Tensor:
               return F.multi_margin_loss(input, target, p=self.p, margin=self.margin,
      -                                   weight=self.weight, reduction=self.reduction)
      +                                   weight=self.weight, reduction=self.reduction)
      [docs]class TripletMarginLoss(_Loss): diff --git a/docs/stable/_modules/torch/nn/modules/module.html b/docs/stable/_modules/torch/nn/modules/module.html index 06987a5fc4d3..eef19b781c4d 100644 --- a/docs/stable/_modules/torch/nn/modules/module.html +++ b/docs/stable/_modules/torch/nn/modules/module.html @@ -495,7 +495,7 @@

      Source code for torch.nn.modules.module

           return handle
       
       
      -class Module:
      +
      [docs]class Module: r"""Base class for all neural network modules. Your models should also subclass this class. @@ -571,7 +571,7 @@

      Source code for torch.nn.modules.module

           """
           forward: Callable[..., Any] = _forward_unimplemented
       
      -    def register_buffer(self, name: str, tensor: Tensor, persistent: bool = True) -> None:
      +
      [docs] def register_buffer(self, name: str, tensor: Tensor, persistent: bool = True) -> None: r"""Adds a buffer to the module. This is typically used to register a buffer that should not to be @@ -621,9 +621,9 @@

      Source code for torch.nn.modules.module

                   if persistent:
                       self._non_persistent_buffers_set.discard(name)
                   else:
      -                self._non_persistent_buffers_set.add(name)
      +                self._non_persistent_buffers_set.add(name)
      - def register_parameter(self, name: str, param: Parameter) -> None: +
      [docs] def register_parameter(self, name: str, param: Parameter) -> None: r"""Adds a parameter to the module. The parameter can be accessed as an attribute using given name. @@ -660,9 +660,9 @@

      Source code for torch.nn.modules.module

                       "as a function of another Tensor, compute the value in "
                       "the forward() method.".format(name))
               else:
      -            self._parameters[name] = param
      +            self._parameters[name] = param
      - def add_module(self, name: str, module: 'Module') -> None: +
      [docs] def add_module(self, name: str, module: 'Module') -> None: r"""Adds a child module to the current module. The module can be accessed as an attribute using the given name. @@ -684,7 +684,7 @@

      Source code for torch.nn.modules.module

                   raise KeyError("module name can't contain \".\"")
               elif name == '':
                   raise KeyError("module name can't be empty string \"\"")
      -        self._modules[name] = module
      +        self._modules[name] = module
      def _apply(self, fn): for module in self.children(): @@ -735,7 +735,7 @@

      Source code for torch.nn.modules.module

       
               return self
       
      -    def apply(self: T, fn: Callable[['Module'], None]) -> T:
      +
      [docs] def apply(self: T, fn: Callable[['Module'], None]) -> T: r"""Applies ``fn`` recursively to every submodule (as returned by ``.children()``) as well as self. Typical use includes initializing the parameters of a model (see also :ref:`nn-init-doc`). @@ -776,9 +776,9 @@

      Source code for torch.nn.modules.module

               for module in self.children():
                   module.apply(fn)
               fn(self)
      -        return self
      +        return self
      - def cuda(self: T, device: Optional[Union[int, device]] = None) -> T: +
      [docs] def cuda(self: T, device: Optional[Union[int, device]] = None) -> T: r"""Moves all model parameters and buffers to the GPU. This also makes associated parameters and buffers different objects. So @@ -792,17 +792,17 @@

      Source code for torch.nn.modules.module

               Returns:
                   Module: self
               """
      -        return self._apply(lambda t: t.cuda(device))
      +        return self._apply(lambda t: t.cuda(device))
      - def cpu(self: T) -> T: +
      [docs] def cpu(self: T) -> T: r"""Moves all model parameters and buffers to the CPU. Returns: Module: self """ - return self._apply(lambda t: t.cpu()) + return self._apply(lambda t: t.cpu())
      - def type(self: T, dst_type: Union[dtype, str]) -> T: +
      [docs] def type(self: T, dst_type: Union[dtype, str]) -> T: r"""Casts all parameters and buffers to :attr:`dst_type`. Arguments: @@ -811,39 +811,39 @@

      Source code for torch.nn.modules.module

               Returns:
                   Module: self
               """
      -        return self._apply(lambda t: t.type(dst_type))
      +        return self._apply(lambda t: t.type(dst_type))
      - def float(self: T) -> T: +
      [docs] def float(self: T) -> T: r"""Casts all floating point parameters and buffers to float datatype. Returns: Module: self """ - return self._apply(lambda t: t.float() if t.is_floating_point() else t) + return self._apply(lambda t: t.float() if t.is_floating_point() else t)
      - def double(self: T) -> T: +
      [docs] def double(self: T) -> T: r"""Casts all floating point parameters and buffers to ``double`` datatype. Returns: Module: self """ - return self._apply(lambda t: t.double() if t.is_floating_point() else t) + return self._apply(lambda t: t.double() if t.is_floating_point() else t)
      - def half(self: T) -> T: +
      [docs] def half(self: T) -> T: r"""Casts all floating point parameters and buffers to ``half`` datatype. Returns: Module: self """ - return self._apply(lambda t: t.half() if t.is_floating_point() else t) + return self._apply(lambda t: t.half() if t.is_floating_point() else t)
      - def bfloat16(self: T) -> T: +
      [docs] def bfloat16(self: T) -> T: r"""Casts all floating point parameters and buffers to ``bfloat16`` datatype. Returns: Module: self """ - return self._apply(lambda t: t.bfloat16() if t.is_floating_point() else t) + return self._apply(lambda t: t.bfloat16() if t.is_floating_point() else t)
      @overload def to(self: T, device: Optional[Union[int, device]] = ..., dtype: Optional[Union[dtype, str]] = ..., @@ -858,7 +858,7 @@

      Source code for torch.nn.modules.module

           def to(self: T, tensor: Tensor, non_blocking: bool = ...) -> T:
               ...
       
      -    def to(self, *args, **kwargs):
      +
      [docs] def to(self, *args, **kwargs): r"""Moves and/or casts the parameters and buffers. This can be called as @@ -941,9 +941,9 @@

      Source code for torch.nn.modules.module

                       return t.to(device, dtype if t.is_floating_point() else None, non_blocking, memory_format=convert_to_format)
                   return t.to(device, dtype if t.is_floating_point() else None, non_blocking)
       
      -        return self._apply(convert)
      +        return self._apply(convert)
      - def register_backward_hook( +
      [docs] def register_backward_hook( self, hook: Callable[['Module', _grad_t, _grad_t], Union[None, Tensor]] ) -> RemovableHandle: r"""Registers a backward hook on the module. @@ -977,9 +977,9 @@

      Source code for torch.nn.modules.module

               """
               handle = hooks.RemovableHandle(self._backward_hooks)
               self._backward_hooks[handle.id] = hook
      -        return handle
      +        return handle
      - def register_forward_pre_hook(self, hook: Callable[..., None]) -> RemovableHandle: +
      [docs] def register_forward_pre_hook(self, hook: Callable[..., None]) -> RemovableHandle: r"""Registers a forward pre-hook on the module. The hook will be called every time before :func:`forward` is invoked. @@ -1000,9 +1000,9 @@

      Source code for torch.nn.modules.module

               """
               handle = hooks.RemovableHandle(self._forward_pre_hooks)
               self._forward_pre_hooks[handle.id] = hook
      -        return handle
      +        return handle
      - def register_forward_hook(self, hook: Callable[..., None]) -> RemovableHandle: +
      [docs] def register_forward_hook(self, hook: Callable[..., None]) -> RemovableHandle: r"""Registers a forward hook on the module. The hook will be called every time after :func:`forward` has computed an output. @@ -1023,7 +1023,7 @@

      Source code for torch.nn.modules.module

               """
               handle = hooks.RemovableHandle(self._forward_hooks)
               self._forward_hooks[handle.id] = hook
      -        return handle
      +        return handle
      def _slow_forward(self, *input, **kwargs): tracing_state = torch._C._get_tracing_state() @@ -1211,7 +1211,7 @@

      Source code for torch.nn.modules.module

           def state_dict(self, prefix: str = ..., keep_vars: bool = ...) -> Dict[str, Tensor]:
               ...
       
      -    def state_dict(self, destination=None, prefix='', keep_vars=False):
      +
      [docs] def state_dict(self, destination=None, prefix='', keep_vars=False): r"""Returns a dictionary containing a whole state of the module. Both parameters and persistent buffers (e.g. running averages) are @@ -1239,7 +1239,7 @@

      Source code for torch.nn.modules.module

                   hook_result = hook(self, destination, prefix, local_metadata)
                   if hook_result is not None:
                       destination = hook_result
      -        return destination
      +        return destination
      def _register_load_state_dict_pre_hook(self, hook): r"""These hooks will be called with arguments: `state_dict`, `prefix`, @@ -1327,7 +1327,7 @@

      Source code for torch.nn.modules.module

                           if input_name not in self._modules and input_name not in local_state:
                               unexpected_keys.append(key)
       
      -    def load_state_dict(self, state_dict: Union[Dict[str, Tensor], Dict[str, Tensor]],
      +
      [docs] def load_state_dict(self, state_dict: Union[Dict[str, Tensor], Dict[str, Tensor]], strict: bool = True): r"""Copies parameters and buffers from :attr:`state_dict` into this module and its descendants. If :attr:`strict` is ``True``, then @@ -1380,7 +1380,7 @@

      Source code for torch.nn.modules.module

               if len(error_msgs) > 0:
                   raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
                                      self.__class__.__name__, "\n\t".join(error_msgs)))
      -        return _IncompatibleKeys(missing_keys, unexpected_keys)
      +        return _IncompatibleKeys(missing_keys, unexpected_keys)
      def _named_members(self, get_members_fn, prefix='', recurse=True): r"""Helper method for yielding various names + members of modules.""" @@ -1395,7 +1395,7 @@

      Source code for torch.nn.modules.module

                       name = module_prefix + ('.' if module_prefix else '') + k
                       yield name, v
       
      -    def parameters(self, recurse: bool = True) -> Iterator[Parameter]:
      +
      [docs] def parameters(self, recurse: bool = True) -> Iterator[Parameter]: r"""Returns an iterator over module parameters. This is typically passed to an optimizer. @@ -1417,9 +1417,9 @@

      Source code for torch.nn.modules.module

       
               """
               for name, param in self.named_parameters(recurse=recurse):
      -            yield param
      +            yield param
      - def named_parameters(self, prefix: str = '', recurse: bool = True) -> Iterator[Tuple[str, Tensor]]: +
      [docs] def named_parameters(self, prefix: str = '', recurse: bool = True) -> Iterator[Tuple[str, Tensor]]: r"""Returns an iterator over module parameters, yielding both the name of the parameter as well as the parameter itself. @@ -1443,9 +1443,9 @@

      Source code for torch.nn.modules.module

                   lambda module: module._parameters.items(),
                   prefix=prefix, recurse=recurse)
               for elem in gen:
      -            yield elem
      +            yield elem
      - def buffers(self, recurse: bool = True) -> Iterator[Tensor]: +
      [docs] def buffers(self, recurse: bool = True) -> Iterator[Tensor]: r"""Returns an iterator over module buffers. Args: @@ -1465,9 +1465,9 @@

      Source code for torch.nn.modules.module

       
               """
               for name, buf in self.named_buffers(recurse=recurse):
      -            yield buf
      +            yield buf
      - def named_buffers(self, prefix: str = '', recurse: bool = True) -> Iterator[Tuple[str, Tensor]]: +
      [docs] def named_buffers(self, prefix: str = '', recurse: bool = True) -> Iterator[Tuple[str, Tensor]]: r"""Returns an iterator over module buffers, yielding both the name of the buffer as well as the buffer itself. @@ -1491,18 +1491,18 @@

      Source code for torch.nn.modules.module

                   lambda module: module._buffers.items(),
                   prefix=prefix, recurse=recurse)
               for elem in gen:
      -            yield elem
      +            yield elem
      - def children(self) -> Iterator['Module']: +
      [docs] def children(self) -> Iterator['Module']: r"""Returns an iterator over immediate children modules. Yields: Module: a child module """ for name, module in self.named_children(): - yield module + yield module
      - def named_children(self) -> Iterator[Tuple[str, 'Module']]: +
      [docs] def named_children(self) -> Iterator[Tuple[str, 'Module']]: r"""Returns an iterator over immediate children modules, yielding both the name of the module as well as the module itself. @@ -1520,9 +1520,9 @@

      Source code for torch.nn.modules.module

               for name, module in self._modules.items():
                   if module is not None and module not in memo:
                       memo.add(module)
      -                yield name, module
      +                yield name, module
      - def modules(self) -> Iterator['Module']: +
      [docs] def modules(self) -> Iterator['Module']: r"""Returns an iterator over all modules in the network. Yields: @@ -1547,9 +1547,9 @@

      Source code for torch.nn.modules.module

       
               """
               for name, module in self.named_modules():
      -            yield module
      +            yield module
      - def named_modules(self, memo: Optional[Set['Module']] = None, prefix: str = ''): +
      [docs] def named_modules(self, memo: Optional[Set['Module']] = None, prefix: str = ''): r"""Returns an iterator over all modules in the network, yielding both the name of the module as well as the module itself. @@ -1585,9 +1585,9 @@

      Source code for torch.nn.modules.module

                           continue
                       submodule_prefix = prefix + ('.' if prefix else '') + name
                       for m in module.named_modules(memo, submodule_prefix):
      -                    yield m
      +                    yield m
      - def train(self: T, mode: bool = True) -> T: +
      [docs] def train(self: T, mode: bool = True) -> T: r"""Sets the module in training mode. This has any effect only on certain modules. See documentations of @@ -1605,9 +1605,9 @@

      Source code for torch.nn.modules.module

               self.training = mode
               for module in self.children():
                   module.train(mode)
      -        return self
      +        return self
      - def eval(self: T) -> T: +
      [docs] def eval(self: T) -> T: r"""Sets the module in evaluation mode. This has any effect only on certain modules. See documentations of @@ -1620,9 +1620,9 @@

      Source code for torch.nn.modules.module

               Returns:
                   Module: self
               """
      -        return self.train(False)
      +        return self.train(False)
      - def requires_grad_(self: T, requires_grad: bool = True) -> T: +
      [docs] def requires_grad_(self: T, requires_grad: bool = True) -> T: r"""Change if autograd should record operations on parameters in this module. @@ -1641,9 +1641,9 @@

      Source code for torch.nn.modules.module

               """
               for p in self.parameters():
                   p.requires_grad_(requires_grad)
      -        return self
      +        return self
      - def zero_grad(self) -> None: +
      [docs] def zero_grad(self) -> None: r"""Sets gradients of all model parameters to zero.""" if getattr(self, '_is_replica', False): warnings.warn( @@ -1655,7 +1655,7 @@

      Source code for torch.nn.modules.module

               for p in self.parameters():
                   if p.grad is not None:
                       p.grad.detach_()
      -                p.grad.zero_()
      +                p.grad.zero_()
      def share_memory(self: T) -> T: return self._apply(lambda t: t.share_memory_()) @@ -1663,14 +1663,14 @@

      Source code for torch.nn.modules.module

           def _get_name(self):
               return self.__class__.__name__
       
      -    def extra_repr(self) -> str:
      +
      [docs] def extra_repr(self) -> str: r"""Set the extra representation of the module To print customized extra information, you should reimplement this method in your own modules. Both single-line and multi-line strings are acceptable. """ - return '' + return ''
      def __repr__(self): # We treat the extra repr like the sub-module, one item per line @@ -1721,7 +1721,7 @@

      Source code for torch.nn.modules.module

               replica._modules = replica._modules.copy()
               replica._is_replica = True
       
      -        return replica
      +        return replica
      diff --git a/docs/stable/_modules/torch/nn/modules/padding.html b/docs/stable/_modules/torch/nn/modules/padding.html index 3677724e4116..13501ea0f4d2 100644 --- a/docs/stable/_modules/torch/nn/modules/padding.html +++ b/docs/stable/_modules/torch/nn/modules/padding.html @@ -361,7 +361,7 @@

      Source code for torch.nn.modules.padding

               return 'padding={}, value={}'.format(self.padding, self.value)
       
       
      -
      [docs]class ConstantPad1d(_ConstantPadNd): +class ConstantPad1d(_ConstantPadNd): r"""Pads the input tensor boundaries with a constant value. For `N`-dimensional padding, use :func:`torch.nn.functional.pad()`. @@ -408,10 +408,10 @@

      Source code for torch.nn.modules.padding

       
           def __init__(self, padding: _size_2_t, value: float):
               super(ConstantPad1d, self).__init__(value)
      -        self.padding = _pair(padding)
      + self.padding = _pair(padding) -
      [docs]class ConstantPad2d(_ConstantPadNd): +class ConstantPad2d(_ConstantPadNd): r"""Pads the input tensor boundaries with a constant value. For `N`-dimensional padding, use :func:`torch.nn.functional.pad()`. @@ -458,10 +458,10 @@

      Source code for torch.nn.modules.padding

       
           def __init__(self, padding: _size_4_t, value: float) -> None:
               super(ConstantPad2d, self).__init__(value)
      -        self.padding = _quadruple(padding)
      + self.padding = _quadruple(padding) -
      [docs]class ConstantPad3d(_ConstantPadNd): +class ConstantPad3d(_ConstantPadNd): r"""Pads the input tensor boundaries with a constant value. For `N`-dimensional padding, use :func:`torch.nn.functional.pad()`. @@ -497,7 +497,7 @@

      Source code for torch.nn.modules.padding

       
           def __init__(self, padding: _size_6_t, value: float) -> None:
               super(ConstantPad3d, self).__init__(value)
      -        self.padding = _ntuple(6)(padding)
      + self.padding = _ntuple(6)(padding) class _ReflectionPadNd(Module): diff --git a/docs/stable/_modules/torch/nn/modules/pooling.html b/docs/stable/_modules/torch/nn/modules/pooling.html index 15f33e8f019a..027dac6e752c 100644 --- a/docs/stable/_modules/torch/nn/modules/pooling.html +++ b/docs/stable/_modules/torch/nn/modules/pooling.html @@ -372,7 +372,7 @@

      Source code for torch.nn.modules.pooling

                   ', dilation={dilation}, ceil_mode={ceil_mode}'.format(**self.__dict__)
       
       
      -class MaxPool1d(_MaxPoolNd):
      +
      [docs]class MaxPool1d(_MaxPoolNd): r"""Applies a 1D max pooling over an input signal composed of several input planes. @@ -423,10 +423,10 @@

      Source code for torch.nn.modules.pooling

           def forward(self, input: Tensor) -> Tensor:
               return F.max_pool1d(input, self.kernel_size, self.stride,
                                   self.padding, self.dilation, self.ceil_mode,
      -                            self.return_indices)
      +                            self.return_indices)
      -class MaxPool2d(_MaxPoolNd): +
      [docs]class MaxPool2d(_MaxPoolNd): r"""Applies a 2D max pooling over an input signal composed of several input planes. @@ -493,10 +493,10 @@

      Source code for torch.nn.modules.pooling

           def forward(self, input: Tensor) -> Tensor:
               return F.max_pool2d(input, self.kernel_size, self.stride,
                                   self.padding, self.dilation, self.ceil_mode,
      -                            self.return_indices)
      +                            self.return_indices)
      -class MaxPool3d(_MaxPoolNd): +
      [docs]class MaxPool3d(_MaxPoolNd): r"""Applies a 3D max pooling over an input signal composed of several input planes. @@ -567,7 +567,7 @@

      Source code for torch.nn.modules.pooling

           def forward(self, input: Tensor) -> Tensor:
               return F.max_pool3d(input, self.kernel_size, self.stride,
                                   self.padding, self.dilation, self.ceil_mode,
      -                            self.return_indices)
      +                            self.return_indices)
      class _MaxUnpoolNd(Module): @@ -578,7 +578,7 @@

      Source code for torch.nn.modules.pooling

               )
       
       
      -class MaxUnpool1d(_MaxUnpoolNd):
      +
      [docs]class MaxUnpool1d(_MaxUnpoolNd): r"""Computes a partial inverse of :class:`MaxPool1d`. :class:`MaxPool1d` is not fully invertible, since the non-maximal values are lost. @@ -644,10 +644,10 @@

      Source code for torch.nn.modules.pooling

       
           def forward(self, input: Tensor, indices: Tensor, output_size: Optional[List[int]] = None) -> Tensor:
               return F.max_unpool1d(input, indices, self.kernel_size, self.stride,
      -                              self.padding, output_size)
      +                              self.padding, output_size)
      -class MaxUnpool2d(_MaxUnpoolNd): +
      [docs]class MaxUnpool2d(_MaxUnpoolNd): r"""Computes a partial inverse of :class:`MaxPool2d`. :class:`MaxPool2d` is not fully invertible, since the non-maximal values are lost. @@ -721,10 +721,10 @@

      Source code for torch.nn.modules.pooling

       
           def forward(self, input: Tensor, indices: Tensor, output_size: Optional[List[int]] = None) -> Tensor:
               return F.max_unpool2d(input, indices, self.kernel_size, self.stride,
      -                              self.padding, output_size)
      +                              self.padding, output_size)
      -class MaxUnpool3d(_MaxUnpoolNd): +
      [docs]class MaxUnpool3d(_MaxUnpoolNd): r"""Computes a partial inverse of :class:`MaxPool3d`. :class:`MaxPool3d` is not fully invertible, since the non-maximal values are lost. @@ -787,7 +787,7 @@

      Source code for torch.nn.modules.pooling

       
           def forward(self, input: Tensor, indices: Tensor, output_size: Optional[List[int]] = None) -> Tensor:
               return F.max_unpool3d(input, indices, self.kernel_size, self.stride,
      -                              self.padding, output_size)
      +                              self.padding, output_size)
      class _AvgPoolNd(Module): @@ -1023,7 +1023,7 @@

      Source code for torch.nn.modules.pooling

               self.__dict__.setdefault('count_include_pad', True)
       
       
      -
      [docs]class FractionalMaxPool2d(Module): +class FractionalMaxPool2d(Module): r"""Applies a 2D fractional max pooling over an input signal composed of several input planes. Fractional MaxPooling is described in detail in the paper `Fractional MaxPooling`_ by Ben Graham @@ -1084,7 +1084,7 @@

      Source code for torch.nn.modules.pooling

               return F.fractional_max_pool2d(
                   input, self.kernel_size, self.output_size, self.output_ratio,
                   self.return_indices,
      -            _random_samples=self._random_samples)
      + _random_samples=self._random_samples) class FractionalMaxPool3d(Module): @@ -1169,7 +1169,7 @@

      Source code for torch.nn.modules.pooling

                   'ceil_mode={ceil_mode}'.format(**self.__dict__)
       
       
      -class LPPool1d(_LPPoolNd):
      +
      [docs]class LPPool1d(_LPPoolNd): r"""Applies a 1D power-average pooling over an input signal composed of several input planes. @@ -1208,10 +1208,10 @@

      Source code for torch.nn.modules.pooling

       
           def forward(self, input: Tensor) -> Tensor:
               return F.lp_pool1d(input, float(self.norm_type), self.kernel_size,
      -                           self.stride, self.ceil_mode)
      +                           self.stride, self.ceil_mode)
      -class LPPool2d(_LPPoolNd): +
      [docs]class LPPool2d(_LPPoolNd): r"""Applies a 2D power-average pooling over an input signal composed of several input planes. @@ -1263,7 +1263,7 @@

      Source code for torch.nn.modules.pooling

       
           def forward(self, input: Tensor) -> Tensor:
               return F.lp_pool2d(input, float(self.norm_type), self.kernel_size,
      -                           self.stride, self.ceil_mode)
      +                           self.stride, self.ceil_mode)
      class _AdaptiveMaxPoolNd(Module): diff --git a/docs/stable/_modules/torch/nn/modules/rnn.html b/docs/stable/_modules/torch/nn/modules/rnn.html index c8156b9fc466..82d9321c8ef6 100644 --- a/docs/stable/_modules/torch/nn/modules/rnn.html +++ b/docs/stable/_modules/torch/nn/modules/rnn.html @@ -358,7 +358,7 @@

      Source code for torch.nn.modules.rnn

           return tensor.index_select(dim, permutation)
       
       
      -
      [docs]class RNNBase(Module): +class RNNBase(Module): __constants__ = ['mode', 'input_size', 'hidden_size', 'num_layers', 'bias', 'batch_first', 'dropout', 'bidirectional'] @@ -443,7 +443,7 @@

      Source code for torch.nn.modules.rnn

                   self._flat_weights[idx] = value
               super(RNNBase, self).__setattr__(attr, value)
       
      -
      [docs] def flatten_parameters(self) -> None: + def flatten_parameters(self) -> None: """Resets parameter data pointer so that they can use faster code paths. Right now, this works only if the module is on the GPU and cuDNN is enabled. @@ -485,7 +485,7 @@

      Source code for torch.nn.modules.rnn

                           torch._cudnn_rnn_flatten_weight(
                               self._flat_weights, (4 if self.bias else 2),
                               self.input_size, rnn.get_cudnn_mode(self.mode), self.hidden_size, self.num_layers,
      -                        self.batch_first, bool(self.bidirectional))
      + self.batch_first, bool(self.bidirectional)) def _apply(self, fn): ret = super(RNNBase, self)._apply(fn) @@ -627,7 +627,7 @@

      Source code for torch.nn.modules.rnn

               # flat weights list.
               replica._flat_weights = replica._flat_weights[:]
               replica._flat_weights_names = replica._flat_weights_names[:]
      -        return replica
      + return replica class RNN(RNNBase): @@ -750,7 +750,7 @@

      Source code for torch.nn.modules.rnn

       #
       # TODO: remove the overriding implementations for LSTM and GRU when TorchScript
       # support expressing these two modules generally.
      -class LSTM(RNNBase):
      +
      [docs]class LSTM(RNNBase): r"""Applies a multi-layer long short-term memory (LSTM) RNN to an input sequence. @@ -922,7 +922,7 @@

      Source code for torch.nn.modules.rnn

                   output_packed = PackedSequence(output, batch_sizes, sorted_indices, unsorted_indices)
                   return output_packed, self.permute_hidden(hidden, unsorted_indices)
               else:
      -            return output, self.permute_hidden(hidden, unsorted_indices)
      +            return output, self.permute_hidden(hidden, unsorted_indices)
      class GRU(RNNBase): @@ -1141,7 +1141,7 @@

      Source code for torch.nn.modules.rnn

                   init.uniform_(weight, -stdv, stdv)
       
       
      -
      [docs]class RNNCell(RNNCellBase): +class RNNCell(RNNCellBase): r"""An Elman RNN cell with tanh or ReLU non-linearity. .. math:: @@ -1226,10 +1226,10 @@

      Source code for torch.nn.modules.rnn

                   ret = input  # TODO: remove when jit supports exception flow
                   raise RuntimeError(
                       "Unknown nonlinearity: {}".format(self.nonlinearity))
      -        return ret
      + return ret -class LSTMCell(RNNCellBase): +
      [docs]class LSTMCell(RNNCellBase): r"""A long short-term memory (LSTM) cell. .. math:: @@ -1304,7 +1304,7 @@

      Source code for torch.nn.modules.rnn

                   input, hx,
                   self.weight_ih, self.weight_hh,
                   self.bias_ih, self.bias_hh,
      -        )
      +        )
      class GRUCell(RNNCellBase): diff --git a/docs/stable/_modules/torch/nn/modules/transformer.html b/docs/stable/_modules/torch/nn/modules/transformer.html index b168e16dc545..63aab3365a42 100644 --- a/docs/stable/_modules/torch/nn/modules/transformer.html +++ b/docs/stable/_modules/torch/nn/modules/transformer.html @@ -350,7 +350,7 @@

      Source code for torch.nn.modules.transformer

      from .normalization import LayerNorm
       
       
      -
      [docs]class Transformer(Module): +class Transformer(Module): r"""A transformer model. User is able to modify the attributes as needed. The architecture is based on the paper "Attention Is All You Need". Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and @@ -403,7 +403,7 @@

      Source code for torch.nn.modules.transformer

      self.d_model = d_model
               self.nhead = nhead
       
      -
      [docs] def forward(self, src: Tensor, tgt: Tensor, src_mask: Optional[Tensor] = None, tgt_mask: Optional[Tensor] = None, + def forward(self, src: Tensor, tgt: Tensor, src_mask: Optional[Tensor] = None, tgt_mask: Optional[Tensor] = None, memory_mask: Optional[Tensor] = None, src_key_padding_mask: Optional[Tensor] = None, tgt_key_padding_mask: Optional[Tensor] = None, memory_key_padding_mask: Optional[Tensor] = None) -> Tensor: r"""Take in and process masked source/target sequences. @@ -461,22 +461,22 @@

      Source code for torch.nn.modules.transformer

      output = self.decoder(tgt, memory, tgt_mask=tgt_mask, memory_mask=memory_mask,
                                     tgt_key_padding_mask=tgt_key_padding_mask,
                                     memory_key_padding_mask=memory_key_padding_mask)
      -        return output
      + return output -
      [docs] def generate_square_subsequent_mask(self, sz: int) -> Tensor: + def generate_square_subsequent_mask(self, sz: int) -> Tensor: r"""Generate a square mask for the sequence. The masked positions are filled with float('-inf'). Unmasked positions are filled with float(0.0). """ mask = (torch.triu(torch.ones(sz, sz)) == 1).transpose(0, 1) mask = mask.float().masked_fill(mask == 0, float('-inf')).masked_fill(mask == 1, float(0.0)) - return mask
      + return mask def _reset_parameters(self): r"""Initiate parameters in the transformer model.""" for p in self.parameters(): if p.dim() > 1: - xavier_uniform_(p)
      + xavier_uniform_(p)
      [docs]class TransformerEncoder(Module): @@ -523,7 +523,7 @@

      Source code for torch.nn.modules.transformer

      return output
      -
      [docs]class TransformerDecoder(Module): +class TransformerDecoder(Module): r"""TransformerDecoder is a stack of N decoder layers Args: @@ -546,7 +546,7 @@

      Source code for torch.nn.modules.transformer

      self.num_layers = num_layers
               self.norm = norm
       
      -
      [docs] def forward(self, tgt: Tensor, memory: Tensor, tgt_mask: Optional[Tensor] = None, + def forward(self, tgt: Tensor, memory: Tensor, tgt_mask: Optional[Tensor] = None, memory_mask: Optional[Tensor] = None, tgt_key_padding_mask: Optional[Tensor] = None, memory_key_padding_mask: Optional[Tensor] = None) -> Tensor: r"""Pass the inputs (and mask) through the decoder layer in turn. @@ -573,7 +573,7 @@

      Source code for torch.nn.modules.transformer

      if self.norm is not None:
                   output = self.norm(output)
       
      -        return output
      + return output
      [docs]class TransformerEncoderLayer(Module): r"""TransformerEncoderLayer is made up of self-attn and feedforward network. diff --git a/docs/stable/_modules/torch/nn/utils/convert_parameters.html b/docs/stable/_modules/torch/nn/utils/convert_parameters.html index 5af721f05778..0e800305b71d 100644 --- a/docs/stable/_modules/torch/nn/utils/convert_parameters.html +++ b/docs/stable/_modules/torch/nn/utils/convert_parameters.html @@ -338,7 +338,7 @@

      Source code for torch.nn.utils.convert_parameters

      import torch -def parameters_to_vector(parameters): +
      [docs]def parameters_to_vector(parameters): r"""Convert parameters to one vector Arguments: @@ -357,7 +357,7 @@

      Source code for torch.nn.utils.convert_parameters

      param_device = _check_param_device(param, param_device) vec.append(param.view(-1)) - return torch.cat(vec) + return torch.cat(vec)
      [docs]def vector_to_parameters(vec, parameters): diff --git a/docs/stable/_modules/torch/nn/utils/prune.html b/docs/stable/_modules/torch/nn/utils/prune.html index cc22134fa29c..098e089b462d 100644 --- a/docs/stable/_modules/torch/nn/utils/prune.html +++ b/docs/stable/_modules/torch/nn/utils/prune.html @@ -350,7 +350,7 @@

      Source code for torch.nn.utils.prune

           ABC = ABCMeta('ABC', (), {})
           from collections import Iterable
       
      -class BasePruningMethod(ABC):
      +
      [docs]class BasePruningMethod(ABC): r"""Abstract base class for creation of new pruning techniques. Provides a skeleton for customization requiring the overriding of methods @@ -371,7 +371,7 @@

      Source code for torch.nn.utils.prune

               """
               setattr(module, self._tensor_name, self.apply_mask(module))
       
      -    @abstractmethod
      +
      [docs] @abstractmethod def compute_mask(self, t, default_mask): r"""Computes and returns a mask for the input tensor ``t``. Starting from a base ``default_mask`` (which should be a mask of ones @@ -388,9 +388,9 @@

      Source code for torch.nn.utils.prune

               Returns:
                   mask (torch.Tensor): mask to apply to ``t``, of same dims as ``t``
               """
      -        pass
      +        pass
      - def apply_mask(self, module): +
      [docs] def apply_mask(self, module): r"""Simply handles the multiplication between the parameter being pruned and the generated mask. Fetches the mask and the original tensor from the module @@ -412,9 +412,9 @@

      Source code for torch.nn.utils.prune

               mask = getattr(module, self._tensor_name + "_mask")
               orig = getattr(module, self._tensor_name + "_orig")
               pruned_tensor = mask.to(dtype=orig.dtype) * orig
      -        return pruned_tensor
      +        return pruned_tensor
      - @classmethod +
      [docs] @classmethod def apply(cls, module, name, *args, **kwargs): r"""Adds the forward pre-hook that enables pruning on the fly and the reparametrization of a tensor in terms of the original tensor @@ -528,9 +528,9 @@

      Source code for torch.nn.utils.prune

                       del module._parameters[name + "_orig"]
                   raise e
       
      -        return method
      +        return method
      - def prune(self, t, default_mask=None): +
      [docs] def prune(self, t, default_mask=None): r"""Computes and returns a pruned version of input tensor ``t`` according to the pruning rule specified in :meth:`compute_mask`. @@ -547,9 +547,9 @@

      Source code for torch.nn.utils.prune

               """
               if default_mask is None:
                   default_mask = torch.ones_like(t)
      -        return t * self.compute_mask(t, default_mask=default_mask)
      +        return t * self.compute_mask(t, default_mask=default_mask)
      - def remove(self, module): +
      [docs] def remove(self, module): r"""Removes the pruning reparameterization from a module. The pruned parameter named ``name`` remains permanently pruned, and the parameter named ``name+'_orig'`` is removed from the parameter list. Similarly, @@ -575,10 +575,10 @@

      Source code for torch.nn.utils.prune

               orig.data = weight.data
               del module._parameters[self._tensor_name + "_orig"]
               del module._buffers[self._tensor_name + "_mask"]
      -        setattr(module, self._tensor_name, orig)
      +        setattr(module, self._tensor_name, orig)
      -class PruningContainer(BasePruningMethod): +
      [docs]class PruningContainer(BasePruningMethod): """Container holding a sequence of pruning methods for iterative pruning. Keeps track of the order in which pruning methods are applied and handles combining successive pruning calls. @@ -599,7 +599,7 @@

      Source code for torch.nn.utils.prune

                   for method in args:
                       self.add_pruning_method(method)
       
      -    def add_pruning_method(self, method):
      +
      [docs] def add_pruning_method(self, method): r"""Adds a child pruning ``method`` to the container. Args: @@ -620,7 +620,7 @@

      Source code for torch.nn.utils.prune

                       + " Found '{}'".format(method._tensor_name)
                   )
               # if all checks passed, add to _pruning_methods tuple
      -        self._pruning_methods += (method,)
      +        self._pruning_methods += (method,)
      def __len__(self): return len(self._pruning_methods) @@ -631,7 +631,7 @@

      Source code for torch.nn.utils.prune

           def __getitem__(self, idx):
               return self._pruning_methods[idx]
       
      -    def compute_mask(self, t, default_mask):
      +
      [docs] def compute_mask(self, t, default_mask): r"""Applies the latest ``method`` by computing the new partial masks and returning its combination with the ``default_mask``. The new partial mask should be computed on the entries or channels @@ -726,10 +726,10 @@

      Source code for torch.nn.utils.prune

       
               method = self._pruning_methods[-1]
               mask = _combine_masks(method, t, default_mask)
      -        return mask
      +        return mask
      -class Identity(BasePruningMethod): +
      [docs]class Identity(BasePruningMethod): r"""Utility pruning method that does not prune any units but generates the pruning parametrization with a mask of ones. """ @@ -740,7 +740,7 @@

      Source code for torch.nn.utils.prune

               mask = default_mask
               return mask
       
      -    @classmethod
      +
      [docs] @classmethod def apply(cls, module, name): r"""Adds the forward pre-hook that enables pruning on the fly and the reparametrization of a tensor in terms of the original tensor @@ -751,10 +751,10 @@

      Source code for torch.nn.utils.prune

                   name (str): parameter name within ``module`` on which pruning
                       will act.
               """
      -        return super(Identity, cls).apply(module, name)
      +        return super(Identity, cls).apply(module, name)
      -class RandomUnstructured(BasePruningMethod): +
      [docs]class RandomUnstructured(BasePruningMethod): r"""Prune (currently unpruned) units in a tensor at random. Args: @@ -793,7 +793,7 @@

      Source code for torch.nn.utils.prune

       
               return mask
       
      -    @classmethod
      +
      [docs] @classmethod def apply(cls, module, name, amount): r"""Adds the forward pre-hook that enables pruning on the fly and the reparametrization of a tensor in terms of the original tensor @@ -810,10 +810,10 @@

      Source code for torch.nn.utils.prune

               """
               return super(RandomUnstructured, cls).apply(
                   module, name, amount=amount
      -        )
      +        )
      -class L1Unstructured(BasePruningMethod): +
      [docs]class L1Unstructured(BasePruningMethod): r"""Prune (currently unpruned) units in a tensor by zeroing out the ones with the lowest L1-norm. @@ -855,7 +855,7 @@

      Source code for torch.nn.utils.prune

       
               return mask
       
      -    @classmethod
      +
      [docs] @classmethod def apply(cls, module, name, amount): r"""Adds the forward pre-hook that enables pruning on the fly and the reparametrization of a tensor in terms of the original tensor @@ -870,10 +870,10 @@

      Source code for torch.nn.utils.prune

                       fraction of parameters to prune. If ``int``, it represents the
                       absolute number of parameters to prune.
               """
      -        return super(L1Unstructured, cls).apply(module, name, amount=amount)
      +        return super(L1Unstructured, cls).apply(module, name, amount=amount)
      -class RandomStructured(BasePruningMethod): +
      [docs]class RandomStructured(BasePruningMethod): r"""Prune entire (currently unpruned) channels in a tensor at random. Args: @@ -893,7 +893,7 @@

      Source code for torch.nn.utils.prune

               self.amount = amount
               self.dim = dim
       
      -    def compute_mask(self, t, default_mask):
      +
      [docs] def compute_mask(self, t, default_mask): r"""Computes and returns a mask for the input tensor ``t``. Starting from a base ``default_mask`` (which should be a mask of ones if the tensor has not been pruned yet), generate a random mask to @@ -954,9 +954,9 @@

      Source code for torch.nn.utils.prune

                   # unstructured) mask
                   mask = make_mask(t, self.dim, tensor_size, nparams_toprune)
                   mask *= default_mask.to(dtype=mask.dtype)
      -        return mask
      +        return mask
      - @classmethod +
      [docs] @classmethod def apply(cls, module, name, amount, dim=-1): r"""Adds the forward pre-hook that enables pruning on the fly and the reparametrization of a tensor in terms of the original tensor @@ -975,10 +975,10 @@

      Source code for torch.nn.utils.prune

               """
               return super(RandomStructured, cls).apply(
                   module, name, amount=amount, dim=dim
      -        )
      +        )
      -class LnStructured(BasePruningMethod): +
      [docs]class LnStructured(BasePruningMethod): r"""Prune entire (currently unpruned) channels in a tensor based on their Ln-norm. @@ -1002,7 +1002,7 @@

      Source code for torch.nn.utils.prune

               self.n = n
               self.dim = dim
       
      -    def compute_mask(self, t, default_mask):
      +
      [docs] def compute_mask(self, t, default_mask): r"""Computes and returns a mask for the input tensor ``t``. Starting from a base ``default_mask`` (which should be a mask of ones if the tensor has not been pruned yet), generate a mask to apply on @@ -1073,9 +1073,9 @@

      Source code for torch.nn.utils.prune

                   mask = make_mask(t, self.dim, topk.indices)
                   mask *= default_mask.to(dtype=mask.dtype)
       
      -        return mask
      +        return mask
      - @classmethod +
      [docs] @classmethod def apply(cls, module, name, amount, n, dim): r"""Adds the forward pre-hook that enables pruning on the fly and the reparametrization of a tensor in terms of the original tensor @@ -1096,10 +1096,10 @@

      Source code for torch.nn.utils.prune

               """
               return super(LnStructured, cls).apply(
                   module, name, amount=amount, n=n, dim=dim
      -        )
      +        )
      -class CustomFromMask(BasePruningMethod): +
      [docs]class CustomFromMask(BasePruningMethod): PRUNING_TYPE = "global" @@ -1111,7 +1111,7 @@

      Source code for torch.nn.utils.prune

               mask = default_mask * self.mask.to(dtype=default_mask.dtype)
               return mask
       
      -    @classmethod
      +
      [docs] @classmethod def apply(cls, module, name, mask): r"""Adds the forward pre-hook that enables pruning on the fly and the reparametrization of a tensor in terms of the original tensor @@ -1124,10 +1124,10 @@

      Source code for torch.nn.utils.prune

               """
               return super(CustomFromMask, cls).apply(
                   module, name, mask
      -        )
      +        )
      -def identity(module, name): +
      [docs]def identity(module, name): r"""Applies pruning reparametrization to the tensor corresponding to the parameter called ``name`` in ``module`` without actually pruning any units. Modifies module in place (and also return the modified module) @@ -1155,7 +1155,7 @@

      Source code for torch.nn.utils.prune

               tensor([1., 1., 1.])
           """
           Identity.apply(module, name)
      -    return module
      +    return module
      [docs]def random_unstructured(module, name, amount): @@ -1191,7 +1191,7 @@

      Source code for torch.nn.utils.prune

           return module
      -def l1_unstructured(module, name, amount): +
      [docs]def l1_unstructured(module, name, amount): r"""Prunes tensor corresponding to parameter called ``name`` in ``module`` by removing the specified `amount` of (currently unpruned) units with the lowest L1-norm. @@ -1221,7 +1221,7 @@

      Source code for torch.nn.utils.prune

               odict_keys(['bias', 'weight_orig', 'weight_mask'])
           """
           L1Unstructured.apply(module, name, amount)
      -    return module
      +    return module
      [docs]def random_structured(module, name, amount, dim): @@ -1297,7 +1297,7 @@

      Source code for torch.nn.utils.prune

           return module
      -def global_unstructured(parameters, pruning_method, **kwargs): +
      [docs]def global_unstructured(parameters, pruning_method, **kwargs): r""" Globally prunes tensors corresponding to all parameters in ``parameters`` by applying the specified ``pruning_method``. @@ -1399,10 +1399,10 @@

      Source code for torch.nn.utils.prune

               custom_from_mask(module, name, param_mask)
       
               # Increment the pointer to continue slicing the final_mask
      -        pointer += num_param
      +        pointer += num_param
      -def custom_from_mask(module, name, mask): +
      [docs]def custom_from_mask(module, name, mask): r"""Prunes tensor corresponding to parameter called ``name`` in ``module`` by applying the pre-computed mask in ``mask``. Modifies module in place (and also return the modified module) @@ -1431,7 +1431,7 @@

      Source code for torch.nn.utils.prune

       
           """
           CustomFromMask.apply(module, name, mask)
      -    return module
      +    return module
      [docs]def remove(module, name): @@ -1465,7 +1465,7 @@

      Source code for torch.nn.utils.prune

           )
      -def is_pruned(module): +
      [docs]def is_pruned(module): r"""Check whether ``module`` is pruned by looking for ``forward_pre_hooks`` in its modules that inherit from the :class:`BasePruningMethod`. @@ -1488,7 +1488,7 @@

      Source code for torch.nn.utils.prune

               for _, hook in submodule._forward_pre_hooks.items():
                   if isinstance(hook, BasePruningMethod):
                       return True
      -    return False
      +    return False
      def _validate_pruning_amount_init(amount): diff --git a/docs/stable/_modules/torch/nn/utils/spectral_norm.html b/docs/stable/_modules/torch/nn/utils/spectral_norm.html index 9600a8f919ac..7dc27bedc10f 100644 --- a/docs/stable/_modules/torch/nn/utils/spectral_norm.html +++ b/docs/stable/_modules/torch/nn/utils/spectral_norm.html @@ -592,7 +592,7 @@

      Source code for torch.nn.utils.spectral_norm

      return module
      -def remove_spectral_norm(module, name='weight'): +
      [docs]def remove_spectral_norm(module, name='weight'): r"""Removes the spectral normalization reparameterization from a module. Args: @@ -622,7 +622,7 @@

      Source code for torch.nn.utils.spectral_norm

      del module._load_state_dict_pre_hooks[k]
                   break
       
      -    return module
      +    return module
      diff --git a/docs/stable/_modules/torch/nn/utils/weight_norm.html b/docs/stable/_modules/torch/nn/utils/weight_norm.html index 4fa82dbee997..da0c6ce7be33 100644 --- a/docs/stable/_modules/torch/nn/utils/weight_norm.html +++ b/docs/stable/_modules/torch/nn/utils/weight_norm.html @@ -435,7 +435,7 @@

      Source code for torch.nn.utils.weight_norm

           return module
      -def remove_weight_norm(module, name='weight'): +
      [docs]def remove_weight_norm(module, name='weight'): r"""Removes the weight normalization reparameterization from a module. Args: @@ -453,7 +453,7 @@

      Source code for torch.nn.utils.weight_norm

                   return module
       
           raise ValueError("weight_norm of '{}' not found in {}"
      -                     .format(name, module))
      +                     .format(name, module))
      diff --git a/docs/stable/_modules/torch/random.html b/docs/stable/_modules/torch/random.html index 05e0324ad2e3..d4a8f7ed830a 100644 --- a/docs/stable/_modules/torch/random.html +++ b/docs/stable/_modules/torch/random.html @@ -341,18 +341,18 @@

      Source code for torch.random

       from torch._C import default_generator
       
       
      -def set_rng_state(new_state):
      +
      [docs]def set_rng_state(new_state): r"""Sets the random number generator state. Args: new_state (torch.ByteTensor): The desired state """ - default_generator.set_state(new_state) + default_generator.set_state(new_state)
      -def get_rng_state(): +
      [docs]def get_rng_state(): r"""Returns the random number generator state as a `torch.ByteTensor`.""" - return default_generator.get_state() + return default_generator.get_state()
      def manual_seed(seed): @@ -371,7 +371,7 @@

      Source code for torch.random

           return default_generator.manual_seed(seed)
       
       
      -def seed():
      +
      [docs]def seed(): r"""Sets the seed for generating random numbers to a non-deterministic random number. Returns a 64 bit number used to seed the RNG. """ @@ -381,7 +381,7 @@

      Source code for torch.random

           if not torch.cuda._is_in_bad_fork():
               torch.cuda.manual_seed_all(seed)
       
      -    return seed
      +    return seed
      [docs]def initial_seed(): diff --git a/docs/stable/_modules/torch/serialization.html b/docs/stable/_modules/torch/serialization.html index 9a085646e93b..758c8b3b2e5e 100644 --- a/docs/stable/_modules/torch/serialization.html +++ b/docs/stable/_modules/torch/serialization.html @@ -664,7 +664,7 @@

      Source code for torch.serialization

                       pickle_module.__version__
                   ))
       
      -def save(obj, f, pickle_module=pickle, pickle_protocol=DEFAULT_PROTOCOL, _use_new_zipfile_serialization=True):
      +
      [docs]def save(obj, f, pickle_module=pickle, pickle_protocol=DEFAULT_PROTOCOL, _use_new_zipfile_serialization=True): """Saves an object to a disk file. See also: :ref:`recommend-saving-models` @@ -700,7 +700,7 @@

      Source code for torch.serialization

                   with _open_zipfile_writer(opened_file) as opened_zipfile:
                       _save(obj, opened_zipfile, pickle_module, pickle_protocol)
                       return
      -        _legacy_save(obj, opened_file, pickle_module, pickle_protocol)
      +        _legacy_save(obj, opened_file, pickle_module, pickle_protocol)
      def _legacy_save(obj, f, pickle_module, pickle_protocol): diff --git a/docs/stable/_modules/torch/tensor.html b/docs/stable/_modules/torch/tensor.html index 2671a5e71429..4132103c7780 100644 --- a/docs/stable/_modules/torch/tensor.html +++ b/docs/stable/_modules/torch/tensor.html @@ -489,7 +489,7 @@

      Source code for torch.tensor

               # All strings are unicode in Python 3.
               return torch._tensor_str._str(self)
       
      -
      [docs] def backward(self, gradient=None, retain_graph=None, create_graph=False): +
      [docs] def backward(self, gradient=None, retain_graph=None, create_graph=False): r"""Computes the gradient of current tensor w.r.t. graph leaves. The graph is differentiated using the chain rule. If the tensor is @@ -521,7 +521,7 @@

      Source code for torch.tensor

               """
               torch.autograd.backward(self, gradient, retain_graph, create_graph)
      -
      [docs] def register_hook(self, hook): +
      [docs] def register_hook(self, hook): r"""Registers a backward hook. The hook will be called every time a gradient with respect to the @@ -613,7 +613,7 @@

      Source code for torch.tensor

           Views cannot be detached in-place.
           """)
       
      -
      [docs] def retain_grad(self): +
      [docs] def retain_grad(self): r"""Enables .grad attribute for non-leaf Tensors.""" if not self.requires_grad: raise RuntimeError("can't retain_grad on Tensor that has requires_grad=False") @@ -638,21 +638,21 @@

      Source code for torch.tensor

               self.register_hook(retain_grad_hook)
               self.retains_grad = True
      -
      [docs] def is_shared(self): + def is_shared(self): r"""Checks if tensor is in shared memory. This is always ``True`` for CUDA tensors. """ - return self.storage().is_shared()
      + return self.storage().is_shared() -
      [docs] def share_memory_(self): + def share_memory_(self): r"""Moves the underlying storage to shared memory. This is a no-op if the underlying storage is already in shared memory and for CUDA tensors. Tensors in shared memory cannot be resized. """ self.storage().share_memory_() - return self
      + return self def __reversed__(self): r"""Reverses the tensor along dimension 0.""" @@ -661,20 +661,20 @@

      Source code for torch.tensor

               else:
                   return self.flip(0)
       
      -
      [docs] def norm(self, p="fro", dim=None, keepdim=False, dtype=None): + def norm(self, p="fro", dim=None, keepdim=False, dtype=None): r"""See :func:`torch.norm`""" - return torch.norm(self, p, dim, keepdim, dtype=dtype)
      + return torch.norm(self, p, dim, keepdim, dtype=dtype) -
      [docs] def lu(self, pivot=True, get_infos=False): + def lu(self, pivot=True, get_infos=False): r"""See :func:`torch.lu`""" # If get_infos is True, then we don't need to check for errors and vice versa LU, pivots, infos = torch._lu_with_info(self, pivot=pivot, check_errors=(not get_infos)) if get_infos: return LU, pivots, infos else: - return LU, pivots
      + return LU, pivots -
      [docs] def stft(self, n_fft, hop_length=None, win_length=None, window=None, + def stft(self, n_fft, hop_length=None, win_length=None, window=None, center=True, pad_mode='reflect', normalized=False, onesided=True): r"""See :func:`torch.stft` @@ -683,13 +683,13 @@

      Source code for torch.tensor

                 the previous signature may cause error or return incorrect result.
               """
               return torch.stft(self, n_fft, hop_length, win_length, window, center,
      -                          pad_mode, normalized, onesided)
      + pad_mode, normalized, onesided) -
      [docs] def istft(self, n_fft, hop_length=None, win_length=None, window=None, + def istft(self, n_fft, hop_length=None, win_length=None, window=None, center=True, normalized=False, onesided=True, length=None): r"""See :func:`torch.istft`""" return torch.istft(self, n_fft, hop_length, win_length, window, center, - normalized, onesided, length)
      + normalized, onesided, length) def resize(self, *sizes): warnings.warn("non-inplace resize is deprecated") @@ -701,7 +701,7 @@

      Source code for torch.tensor

               from torch.autograd._functions import Resize
               return Resize.apply(self, tensor.size())
       
      -
      [docs] def split(self, split_size, dim=0): + def split(self, split_size, dim=0): r"""See :func:`torch.split` """ if isinstance(split_size, int): @@ -713,21 +713,21 @@

      Source code for torch.tensor

                   except ValueError:
                       return super(Tensor, self).split_with_sizes(split_size, dim)
               else:
      -            return super(Tensor, self).split_with_sizes(split_size, dim)
      + return super(Tensor, self).split_with_sizes(split_size, dim) -
      [docs] def unique(self, sorted=True, return_inverse=False, return_counts=False, dim=None): + def unique(self, sorted=True, return_inverse=False, return_counts=False, dim=None): r"""Returns the unique elements of the input tensor. See :func:`torch.unique` """ - return torch.unique(self, sorted=sorted, return_inverse=return_inverse, return_counts=return_counts, dim=dim)
      + return torch.unique(self, sorted=sorted, return_inverse=return_inverse, return_counts=return_counts, dim=dim) -
      [docs] def unique_consecutive(self, return_inverse=False, return_counts=False, dim=None): + def unique_consecutive(self, return_inverse=False, return_counts=False, dim=None): r"""Eliminates all but the first element from every consecutive group of equivalent elements. See :func:`torch.unique_consecutive` """ - return torch.unique_consecutive(self, return_inverse=return_inverse, return_counts=return_counts, dim=dim)
      + return torch.unique_consecutive(self, return_inverse=return_inverse, return_counts=return_counts, dim=dim) def __rsub__(self, other): return _C._VariableFunctions.rsub(self, other) diff --git a/docs/stable/_modules/torch/utils/tensorboard/writer.html b/docs/stable/_modules/torch/utils/tensorboard/writer.html deleted file mode 100644 index 5906f522dd9d..000000000000 --- a/docs/stable/_modules/torch/utils/tensorboard/writer.html +++ /dev/null @@ -1,1652 +0,0 @@ - - - - - - - - - - - - - torch.utils.tensorboard.writer — PyTorch 1.6.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      -
      - - - - - - - - - - - - - - - - -
      - - - - -
      -
      - -
      - Shortcuts -
      -
      - -
      -
      - - - -
      - -
      -
      - -

      Source code for torch.utils.tensorboard.writer

      -"""Provides an API for writing protocol buffers to event files to be
      -consumed by TensorBoard for visualization."""
      -
      -from __future__ import absolute_import
      -from __future__ import division
      -from __future__ import print_function
      -
      -import os
      -import six
      -import time
      -import torch
      -
      -from tensorboard.compat import tf
      -from tensorboard.compat.proto.event_pb2 import SessionLog
      -from tensorboard.compat.proto.event_pb2 import Event
      -from tensorboard.compat.proto import event_pb2
      -from tensorboard.plugins.projector.projector_config_pb2 import ProjectorConfig
      -from tensorboard.summary.writer.event_file_writer import EventFileWriter
      -
      -from ._convert_np import make_np
      -from ._embedding import (
      -    make_mat, make_sprite, make_tsv, write_pbtxt, get_embedding_info,
      -)
      -from ._onnx_graph import load_onnx_graph
      -from ._pytorch_graph import graph
      -from ._utils import figure_to_image
      -from .summary import (
      -    scalar, histogram, histogram_raw, image, audio, text,
      -    pr_curve, pr_curve_raw, video, custom_scalars, image_boxes, mesh, hparams
      -)
      -
      -
      -class FileWriter(object):
      -    """Writes protocol buffers to event files to be consumed by TensorBoard.
      -
      -    The `FileWriter` class provides a mechanism to create an event file in a
      -    given directory and add summaries and events to it. The class updates the
      -    file contents asynchronously. This allows a training program to call methods
      -    to add data to the file directly from the training loop, without slowing down
      -    training.
      -    """
      -
      -    def __init__(self, log_dir, max_queue=10, flush_secs=120, filename_suffix=''):
      -        """Creates a `FileWriter` and an event file.
      -        On construction the writer creates a new event file in `log_dir`.
      -        The other arguments to the constructor control the asynchronous writes to
      -        the event file.
      -
      -        Args:
      -          log_dir: A string. Directory where event file will be written.
      -          max_queue: Integer. Size of the queue for pending events and
      -            summaries before one of the 'add' calls forces a flush to disk.
      -            Default is ten items.
      -          flush_secs: Number. How often, in seconds, to flush the
      -            pending events and summaries to disk. Default is every two minutes.
      -          filename_suffix: A string. Suffix added to all event filenames
      -            in the log_dir directory. More details on filename construction in
      -            tensorboard.summary.writer.event_file_writer.EventFileWriter.
      -        """
      -        # Sometimes PosixPath is passed in and we need to coerce it to
      -        # a string in all cases
      -        # TODO: See if we can remove this in the future if we are
      -        # actually the ones passing in a PosixPath
      -        log_dir = str(log_dir)
      -        self.event_writer = EventFileWriter(
      -            log_dir, max_queue, flush_secs, filename_suffix)
      -
      -    def get_logdir(self):
      -        """Returns the directory where event file will be written."""
      -        return self.event_writer.get_logdir()
      -
      -    def add_event(self, event, step=None, walltime=None):
      -        """Adds an event to the event file.
      -        Args:
      -          event: An `Event` protocol buffer.
      -          step: Number. Optional global step value for training process
      -            to record with the event.
      -          walltime: float. Optional walltime to override the default (current)
      -            walltime (from time.time()) seconds after epoch
      -        """
      -        event.wall_time = time.time() if walltime is None else walltime
      -        if step is not None:
      -            # Make sure step is converted from numpy or other formats
      -            # since protobuf might not convert depending on version
      -            event.step = int(step)
      -        self.event_writer.add_event(event)
      -
      -    def add_summary(self, summary, global_step=None, walltime=None):
      -        """Adds a `Summary` protocol buffer to the event file.
      -        This method wraps the provided summary in an `Event` protocol buffer
      -        and adds it to the event file.
      -
      -        Args:
      -          summary: A `Summary` protocol buffer.
      -          global_step: Number. Optional global step value for training process
      -            to record with the summary.
      -          walltime: float. Optional walltime to override the default (current)
      -            walltime (from time.time()) seconds after epoch
      -        """
      -        event = event_pb2.Event(summary=summary)
      -        self.add_event(event, global_step, walltime)
      -
      -    def add_graph(self, graph_profile, walltime=None):
      -        """Adds a `Graph` and step stats protocol buffer to the event file.
      -
      -        Args:
      -          graph_profile: A `Graph` and step stats protocol buffer.
      -          walltime: float. Optional walltime to override the default (current)
      -            walltime (from time.time()) seconds after epoch
      -        """
      -        graph = graph_profile[0]
      -        stepstats = graph_profile[1]
      -        event = event_pb2.Event(graph_def=graph.SerializeToString())
      -        self.add_event(event, None, walltime)
      -
      -        trm = event_pb2.TaggedRunMetadata(
      -            tag='step1', run_metadata=stepstats.SerializeToString())
      -        event = event_pb2.Event(tagged_run_metadata=trm)
      -        self.add_event(event, None, walltime)
      -
      -    def add_onnx_graph(self, graph, walltime=None):
      -        """Adds a `Graph` protocol buffer to the event file.
      -
      -        Args:
      -          graph: A `Graph` protocol buffer.
      -          walltime: float. Optional walltime to override the default (current)
      -            _get_file_writerfrom time.time())
      -        """
      -        event = event_pb2.Event(graph_def=graph.SerializeToString())
      -        self.add_event(event, None, walltime)
      -
      -    def flush(self):
      -        """Flushes the event file to disk.
      -        Call this method to make sure that all pending events have been written to
      -        disk.
      -        """
      -        self.event_writer.flush()
      -
      -    def close(self):
      -        """Flushes the event file to disk and close the file.
      -        Call this method when you do not need the summary writer anymore.
      -        """
      -        self.event_writer.close()
      -
      -    def reopen(self):
      -        """Reopens the EventFileWriter.
      -        Can be called after `close()` to add more events in the same directory.
      -        The events will go into a new events file.
      -        Does nothing if the EventFileWriter was not closed.
      -        """
      -        self.event_writer.reopen()
      -
      -
      -
      [docs]class SummaryWriter(object): - """Writes entries directly to event files in the log_dir to be - consumed by TensorBoard. - - The `SummaryWriter` class provides a high-level API to create an event file - in a given directory and add summaries and events to it. The class updates the - file contents asynchronously. This allows a training program to call methods - to add data to the file directly from the training loop, without slowing down - training. - """ - -
      [docs] def __init__(self, log_dir=None, comment='', purge_step=None, max_queue=10, - flush_secs=120, filename_suffix=''): - """Creates a `SummaryWriter` that will write out events and summaries - to the event file. - - Args: - log_dir (string): Save directory location. Default is - runs/**CURRENT_DATETIME_HOSTNAME**, which changes after each run. - Use hierarchical folder structure to compare - between runs easily. e.g. pass in 'runs/exp1', 'runs/exp2', etc. - for each new experiment to compare across them. - comment (string): Comment log_dir suffix appended to the default - ``log_dir``. If ``log_dir`` is assigned, this argument has no effect. - purge_step (int): - When logging crashes at step :math:`T+X` and restarts at step :math:`T`, - any events whose global_step larger or equal to :math:`T` will be - purged and hidden from TensorBoard. - Note that crashed and resumed experiments should have the same ``log_dir``. - max_queue (int): Size of the queue for pending events and - summaries before one of the 'add' calls forces a flush to disk. - Default is ten items. - flush_secs (int): How often, in seconds, to flush the - pending events and summaries to disk. Default is every two minutes. - filename_suffix (string): Suffix added to all event filenames in - the log_dir directory. More details on filename construction in - tensorboard.summary.writer.event_file_writer.EventFileWriter. - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - - # create a summary writer with automatically generated folder name. - writer = SummaryWriter() - # folder location: runs/May04_22-14-54_s-MacBook-Pro.local/ - - # create a summary writer using the specified folder name. - writer = SummaryWriter("my_experiment") - # folder location: my_experiment - - # create a summary writer with comment appended. - writer = SummaryWriter(comment="LR_0.1_BATCH_16") - # folder location: runs/May04_22-14-54_s-MacBook-Pro.localLR_0.1_BATCH_16/ - - """ - torch._C._log_api_usage_once("tensorboard.create.summarywriter") - if not log_dir: - import socket - from datetime import datetime - current_time = datetime.now().strftime('%b%d_%H-%M-%S') - log_dir = os.path.join( - 'runs', current_time + '_' + socket.gethostname() + comment) - self.log_dir = log_dir - self.purge_step = purge_step - self.max_queue = max_queue - self.flush_secs = flush_secs - self.filename_suffix = filename_suffix - - # Initialize the file writers, but they can be cleared out on close - # and recreated later as needed. - self.file_writer = self.all_writers = None - self._get_file_writer() - - # Create default bins for histograms, see generate_testdata.py in tensorflow/tensorboard - v = 1E-12 - buckets = [] - neg_buckets = [] - while v < 1E20: - buckets.append(v) - neg_buckets.append(-v) - v *= 1.1 - self.default_bins = neg_buckets[::-1] + [0] + buckets
      - - def _check_caffe2_blob(self, item): - """ - Caffe2 users have the option of passing a string representing the name of - a blob in the workspace instead of passing the actual Tensor/array containing - the numeric values. Thus, we need to check if we received a string as input - instead of an actual Tensor/array, and if so, we need to fetch the Blob - from the workspace corresponding to that name. Fetching can be done with the - following: - - from caffe2.python import workspace (if not already imported) - workspace.FetchBlob(blob_name) - workspace.FetchBlobs([blob_name1, blob_name2, ...]) - """ - return isinstance(item, six.string_types) - - def _get_file_writer(self): - """Returns the default FileWriter instance. Recreates it if closed.""" - if self.all_writers is None or self.file_writer is None: - self.file_writer = FileWriter(self.log_dir, self.max_queue, - self.flush_secs, self.filename_suffix) - self.all_writers = {self.file_writer.get_logdir(): self.file_writer} - if self.purge_step is not None: - most_recent_step = self.purge_step - self.file_writer.add_event( - Event(step=most_recent_step, file_version='brain.Event:2')) - self.file_writer.add_event( - Event(step=most_recent_step, session_log=SessionLog(status=SessionLog.START))) - self.purge_step = None - return self.file_writer - - def get_logdir(self): - """Returns the directory where event files will be written.""" - return self.log_dir - -
      [docs] def add_hparams(self, hparam_dict, metric_dict): - """Add a set of hyperparameters to be compared in TensorBoard. - - Args: - hparam_dict (dict): Each key-value pair in the dictionary is the - name of the hyper parameter and it's corresponding value. - The type of the value can be one of `bool`, `string`, `float`, - `int`, or `None`. - metric_dict (dict): Each key-value pair in the dictionary is the - name of the metric and it's corresponding value. Note that the key used - here should be unique in the tensorboard record. Otherwise the value - you added by ``add_scalar`` will be displayed in hparam plugin. In most - cases, this is unwanted. - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - with SummaryWriter() as w: - for i in range(5): - w.add_hparams({'lr': 0.1*i, 'bsize': i}, - {'hparam/accuracy': 10*i, 'hparam/loss': 10*i}) - - Expected result: - - .. image:: _static/img/tensorboard/add_hparam.png - :scale: 50 % - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_hparams") - if type(hparam_dict) is not dict or type(metric_dict) is not dict: - raise TypeError('hparam_dict and metric_dict should be dictionary.') - exp, ssi, sei = hparams(hparam_dict, metric_dict) - - logdir = os.path.join( - self._get_file_writer().get_logdir(), - str(time.time()) - ) - with SummaryWriter(log_dir=logdir) as w_hp: - w_hp.file_writer.add_summary(exp) - w_hp.file_writer.add_summary(ssi) - w_hp.file_writer.add_summary(sei) - for k, v in metric_dict.items(): - w_hp.add_scalar(k, v)
      - -
      [docs] def add_scalar(self, tag, scalar_value, global_step=None, walltime=None): - """Add scalar data to summary. - - Args: - tag (string): Data identifier - scalar_value (float or string/blobname): Value to save - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - with seconds after epoch of event - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - writer = SummaryWriter() - x = range(100) - for i in x: - writer.add_scalar('y=2x', i * 2, i) - writer.close() - - Expected result: - - .. image:: _static/img/tensorboard/add_scalar.png - :scale: 50 % - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_scalar") - if self._check_caffe2_blob(scalar_value): - scalar_value = workspace.FetchBlob(scalar_value) - self._get_file_writer().add_summary( - scalar(tag, scalar_value), global_step, walltime)
      - -
      [docs] def add_scalars(self, main_tag, tag_scalar_dict, global_step=None, walltime=None): - """Adds many scalar data to summary. - - Args: - main_tag (string): The parent name for the tags - tag_scalar_dict (dict): Key-value pair storing the tag and corresponding values - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - writer = SummaryWriter() - r = 5 - for i in range(100): - writer.add_scalars('run_14h', {'xsinx':i*np.sin(i/r), - 'xcosx':i*np.cos(i/r), - 'tanx': np.tan(i/r)}, i) - writer.close() - # This call adds three values to the same scalar plot with the tag - # 'run_14h' in TensorBoard's scalar section. - - Expected result: - - .. image:: _static/img/tensorboard/add_scalars.png - :scale: 50 % - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_scalars") - walltime = time.time() if walltime is None else walltime - fw_logdir = self._get_file_writer().get_logdir() - for tag, scalar_value in tag_scalar_dict.items(): - fw_tag = fw_logdir + "/" + main_tag.replace("/", "_") + "_" + tag - if fw_tag in self.all_writers.keys(): - fw = self.all_writers[fw_tag] - else: - fw = FileWriter(fw_tag, self.max_queue, self.flush_secs, - self.filename_suffix) - self.all_writers[fw_tag] = fw - if self._check_caffe2_blob(scalar_value): - scalar_value = workspace.FetchBlob(scalar_value) - fw.add_summary(scalar(main_tag, scalar_value), - global_step, walltime)
      - -
      [docs] def add_histogram(self, tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None): - """Add histogram to summary. - - Args: - tag (string): Data identifier - values (torch.Tensor, numpy.array, or string/blobname): Values to build histogram - global_step (int): Global step value to record - bins (string): One of {'tensorflow','auto', 'fd', ...}. This determines how the bins are made. You can find - other options in: https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - import numpy as np - writer = SummaryWriter() - for i in range(10): - x = np.random.random(1000) - writer.add_histogram('distribution centers', x + i, i) - writer.close() - - Expected result: - - .. image:: _static/img/tensorboard/add_histogram.png - :scale: 50 % - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_histogram") - if self._check_caffe2_blob(values): - values = workspace.FetchBlob(values) - if isinstance(bins, six.string_types) and bins == 'tensorflow': - bins = self.default_bins - self._get_file_writer().add_summary( - histogram(tag, values, bins, max_bins=max_bins), global_step, walltime)
      - - def add_histogram_raw(self, tag, min, max, num, sum, sum_squares, - bucket_limits, bucket_counts, global_step=None, - walltime=None): - """Adds histogram with raw data. - - Args: - tag (string): Data identifier - min (float or int): Min value - max (float or int): Max value - num (int): Number of values - sum (float or int): Sum of all values - sum_squares (float or int): Sum of squares for all values - bucket_limits (torch.Tensor, numpy.array): Upper value per bucket. - The number of elements of it should be the same as `bucket_counts`. - bucket_counts (torch.Tensor, numpy.array): Number of values per bucket - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - see: https://github.com/tensorflow/tensorboard/blob/master/tensorboard/plugins/histogram/README.md - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - import numpy as np - writer = SummaryWriter() - dummy_data = [] - for idx, value in enumerate(range(50)): - dummy_data += [idx + 0.001] * value - - bins = list(range(50+2)) - bins = np.array(bins) - values = np.array(dummy_data).astype(float).reshape(-1) - counts, limits = np.histogram(values, bins=bins) - sum_sq = values.dot(values) - writer.add_histogram_raw( - tag='histogram_with_raw_data', - min=values.min(), - max=values.max(), - num=len(values), - sum=values.sum(), - sum_squares=sum_sq, - bucket_limits=limits[1:].tolist(), - bucket_counts=counts.tolist(), - global_step=0) - writer.close() - - Expected result: - - .. image:: _static/img/tensorboard/add_histogram_raw.png - :scale: 50 % - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_histogram_raw") - if len(bucket_limits) != len(bucket_counts): - raise ValueError('len(bucket_limits) != len(bucket_counts), see the document.') - self._get_file_writer().add_summary( - histogram_raw(tag, - min, - max, - num, - sum, - sum_squares, - bucket_limits, - bucket_counts), - global_step, - walltime) - -
      [docs] def add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW'): - """Add image data to summary. - - Note that this requires the ``pillow`` package. - - Args: - tag (string): Data identifier - img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - Shape: - img_tensor: Default is :math:`(3, H, W)`. You can use ``torchvision.utils.make_grid()`` to - convert a batch of tensor into 3xHxW format or call ``add_images`` and let us do the job. - Tensor with :math:`(1, H, W)`, :math:`(H, W)`, :math:`(H, W, 3)` is also suitable as long as - corresponding ``dataformats`` argument is passed, e.g. ``CHW``, ``HWC``, ``HW``. - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - import numpy as np - img = np.zeros((3, 100, 100)) - img[0] = np.arange(0, 10000).reshape(100, 100) / 10000 - img[1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000 - - img_HWC = np.zeros((100, 100, 3)) - img_HWC[:, :, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 - img_HWC[:, :, 1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000 - - writer = SummaryWriter() - writer.add_image('my_image', img, 0) - - # If you have non-default dimension setting, set the dataformats argument. - writer.add_image('my_image_HWC', img_HWC, 0, dataformats='HWC') - writer.close() - - Expected result: - - .. image:: _static/img/tensorboard/add_image.png - :scale: 50 % - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_image") - if self._check_caffe2_blob(img_tensor): - img_tensor = workspace.FetchBlob(img_tensor) - self._get_file_writer().add_summary( - image(tag, img_tensor, dataformats=dataformats), global_step, walltime)
      - -
      [docs] def add_images(self, tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW'): - """Add batched image data to summary. - - Note that this requires the ``pillow`` package. - - Args: - tag (string): Data identifier - img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - dataformats (string): Image data format specification of the form - NCHW, NHWC, CHW, HWC, HW, WH, etc. - Shape: - img_tensor: Default is :math:`(N, 3, H, W)`. If ``dataformats`` is specified, other shape will be - accepted. e.g. NCHW or NHWC. - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - import numpy as np - - img_batch = np.zeros((16, 3, 100, 100)) - for i in range(16): - img_batch[i, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 / 16 * i - img_batch[i, 1] = (1 - np.arange(0, 10000).reshape(100, 100) / 10000) / 16 * i - - writer = SummaryWriter() - writer.add_images('my_image_batch', img_batch, 0) - writer.close() - - Expected result: - - .. image:: _static/img/tensorboard/add_images.png - :scale: 30 % - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_images") - if self._check_caffe2_blob(img_tensor): - img_tensor = workspace.FetchBlob(img_tensor) - self._get_file_writer().add_summary( - image(tag, img_tensor, dataformats=dataformats), global_step, walltime)
      - - def add_image_with_boxes(self, tag, img_tensor, box_tensor, global_step=None, - walltime=None, rescale=1, dataformats='CHW', labels=None): - """Add image and draw bounding boxes on the image. - - Args: - tag (string): Data identifier - img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data - box_tensor (torch.Tensor, numpy.array, or string/blobname): Box data (for detected objects) - box should be represented as [x1, y1, x2, y2]. - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - rescale (float): Optional scale override - dataformats (string): Image data format specification of the form - NCHW, NHWC, CHW, HWC, HW, WH, etc. - labels (list of string): The label to be shown for each bounding box. - Shape: - img_tensor: Default is :math:`(3, H, W)`. It can be specified with ``dataformats`` argument. - e.g. CHW or HWC - - box_tensor: (torch.Tensor, numpy.array, or string/blobname): NX4, where N is the number of - boxes and each 4 elememts in a row represents (xmin, ymin, xmax, ymax). - """ - torch._C._log_api_usage_once("tensorboard.logging.add_image_with_boxes") - if self._check_caffe2_blob(img_tensor): - img_tensor = workspace.FetchBlob(img_tensor) - if self._check_caffe2_blob(box_tensor): - box_tensor = workspace.FetchBlob(box_tensor) - if labels is not None: - if isinstance(labels, str): - labels = [labels] - if len(labels) != box_tensor.shape[0]: - labels = None - self._get_file_writer().add_summary(image_boxes( - tag, img_tensor, box_tensor, rescale=rescale, dataformats=dataformats, labels=labels), global_step, walltime) - -
      [docs] def add_figure(self, tag, figure, global_step=None, close=True, walltime=None): - """Render matplotlib figure into an image and add it to summary. - - Note that this requires the ``matplotlib`` package. - - Args: - tag (string): Data identifier - figure (matplotlib.pyplot.figure) or list of figures: Figure or a list of figures - global_step (int): Global step value to record - close (bool): Flag to automatically close the figure - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - """ - torch._C._log_api_usage_once("tensorboard.logging.add_figure") - if isinstance(figure, list): - self.add_image(tag, figure_to_image(figure, close), global_step, walltime, dataformats='NCHW') - else: - self.add_image(tag, figure_to_image(figure, close), global_step, walltime, dataformats='CHW')
      - -
      [docs] def add_video(self, tag, vid_tensor, global_step=None, fps=4, walltime=None): - """Add video data to summary. - - Note that this requires the ``moviepy`` package. - - Args: - tag (string): Data identifier - vid_tensor (torch.Tensor): Video data - global_step (int): Global step value to record - fps (float or int): Frames per second - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - Shape: - vid_tensor: :math:`(N, T, C, H, W)`. The values should lie in [0, 255] for type `uint8` or [0, 1] for type `float`. - """ - torch._C._log_api_usage_once("tensorboard.logging.add_video") - self._get_file_writer().add_summary( - video(tag, vid_tensor, fps), global_step, walltime)
      - -
      [docs] def add_audio(self, tag, snd_tensor, global_step=None, sample_rate=44100, walltime=None): - """Add audio data to summary. - - Args: - tag (string): Data identifier - snd_tensor (torch.Tensor): Sound data - global_step (int): Global step value to record - sample_rate (int): sample rate in Hz - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - Shape: - snd_tensor: :math:`(1, L)`. The values should lie between [-1, 1]. - """ - torch._C._log_api_usage_once("tensorboard.logging.add_audio") - if self._check_caffe2_blob(snd_tensor): - snd_tensor = workspace.FetchBlob(snd_tensor) - self._get_file_writer().add_summary( - audio(tag, snd_tensor, sample_rate=sample_rate), global_step, walltime)
      - -
      [docs] def add_text(self, tag, text_string, global_step=None, walltime=None): - """Add text data to summary. - - Args: - tag (string): Data identifier - text_string (string): String to save - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - Examples:: - - writer.add_text('lstm', 'This is an lstm', 0) - writer.add_text('rnn', 'This is an rnn', 10) - """ - torch._C._log_api_usage_once("tensorboard.logging.add_text") - self._get_file_writer().add_summary( - text(tag, text_string), global_step, walltime)
      - - def add_onnx_graph(self, prototxt): - torch._C._log_api_usage_once("tensorboard.logging.add_onnx_graph") - self._get_file_writer().add_onnx_graph(load_onnx_graph(prototxt)) - -
      [docs] def add_graph(self, model, input_to_model=None, verbose=False): - # prohibit second call? - # no, let tensorboard handle it and show its warning message. - """Add graph data to summary. - - Args: - model (torch.nn.Module): Model to draw. - input_to_model (torch.Tensor or list of torch.Tensor): A variable or a tuple of - variables to be fed. - verbose (bool): Whether to print graph structure in console. - """ - torch._C._log_api_usage_once("tensorboard.logging.add_graph") - if hasattr(model, 'forward'): - # A valid PyTorch model should have a 'forward' method - self._get_file_writer().add_graph(graph(model, input_to_model, verbose)) - else: - # Caffe2 models do not have the 'forward' method - from caffe2.proto import caffe2_pb2 - from caffe2.python import core - from ._caffe2_graph import ( - model_to_graph_def, nets_to_graph_def, protos_to_graph_def - ) - if isinstance(model, list): - if isinstance(model[0], core.Net): - current_graph = nets_to_graph_def(model) - elif isinstance(model[0], caffe2_pb2.NetDef): - current_graph = protos_to_graph_def(model) - else: - # Handles cnn.CNNModelHelper, model_helper.ModelHelper - current_graph = model_to_graph_def(model) - event = event_pb2.Event( - graph_def=current_graph.SerializeToString()) - self._get_file_writer().add_event(event)
      - - @staticmethod - def _encode(rawstr): - # I'd use urllib but, I'm unsure about the differences from python3 to python2, etc. - retval = rawstr - retval = retval.replace("%", "%%%02x" % (ord("%"))) - retval = retval.replace("/", "%%%02x" % (ord("/"))) - retval = retval.replace("\\", "%%%02x" % (ord("\\"))) - return retval - -
      [docs] def add_embedding(self, mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None): - """Add embedding projector data to summary. - - Args: - mat (torch.Tensor or numpy.array): A matrix which each row is the feature vector of the data point - metadata (list): A list of labels, each element will be convert to string - label_img (torch.Tensor): Images correspond to each data point - global_step (int): Global step value to record - tag (string): Name for the embedding - Shape: - mat: :math:`(N, D)`, where N is number of data and D is feature dimension - - label_img: :math:`(N, C, H, W)` - - Examples:: - - import keyword - import torch - meta = [] - while len(meta)<100: - meta = meta+keyword.kwlist # get some strings - meta = meta[:100] - - for i, v in enumerate(meta): - meta[i] = v+str(i) - - label_img = torch.rand(100, 3, 10, 32) - for i in range(100): - label_img[i]*=i/100.0 - - writer.add_embedding(torch.randn(100, 5), metadata=meta, label_img=label_img) - writer.add_embedding(torch.randn(100, 5), label_img=label_img) - writer.add_embedding(torch.randn(100, 5), metadata=meta) - """ - torch._C._log_api_usage_once("tensorboard.logging.add_embedding") - mat = make_np(mat) - if global_step is None: - global_step = 0 - # clear pbtxt? - - # Maybe we should encode the tag so slashes don't trip us up? - # I don't think this will mess us up, but better safe than sorry. - subdir = "%s/%s" % (str(global_step).zfill(5), self._encode(tag)) - save_path = os.path.join(self._get_file_writer().get_logdir(), subdir) - - fs = tf.io.gfile.get_filesystem(save_path) - if fs.exists(save_path): - if fs.isdir(save_path): - print( - 'warning: Embedding dir exists, did you set global_step for add_embedding()?') - else: - raise Exception("Path: `%s` exists, but is a file. Cannot proceed." % save_path) - else: - fs.makedirs(save_path) - - if metadata is not None: - assert mat.shape[0] == len( - metadata), '#labels should equal with #data points' - make_tsv(metadata, save_path, metadata_header=metadata_header) - - if label_img is not None: - assert mat.shape[0] == label_img.shape[0], '#images should equal with #data points' - make_sprite(label_img, save_path) - - assert mat.ndim == 2, 'mat should be 2D, where mat.size(0) is the number of data points' - make_mat(mat, save_path) - - # Filesystem doesn't necessarily have append semantics, so we store an - # internal buffer to append to and re-write whole file after each - # embedding is added - if not hasattr(self, "_projector_config"): - self._projector_config = ProjectorConfig() - embedding_info = get_embedding_info( - metadata, label_img, fs, subdir, global_step, tag) - self._projector_config.embeddings.extend([embedding_info]) - - from google.protobuf import text_format - config_pbtxt = text_format.MessageToString(self._projector_config) - write_pbtxt(self._get_file_writer().get_logdir(), config_pbtxt)
      - - -
      [docs] def add_pr_curve(self, tag, labels, predictions, global_step=None, - num_thresholds=127, weights=None, walltime=None): - """Adds precision recall curve. - Plotting a precision-recall curve lets you understand your model's - performance under different threshold settings. With this function, - you provide the ground truth labeling (T/F) and prediction confidence - (usually the output of your model) for each target. The TensorBoard UI - will let you choose the threshold interactively. - - Args: - tag (string): Data identifier - labels (torch.Tensor, numpy.array, or string/blobname): - Ground truth data. Binary label for each element. - predictions (torch.Tensor, numpy.array, or string/blobname): - The probability that an element be classified as true. - Value should in [0, 1] - global_step (int): Global step value to record - num_thresholds (int): Number of thresholds used to draw the curve. - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - import numpy as np - labels = np.random.randint(2, size=100) # binary label - predictions = np.random.rand(100) - writer = SummaryWriter() - writer.add_pr_curve('pr_curve', labels, predictions, 0) - writer.close() - - """ - torch._C._log_api_usage_once("tensorboard.logging.add_pr_curve") - labels, predictions = make_np(labels), make_np(predictions) - self._get_file_writer().add_summary( - pr_curve(tag, labels, predictions, num_thresholds, weights), - global_step, walltime)
      - - def add_pr_curve_raw(self, tag, true_positive_counts, - false_positive_counts, - true_negative_counts, - false_negative_counts, - precision, - recall, - global_step=None, - num_thresholds=127, - weights=None, - walltime=None): - """Adds precision recall curve with raw data. - - Args: - tag (string): Data identifier - true_positive_counts (torch.Tensor, numpy.array, or string/blobname): true positive counts - false_positive_counts (torch.Tensor, numpy.array, or string/blobname): false positive counts - true_negative_counts (torch.Tensor, numpy.array, or string/blobname): true negative counts - false_negative_counts (torch.Tensor, numpy.array, or string/blobname): false negative counts - precision (torch.Tensor, numpy.array, or string/blobname): precision - recall (torch.Tensor, numpy.array, or string/blobname): recall - global_step (int): Global step value to record - num_thresholds (int): Number of thresholds used to draw the curve. - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - see: https://github.com/tensorflow/tensorboard/blob/master/tensorboard/plugins/pr_curve/README.md - """ - torch._C._log_api_usage_once("tensorboard.logging.add_pr_curve_raw") - self._get_file_writer().add_summary( - pr_curve_raw(tag, - true_positive_counts, - false_positive_counts, - true_negative_counts, - false_negative_counts, - precision, - recall, - num_thresholds, - weights), - global_step, - walltime) - - def add_custom_scalars_multilinechart(self, tags, category='default', title='untitled'): - """Shorthand for creating multilinechart. Similar to ``add_custom_scalars()``, but the only necessary argument - is *tags*. - - Args: - tags (list): list of tags that have been used in ``add_scalar()`` - - Examples:: - - writer.add_custom_scalars_multilinechart(['twse/0050', 'twse/2330']) - """ - torch._C._log_api_usage_once("tensorboard.logging.add_custom_scalars_multilinechart") - layout = {category: {title: ['Multiline', tags]}} - self._get_file_writer().add_summary(custom_scalars(layout)) - - def add_custom_scalars_marginchart(self, tags, category='default', title='untitled'): - """Shorthand for creating marginchart. Similar to ``add_custom_scalars()``, but the only necessary argument - is *tags*, which should have exactly 3 elements. - - Args: - tags (list): list of tags that have been used in ``add_scalar()`` - - Examples:: - - writer.add_custom_scalars_marginchart(['twse/0050', 'twse/2330', 'twse/2006']) - """ - torch._C._log_api_usage_once("tensorboard.logging.add_custom_scalars_marginchart") - assert len(tags) == 3 - layout = {category: {title: ['Margin', tags]}} - self._get_file_writer().add_summary(custom_scalars(layout)) - -
      [docs] def add_custom_scalars(self, layout): - """Create special chart by collecting charts tags in 'scalars'. Note that this function can only be called once - for each SummaryWriter() object. Because it only provides metadata to tensorboard, the function can be called - before or after the training loop. - - Args: - layout (dict): {categoryName: *charts*}, where *charts* is also a dictionary - {chartName: *ListOfProperties*}. The first element in *ListOfProperties* is the chart's type - (one of **Multiline** or **Margin**) and the second element should be a list containing the tags - you have used in add_scalar function, which will be collected into the new chart. - - Examples:: - - layout = {'Taiwan':{'twse':['Multiline',['twse/0050', 'twse/2330']]}, - 'USA':{ 'dow':['Margin', ['dow/aaa', 'dow/bbb', 'dow/ccc']], - 'nasdaq':['Margin', ['nasdaq/aaa', 'nasdaq/bbb', 'nasdaq/ccc']]}} - - writer.add_custom_scalars(layout) - """ - torch._C._log_api_usage_once("tensorboard.logging.add_custom_scalars") - self._get_file_writer().add_summary(custom_scalars(layout))
      - -
      [docs] def add_mesh(self, tag, vertices, colors=None, faces=None, config_dict=None, global_step=None, walltime=None): - """Add meshes or 3D point clouds to TensorBoard. The visualization is based on Three.js, - so it allows users to interact with the rendered object. Besides the basic definitions - such as vertices, faces, users can further provide camera parameter, lighting condition, etc. - Please check https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene for - advanced usage. - - Args: - tag (string): Data identifier - vertices (torch.Tensor): List of the 3D coordinates of vertices. - colors (torch.Tensor): Colors for each vertex - faces (torch.Tensor): Indices of vertices within each triangle. (Optional) - config_dict: Dictionary with ThreeJS classes names and configuration. - global_step (int): Global step value to record - walltime (float): Optional override default walltime (time.time()) - seconds after epoch of event - - Shape: - vertices: :math:`(B, N, 3)`. (batch, number_of_vertices, channels) - - colors: :math:`(B, N, 3)`. The values should lie in [0, 255] for type `uint8` or [0, 1] for type `float`. - - faces: :math:`(B, N, 3)`. The values should lie in [0, number_of_vertices] for type `uint8`. - - Examples:: - - from torch.utils.tensorboard import SummaryWriter - vertices_tensor = torch.as_tensor([ - [1, 1, 1], - [-1, -1, 1], - [1, -1, -1], - [-1, 1, -1], - ], dtype=torch.float).unsqueeze(0) - colors_tensor = torch.as_tensor([ - [255, 0, 0], - [0, 255, 0], - [0, 0, 255], - [255, 0, 255], - ], dtype=torch.int).unsqueeze(0) - faces_tensor = torch.as_tensor([ - [0, 2, 3], - [0, 3, 1], - [0, 1, 2], - [1, 3, 2], - ], dtype=torch.int).unsqueeze(0) - - writer = SummaryWriter() - writer.add_mesh('my_mesh', vertices=vertices_tensor, colors=colors_tensor, faces=faces_tensor) - - writer.close() - """ - torch._C._log_api_usage_once("tensorboard.logging.add_mesh") - self._get_file_writer().add_summary(mesh(tag, vertices, colors, faces, config_dict), global_step, walltime)
      - -
      [docs] def flush(self): - """Flushes the event file to disk. - Call this method to make sure that all pending events have been written to - disk. - """ - if self.all_writers is None: - return - for writer in self.all_writers.values(): - writer.flush()
      - -
      [docs] def close(self): - if self.all_writers is None: - return # ignore double close - for writer in self.all_writers.values(): - writer.flush() - writer.close() - self.file_writer = self.all_writers = None
      - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.close()
      -
      - -
      - -
      -
      - - - - -
      - - - -
      -

      - © Copyright 2019, Torch Contributors. - -

      -
      - -
      - Built with Sphinx using a theme provided by Read the Docs. -
      - - -
      - -
      -
      - -
      -
      -
      - -
      -
      -
      -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      -
      -
      -

      Docs

      -

      Access comprehensive developer documentation for PyTorch

      - View Docs -
      - -
      -

      Tutorials

      -

      Get in-depth tutorials for beginners and advanced developers

      - View Tutorials -
      - -
      -

      Resources

      -

      Find development resources and get your questions answered

      - View Resources -
      -
      -
      -
      - - - - - - - - - -
      -
      -
      -
      - - -
      -
      -
      - - -
      - - - - - - - - \ No newline at end of file diff --git a/docs/stable/_modules/torchvision/ops/boxes.html b/docs/stable/_modules/torchvision/ops/boxes.html index 06449403875d..d6b76af74e3c 100644 --- a/docs/stable/_modules/torchvision/ops/boxes.html +++ b/docs/stable/_modules/torchvision/ops/boxes.html @@ -341,7 +341,8 @@

      Source code for torchvision.ops.boxes

       import torchvision
       
       
      -
      [docs]def nms(boxes: Tensor, scores: Tensor, iou_threshold: float) -> Tensor: +
      [docs]def nms(boxes, scores, iou_threshold): + # type: (Tensor, Tensor, float) -> Tensor """ Performs non-maximum suppression (NMS) on the boxes according to their intersection-over-union (IoU). @@ -377,12 +378,8 @@

      Source code for torchvision.ops.boxes

       
       
       @torch.jit._script_if_tracing
      -def batched_nms(
      -    boxes: Tensor,
      -    scores: Tensor,
      -    idxs: Tensor,
      -    iou_threshold: float,
      -) -> Tensor:
      +def batched_nms(boxes, scores, idxs, iou_threshold):
      +    # type: (Tensor, Tensor, Tensor, float) -> Tensor
           """
           Performs non-maximum suppression in a batched fashion.
       
      @@ -423,7 +420,8 @@ 

      Source code for torchvision.ops.boxes

               return keep
       
       
      -def remove_small_boxes(boxes: Tensor, min_size: float) -> Tensor:
      +def remove_small_boxes(boxes, min_size):
      +    # type: (Tensor, float) -> Tensor
           """
           Remove boxes which contains at least one side smaller than min_size.
       
      @@ -441,7 +439,8 @@ 

      Source code for torchvision.ops.boxes

           return keep
       
       
      -def clip_boxes_to_image(boxes: Tensor, size: Tuple[int, int]) -> Tensor:
      +def clip_boxes_to_image(boxes, size):
      +    # type: (Tensor, Tuple[int, int]) -> Tensor
           """
           Clip boxes so that they lie inside an image of size `size`.
       
      @@ -470,7 +469,7 @@ 

      Source code for torchvision.ops.boxes

           return clipped_boxes.reshape(boxes.shape)
       
       
      -def box_area(boxes: Tensor) -> Tensor:
      +def box_area(boxes):
           """
           Computes the area of a set of bounding boxes, which are specified by its
           (x1, y1, x2, y2) coordinates.
      @@ -487,7 +486,7 @@ 

      Source code for torchvision.ops.boxes

       
       # implementation from https://github.com/kuangliu/torchcv/blob/master/torchcv/utils/box.py
       # with slight modifications
      -def box_iou(boxes1: Tensor, boxes2: Tensor) -> Tensor:
      +def box_iou(boxes1, boxes2):
           """
           Return intersection-over-union (Jaccard index) of boxes.
       
      diff --git a/docs/stable/_modules/torchvision/ops/deform_conv.html b/docs/stable/_modules/torchvision/ops/deform_conv.html
      index faf654abce99..070a7493ed72 100644
      --- a/docs/stable/_modules/torchvision/ops/deform_conv.html
      +++ b/docs/stable/_modules/torchvision/ops/deform_conv.html
      @@ -345,15 +345,8 @@ 

      Source code for torchvision.ops.deform_conv

       from torch.jit.annotations import Optional, Tuple
       
       
      -
      [docs]def deform_conv2d( - input: Tensor, - offset: Tensor, - weight: Tensor, - bias: Optional[Tensor] = None, - stride: Tuple[int, int] = (1, 1), - padding: Tuple[int, int] = (0, 0), - dilation: Tuple[int, int] = (1, 1), -) -> Tensor: +
      [docs]def deform_conv2d(input, offset, weight, bias=None, stride=(1, 1), padding=(0, 0), dilation=(1, 1)): + # type: (Tensor, Tensor, Tensor, Optional[Tensor], Tuple[int, int], Tuple[int, int], Tuple[int, int]) -> Tensor """ Performs Deformable Convolution, described in Deformable Convolutional Networks @@ -424,17 +417,8 @@

      Source code for torchvision.ops.deform_conv

           """
           See deform_conv2d
           """
      -    def __init__(
      -        self,
      -        in_channels: int,
      -        out_channels: int,
      -        kernel_size: int,
      -        stride: int = 1,
      -        padding: int = 0,
      -        dilation: int = 1,
      -        groups: int = 1,
      -        bias: bool = True,
      -    ):
      +    def __init__(self, in_channels, out_channels, kernel_size, stride=1, padding=0,
      +                 dilation=1, groups=1, bias=True):
               super(DeformConv2d, self).__init__()
       
               if in_channels % groups != 0:
      @@ -460,14 +444,14 @@ 

      Source code for torchvision.ops.deform_conv

       
               self.reset_parameters()
       
      -    def reset_parameters(self) -> None:
      +    def reset_parameters(self):
               init.kaiming_uniform_(self.weight, a=math.sqrt(5))
               if self.bias is not None:
                   fan_in, _ = init._calculate_fan_in_and_fan_out(self.weight)
                   bound = 1 / math.sqrt(fan_in)
                   init.uniform_(self.bias, -bound, bound)
       
      -    def forward(self, input: Tensor, offset: Tensor) -> Tensor:
      +    def forward(self, input, offset):
               """
               Arguments:
                   input (Tensor[batch_size, in_channels, in_height, in_width]): input tensor
      @@ -478,7 +462,7 @@ 

      Source code for torchvision.ops.deform_conv

               return deform_conv2d(input, offset, self.weight, self.bias, stride=self.stride,
                                    padding=self.padding, dilation=self.dilation)
       
      -    def __repr__(self) -> str:
      +    def __repr__(self):
               s = self.__class__.__name__ + '('
               s += '{in_channels}'
               s += ', {out_channels}'
      diff --git a/docs/stable/_modules/torchvision/ops/feature_pyramid_network.html b/docs/stable/_modules/torchvision/ops/feature_pyramid_network.html
      index aed145365a05..6f28aa49dc69 100644
      --- a/docs/stable/_modules/torchvision/ops/feature_pyramid_network.html
      +++ b/docs/stable/_modules/torchvision/ops/feature_pyramid_network.html
      @@ -341,31 +341,7 @@ 

      Source code for torchvision.ops.feature_pyramid_network

      import torch.nn.functional as F from torch import nn, Tensor -from torch.jit.annotations import Tuple, List, Dict, Optional - - -class ExtraFPNBlock(nn.Module): - """ - Base class for the extra block in the FPN. - - Arguments: - results (List[Tensor]): the result of the FPN - x (List[Tensor]): the original feature maps - names (List[str]): the names for each one of the - original feature maps - - Returns: - results (List[Tensor]): the extended set of results - of the FPN - names (List[str]): the extended set of names for the results - """ - def forward( - self, - results: List[Tensor], - x: List[Tensor], - names: List[str], - ) -> Tuple[List[Tensor], List[str]]: - pass +from torch.jit.annotations import Tuple, List, Dict
      [docs]class FeaturePyramidNetwork(nn.Module): @@ -405,12 +381,7 @@

      Source code for torchvision.ops.feature_pyramid_network

      >>> ('feat3', torch.Size([1, 5, 8, 8]))] """ - def __init__( - self, - in_channels_list: List[int], - out_channels: int, - extra_blocks: Optional[ExtraFPNBlock] = None, - ): + def __init__(self, in_channels_list, out_channels, extra_blocks=None): super(FeaturePyramidNetwork, self).__init__() self.inner_blocks = nn.ModuleList() self.layer_blocks = nn.ModuleList() @@ -432,7 +403,8 @@

      Source code for torchvision.ops.feature_pyramid_network

      assert isinstance(extra_blocks, ExtraFPNBlock) self.extra_blocks = extra_blocks - def get_result_from_inner_blocks(self, x: Tensor, idx: int) -> Tensor: + def get_result_from_inner_blocks(self, x, idx): + # type: (Tensor, int) -> Tensor """ This is equivalent to self.inner_blocks[idx](x), but torchscript doesn't support this yet @@ -450,7 +422,8 @@

      Source code for torchvision.ops.feature_pyramid_network

      i += 1 return out - def get_result_from_layer_blocks(self, x: Tensor, idx: int) -> Tensor: + def get_result_from_layer_blocks(self, x, idx): + # type: (Tensor, int) -> Tensor """ This is equivalent to self.layer_blocks[idx](x), but torchscript doesn't support this yet @@ -468,7 +441,8 @@

      Source code for torchvision.ops.feature_pyramid_network

      i += 1 return out - def forward(self, x: Dict[str, Tensor]) -> Dict[str, Tensor]: + def forward(self, x): + # type: (Dict[str, Tensor]) -> Dict[str, Tensor] """ Computes the FPN for a set of feature maps. @@ -503,16 +477,31 @@

      Source code for torchvision.ops.feature_pyramid_network

      return out
      +class ExtraFPNBlock(nn.Module): + """ + Base class for the extra block in the FPN. + + Arguments: + results (List[Tensor]): the result of the FPN + x (List[Tensor]): the original feature maps + names (List[str]): the names for each one of the + original feature maps + + Returns: + results (List[Tensor]): the extended set of results + of the FPN + names (List[str]): the extended set of names for the results + """ + def forward(self, results, x, names): + pass + + class LastLevelMaxPool(ExtraFPNBlock): """ Applies a max_pool2d on top of the last feature map """ - def forward( - self, - x: List[Tensor], - y: List[Tensor], - names: List[str], - ) -> Tuple[List[Tensor], List[str]]: + def forward(self, x, y, names): + # type: (List[Tensor], List[Tensor], List[str]) -> Tuple[List[Tensor], List[str]] names.append("pool") x.append(F.max_pool2d(x[-1], 1, 2, 0)) return x, names @@ -522,7 +511,7 @@

      Source code for torchvision.ops.feature_pyramid_network

      """ This module is used in RetinaNet to generate extra layers, P6 and P7. """ - def __init__(self, in_channels: int, out_channels: int): + def __init__(self, in_channels, out_channels): super(LastLevelP6P7, self).__init__() self.p6 = nn.Conv2d(in_channels, out_channels, 3, 2, 1) self.p7 = nn.Conv2d(out_channels, out_channels, 3, 2, 1) @@ -531,12 +520,7 @@

      Source code for torchvision.ops.feature_pyramid_network

      nn.init.constant_(module.bias, 0) self.use_P5 = in_channels == out_channels - def forward( - self, - p: List[Tensor], - c: List[Tensor], - names: List[str], - ) -> Tuple[List[Tensor], List[str]]: + def forward(self, p, c, names): p5, c5 = p[-1], c[-1] x = p5 if self.use_P5 else c5 p6 = self.p6(x) diff --git a/docs/stable/_modules/torchvision/ops/poolers.html b/docs/stable/_modules/torchvision/ops/poolers.html index 0ebdb8f13de0..9c5f1583601e 100644 --- a/docs/stable/_modules/torchvision/ops/poolers.html +++ b/docs/stable/_modules/torchvision/ops/poolers.html @@ -352,7 +352,8 @@

      Source code for torchvision.ops.poolers

       # _onnx_merge_levels() is an implementation supported by ONNX
       # that merges the levels to the right indices
       @torch.jit.unused
      -def _onnx_merge_levels(levels: Tensor, unmerged_results: List[Tensor]) -> Tensor:
      +def _onnx_merge_levels(levels, unmerged_results):
      +    # type: (Tensor, List[Tensor]) -> Tensor
           first_result = unmerged_results[0]
           dtype, device = first_result.dtype, first_result.device
           res = torch.zeros((levels.size(0), first_result.size(1),
      @@ -369,13 +370,8 @@ 

      Source code for torchvision.ops.poolers

       
       
       # TODO: (eellison) T54974082 https://github.com/pytorch/pytorch/issues/26744/pytorch/issues/26744
      -def initLevelMapper(
      -    k_min: int,
      -    k_max: int,
      -    canonical_scale: int = 224,
      -    canonical_level: int = 4,
      -    eps: float = 1e-6,
      -):
      +def initLevelMapper(k_min, k_max, canonical_scale=224, canonical_level=4, eps=1e-6):
      +    # type: (int, int, int, int, float) -> LevelMapper
           return LevelMapper(k_min, k_max, canonical_scale, canonical_level, eps)
       
       
      @@ -391,21 +387,16 @@ 

      Source code for torchvision.ops.poolers

               eps (float)
           """
       
      -    def __init__(
      -        self,
      -        k_min: int,
      -        k_max: int,
      -        canonical_scale: int = 224,
      -        canonical_level: int = 4,
      -        eps: float = 1e-6,
      -    ):
      +    def __init__(self, k_min, k_max, canonical_scale=224, canonical_level=4, eps=1e-6):
      +        # type: (int, int, int, int, float) -> None
               self.k_min = k_min
               self.k_max = k_max
               self.s0 = canonical_scale
               self.lvl0 = canonical_level
               self.eps = eps
       
      -    def __call__(self, boxlists: List[Tensor]) -> Tensor:
      +    def __call__(self, boxlists):
      +        # type: (List[Tensor]) -> Tensor
               """
               Arguments:
                   boxlists (list[BoxList])
      @@ -453,12 +444,7 @@ 

      Source code for torchvision.ops.poolers

               'map_levels': Optional[LevelMapper]
           }
       
      -    def __init__(
      -        self,
      -        featmap_names: List[str],
      -        output_size: List[int],
      -        sampling_ratio: int,
      -    ):
      +    def __init__(self, featmap_names, output_size, sampling_ratio):
               super(MultiScaleRoIAlign, self).__init__()
               if isinstance(output_size, int):
                   output_size = (output_size, output_size)
      @@ -468,7 +454,8 @@ 

      Source code for torchvision.ops.poolers

               self.scales = None
               self.map_levels = None
       
      -    def convert_to_roi_format(self, boxes: List[Tensor]) -> Tensor:
      +    def convert_to_roi_format(self, boxes):
      +        # type: (List[Tensor]) -> Tensor
               concat_boxes = torch.cat(boxes, dim=0)
               device, dtype = concat_boxes.device, concat_boxes.dtype
               ids = torch.cat(
      @@ -481,7 +468,8 @@ 

      Source code for torchvision.ops.poolers

               rois = torch.cat([ids, concat_boxes], dim=1)
               return rois
       
      -    def infer_scale(self, feature: Tensor, original_size: List[int]) -> float:
      +    def infer_scale(self, feature, original_size):
      +        # type: (Tensor, List[int]) -> float
               # assumption: the scale is of the form 2 ** (-k), with k integer
               size = feature.shape[-2:]
               possible_scales = torch.jit.annotate(List[float], [])
      @@ -492,11 +480,8 @@ 

      Source code for torchvision.ops.poolers

               assert possible_scales[0] == possible_scales[1]
               return possible_scales[0]
       
      -    def setup_scales(
      -        self,
      -        features: List[Tensor],
      -        image_shapes: List[Tuple[int, int]],
      -    ) -> None:
      +    def setup_scales(self, features, image_shapes):
      +        # type: (List[Tensor], List[Tuple[int, int]]) -> None
               assert len(image_shapes) != 0
               max_x = 0
               max_y = 0
      @@ -513,12 +498,8 @@ 

      Source code for torchvision.ops.poolers

               self.scales = scales
               self.map_levels = initLevelMapper(int(lvl_min), int(lvl_max))
       
      -    def forward(
      -        self,
      -        x: Dict[str, Tensor],
      -        boxes: List[Tensor],
      -        image_shapes: List[Tuple[int, int]],
      -    ) -> Tensor:
      +    def forward(self, x, boxes, image_shapes):
      +        # type: (Dict[str, Tensor], List[Tensor], List[Tuple[int, int]]) -> Tensor
               """
               Arguments:
                   x (OrderedDict[Tensor]): feature maps for each level. They are assumed to have
      diff --git a/docs/stable/_modules/torchvision/ops/ps_roi_align.html b/docs/stable/_modules/torchvision/ops/ps_roi_align.html
      index fa0b600d35b7..aff93f0c83f4 100644
      --- a/docs/stable/_modules/torchvision/ops/ps_roi_align.html
      +++ b/docs/stable/_modules/torchvision/ops/ps_roi_align.html
      @@ -339,18 +339,13 @@ 

      Source code for torchvision.ops.ps_roi_align

      from torch import nn, Tensor
       
       from torch.nn.modules.utils import _pair
      -from torch.jit.annotations import List, Tuple
      +from torch.jit.annotations import List
       
       from ._utils import convert_boxes_to_roi_format, check_roi_boxes_shape
       
       
      -
      [docs]def ps_roi_align( - input: Tensor, - boxes: Tensor, - output_size: int, - spatial_scale: float = 1.0, - sampling_ratio: int = -1, -) -> Tensor: +
      [docs]def ps_roi_align(input, boxes, output_size, spatial_scale=1.0, sampling_ratio=-1): + # type: (Tensor, Tensor, int, float, int) -> Tensor """ Performs Position-Sensitive Region of Interest (RoI) Align operator mentioned in Light-Head R-CNN. @@ -391,22 +386,17 @@

      Source code for torchvision.ops.ps_roi_align

      """
           See ps_roi_align
           """
      -    def __init__(
      -        self,
      -        output_size: int,
      -        spatial_scale: float,
      -        sampling_ratio: int,
      -    ):
      +    def __init__(self, output_size, spatial_scale, sampling_ratio):
               super(PSRoIAlign, self).__init__()
               self.output_size = output_size
               self.spatial_scale = spatial_scale
               self.sampling_ratio = sampling_ratio
       
      -    def forward(self, input: Tensor, rois: Tensor) -> Tensor:
      +    def forward(self, input, rois):
               return ps_roi_align(input, rois, self.output_size, self.spatial_scale,
                                   self.sampling_ratio)
       
      -    def __repr__(self) -> str:
      +    def __repr__(self):
               tmpstr = self.__class__.__name__ + '('
               tmpstr += 'output_size=' + str(self.output_size)
               tmpstr += ', spatial_scale=' + str(self.spatial_scale)
      diff --git a/docs/stable/_modules/torchvision/ops/ps_roi_pool.html b/docs/stable/_modules/torchvision/ops/ps_roi_pool.html
      index 1cdc5da02358..5783f1818225 100644
      --- a/docs/stable/_modules/torchvision/ops/ps_roi_pool.html
      +++ b/docs/stable/_modules/torchvision/ops/ps_roi_pool.html
      @@ -339,17 +339,13 @@ 

      Source code for torchvision.ops.ps_roi_pool

       from torch import nn, Tensor
       
       from torch.nn.modules.utils import _pair
      -from torch.jit.annotations import List, Tuple
      +from torch.jit.annotations import List
       
       from ._utils import convert_boxes_to_roi_format, check_roi_boxes_shape
       
       
      -
      [docs]def ps_roi_pool( - input: Tensor, - boxes: Tensor, - output_size: int, - spatial_scale: float = 1.0, -) -> Tensor: +
      [docs]def ps_roi_pool(input, boxes, output_size, spatial_scale=1.0): + # type: (Tensor, Tensor, int, float) -> Tensor """ Performs Position-Sensitive Region of Interest (RoI) Pool operator described in R-FCN @@ -384,15 +380,15 @@

      Source code for torchvision.ops.ps_roi_pool

           """
           See ps_roi_pool
           """
      -    def __init__(self, output_size: int, spatial_scale: float):
      +    def __init__(self, output_size, spatial_scale):
               super(PSRoIPool, self).__init__()
               self.output_size = output_size
               self.spatial_scale = spatial_scale
       
      -    def forward(self, input: Tensor, rois: Tensor) -> Tensor:
      +    def forward(self, input, rois):
               return ps_roi_pool(input, rois, self.output_size, self.spatial_scale)
       
      -    def __repr__(self) -> str:
      +    def __repr__(self):
               tmpstr = self.__class__.__name__ + '('
               tmpstr += 'output_size=' + str(self.output_size)
               tmpstr += ', spatial_scale=' + str(self.spatial_scale)
      diff --git a/docs/stable/_modules/torchvision/ops/roi_align.html b/docs/stable/_modules/torchvision/ops/roi_align.html
      index 6de3f8ba7973..24eb103a8a71 100644
      --- a/docs/stable/_modules/torchvision/ops/roi_align.html
      +++ b/docs/stable/_modules/torchvision/ops/roi_align.html
      @@ -344,14 +344,8 @@ 

      Source code for torchvision.ops.roi_align

       from ._utils import convert_boxes_to_roi_format, check_roi_boxes_shape
       
       
      -
      [docs]def roi_align( - input: Tensor, - boxes: Tensor, - output_size: BroadcastingList2[int], - spatial_scale: float = 1.0, - sampling_ratio: int = -1, - aligned: bool = False, -) -> Tensor: +
      [docs]def roi_align(input, boxes, output_size, spatial_scale=1.0, sampling_ratio=-1, aligned=False): + # type: (Tensor, Tensor, BroadcastingList2[int], float, int, bool) -> Tensor """ Performs Region of Interest (RoI) Align operator described in Mask R-CNN @@ -392,23 +386,17 @@

      Source code for torchvision.ops.roi_align

           """
           See roi_align
           """
      -    def __init__(
      -        self,
      -        output_size: BroadcastingList2[int],
      -        spatial_scale: float,
      -        sampling_ratio: int,
      -        aligned: bool = False,
      -    ):
      +    def __init__(self, output_size, spatial_scale, sampling_ratio, aligned=False):
               super(RoIAlign, self).__init__()
               self.output_size = output_size
               self.spatial_scale = spatial_scale
               self.sampling_ratio = sampling_ratio
               self.aligned = aligned
       
      -    def forward(self, input: Tensor, rois: Tensor) -> Tensor:
      +    def forward(self, input, rois):
               return roi_align(input, rois, self.output_size, self.spatial_scale, self.sampling_ratio, self.aligned)
       
      -    def __repr__(self) -> str:
      +    def __repr__(self):
               tmpstr = self.__class__.__name__ + '('
               tmpstr += 'output_size=' + str(self.output_size)
               tmpstr += ', spatial_scale=' + str(self.spatial_scale)
      diff --git a/docs/stable/_modules/torchvision/ops/roi_pool.html b/docs/stable/_modules/torchvision/ops/roi_pool.html
      index b110417b9609..73eb23dd4cb5 100644
      --- a/docs/stable/_modules/torchvision/ops/roi_pool.html
      +++ b/docs/stable/_modules/torchvision/ops/roi_pool.html
      @@ -344,12 +344,8 @@ 

      Source code for torchvision.ops.roi_pool

       from ._utils import convert_boxes_to_roi_format, check_roi_boxes_shape
       
       
      -
      [docs]def roi_pool( - input: Tensor, - boxes: Tensor, - output_size: BroadcastingList2[int], - spatial_scale: float = 1.0, -) -> Tensor: +
      [docs]def roi_pool(input, boxes, output_size, spatial_scale=1.0): + # type: (Tensor, Tensor, BroadcastingList2[int], float) -> Tensor """ Performs Region of Interest (RoI) Pool operator described in Fast R-CNN @@ -382,15 +378,15 @@

      Source code for torchvision.ops.roi_pool

           """
           See roi_pool
           """
      -    def __init__(self, output_size: BroadcastingList2[int], spatial_scale: float):
      +    def __init__(self, output_size, spatial_scale):
               super(RoIPool, self).__init__()
               self.output_size = output_size
               self.spatial_scale = spatial_scale
       
      -    def forward(self, input: Tensor, rois: Tensor) -> Tensor:
      +    def forward(self, input, rois):
               return roi_pool(input, rois, self.output_size, self.spatial_scale)
       
      -    def __repr__(self) -> str:
      +    def __repr__(self):
               tmpstr = self.__class__.__name__ + '('
               tmpstr += 'output_size=' + str(self.output_size)
               tmpstr += ', spatial_scale=' + str(self.spatial_scale)
      diff --git a/docs/stable/_modules/torchvision/transforms/functional.html b/docs/stable/_modules/torchvision/transforms/functional.html
      index 5d897b1e147b..865eeeb0e621 100644
      --- a/docs/stable/_modules/torchvision/transforms/functional.html
      +++ b/docs/stable/_modules/torchvision/transforms/functional.html
      @@ -335,47 +335,36 @@
                    

      Source code for torchvision.transforms.functional

      -import math
      -import numbers
      -import warnings
      -from typing import Any, Optional
      -
      -import numpy as np
      -from PIL import Image
      -
      -import torch
      +import torch
       from torch import Tensor
      -from torch.jit.annotations import List, Tuple
      -
      +import math
      +from PIL import Image, ImageOps, ImageEnhance, __version__ as PILLOW_VERSION
       try:
           import accimage
       except ImportError:
           accimage = None
      +import numpy as np
      +from numpy import sin, cos, tan
      +import numbers
      +from collections.abc import Sequence, Iterable
      +import warnings
       
       from . import functional_pil as F_pil
       from . import functional_tensor as F_t
       
       
      -_is_pil_image = F_pil._is_pil_image
      -_parse_fill = F_pil._parse_fill
      -
      -
      -def _get_image_size(img: Tensor) -> List[int]:
      -    """Returns image sizea as (w, h)
      -    """
      -    if isinstance(img, torch.Tensor):
      -        return F_t._get_image_size(img)
      -
      -    return F_pil._get_image_size(img)
      +def _is_pil_image(img):
      +    if accimage is not None:
      +        return isinstance(img, (Image.Image, accimage.Image))
      +    else:
      +        return isinstance(img, Image.Image)
       
       
      -@torch.jit.unused
      -def _is_numpy(img: Any) -> bool:
      +def _is_numpy(img):
           return isinstance(img, np.ndarray)
       
       
      -@torch.jit.unused
      -def _is_numpy_image(img: Any) -> bool:
      +def _is_numpy_image(img):
           return img.ndim in {2, 3}
       
       
      @@ -390,7 +379,7 @@ 

      Source code for torchvision.transforms.functional

      Returns: Tensor: Converted image. """ - if not(F_pil._is_pil_image(pic) or _is_numpy(pic)): + if not(_is_pil_image(pic) or _is_numpy(pic)): raise TypeError('pic should be PIL Image or ndarray. Got {}'.format(type(pic))) if _is_numpy(pic) and not _is_numpy_image(pic): @@ -445,7 +434,7 @@

      Source code for torchvision.transforms.functional

      Returns: Tensor: Converted image. """ - if not(F_pil._is_pil_image(pic)): + if not(_is_pil_image(pic)): raise TypeError('pic should be PIL Image. Got {}'.format(type(pic))) if accimage is not None and isinstance(pic, accimage.Image): @@ -497,14 +486,8 @@

      Source code for torchvision.transforms.functional

      msg = f"The cast from {image.dtype} to {dtype} cannot be performed safely." raise RuntimeError(msg) - # https://github.com/pytorch/vision/pull/2078#issuecomment-612045321 - # For data in the range 0-1, (float * 255).to(uint) is only 255 - # when float is exactly 1.0. - # `max + 1 - epsilon` provides more evenly distributed mapping of - # ranges of floats to ints. eps = 1e-3 - result = image.mul(torch.iinfo(dtype).max + 1 - eps) - return result.to(dtype) + return image.mul(torch.iinfo(dtype).max + 1 - eps).to(dtype) else: # int to float if dtype.is_floating_point: @@ -653,31 +636,41 @@

      Source code for torchvision.transforms.functional

      return tensor
      -
      [docs]def resize(img: Tensor, size: List[int], interpolation: int = Image.BILINEAR) -> Tensor: - r"""Resize the input image to the given size. - The image can be a PIL Image or a torch Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]def resize(img, size, interpolation=Image.BILINEAR): + r"""Resize the input PIL Image to the given size. Args: - img (PIL Image or Tensor): Image to be resized. + img (PIL Image): Image to be resized. size (sequence or int): Desired output size. If size is a sequence like (h, w), the output size will be matched to this. If size is an int, the smaller edge of the image will be matched to this number maintaining the aspect ratio. i.e, if height > width, then image will be rescaled to - :math:`\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right)`. - In torchscript mode padding as single int is not supported, use a tuple or - list of length 1: ``[size, ]``. - interpolation (int, optional): Desired interpolation enum defined by `filters`_. - Default is ``PIL.Image.BILINEAR``. If input is Tensor, only ``PIL.Image.NEAREST``, ``PIL.Image.BILINEAR`` - and ``PIL.Image.BICUBIC`` are supported. + :math:`\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right)` + interpolation (int, optional): Desired interpolation. Default is + ``PIL.Image.BILINEAR`` Returns: - PIL Image or Tensor: Resized image. + PIL Image: Resized image. """ - if not isinstance(img, torch.Tensor): - return F_pil.resize(img, size=size, interpolation=interpolation) + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + if not (isinstance(size, int) or (isinstance(size, Iterable) and len(size) == 2)): + raise TypeError('Got inappropriate size arg: {}'.format(size)) - return F_t.resize(img, size=size, interpolation=interpolation)
      + if isinstance(size, int): + w, h = img.size + if (w <= h and w == size) or (h <= w and h == size): + return img + if w < h: + ow = size + oh = int(size * h / w) + return img.resize((ow, oh), interpolation) + else: + oh = size + ow = int(size * w / h) + return img.resize((ow, oh), interpolation) + else: + return img.resize(size[::-1], interpolation)
      def scale(*args, **kwargs): @@ -686,24 +679,20 @@

      Source code for torchvision.transforms.functional

      return resize(*args, **kwargs) -
      [docs]def pad(img: Tensor, padding: List[int], fill: int = 0, padding_mode: str = "constant") -> Tensor: - r"""Pad the given image on all sides with the given "pad" value. - The image can be a PIL Image or a torch Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]def pad(img, padding, fill=0, padding_mode='constant'): + r"""Pad the given PIL Image on all sides with specified padding mode and fill value. Args: - img (PIL Image or Tensor): Image to be padded. - padding (int or tuple or list): Padding on each border. If a single int is provided this + img (PIL Image): Image to be padded. + padding (int or tuple): Padding on each border. If a single int is provided this is used to pad all borders. If tuple of length 2 is provided this is the padding on left/right and top/bottom respectively. If a tuple of length 4 is provided - this is the padding for the left, top, right and bottom borders respectively. - In torchscript mode padding as single int is not supported, use a tuple or - list of length 1: ``[padding, ]``. - fill (int or str or tuple): Pixel fill value for constant fill. Default is 0. If a tuple of + this is the padding for the left, top, right and bottom borders + respectively. + fill: Pixel fill value for constant fill. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively. - This value is only used when the padding_mode is constant. Only int value is supported for Tensors. + This value is only used when the padding_mode is constant padding_mode: Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant. - Mode symmetric is not yet supported for Tensor inputs. - constant: pads with a constant value, this value is specified with fill @@ -720,107 +709,142 @@

      Source code for torchvision.transforms.functional

      will result in [2, 1, 1, 2, 3, 4, 4, 3] Returns: - PIL Image or Tensor: Padded image. + PIL Image: Padded image. """ - if not isinstance(img, torch.Tensor): - return F_pil.pad(img, padding=padding, fill=fill, padding_mode=padding_mode) + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) - return F_t.pad(img, padding=padding, fill=fill, padding_mode=padding_mode)
      + if not isinstance(padding, (numbers.Number, tuple)): + raise TypeError('Got inappropriate padding arg') + if not isinstance(fill, (numbers.Number, str, tuple)): + raise TypeError('Got inappropriate fill arg') + if not isinstance(padding_mode, str): + raise TypeError('Got inappropriate padding_mode arg') + + if isinstance(padding, Sequence) and len(padding) not in [2, 4]: + raise ValueError("Padding must be an int or a 2, or 4 element tuple, not a " + + "{} element tuple".format(len(padding))) + + assert padding_mode in ['constant', 'edge', 'reflect', 'symmetric'], \ + 'Padding mode should be either constant, edge, reflect or symmetric' + + if padding_mode == 'constant': + if isinstance(fill, numbers.Number): + fill = (fill,) * len(img.getbands()) + if len(fill) != len(img.getbands()): + raise ValueError('fill should have the same number of elements ' + 'as the number of channels in the image ' + '({}), got {} instead'.format(len(img.getbands()), len(fill))) + if img.mode == 'P': + palette = img.getpalette() + image = ImageOps.expand(img, border=padding, fill=fill) + image.putpalette(palette) + return image + + return ImageOps.expand(img, border=padding, fill=fill) + else: + if isinstance(padding, int): + pad_left = pad_right = pad_top = pad_bottom = padding + if isinstance(padding, Sequence) and len(padding) == 2: + pad_left = pad_right = padding[0] + pad_top = pad_bottom = padding[1] + if isinstance(padding, Sequence) and len(padding) == 4: + pad_left = padding[0] + pad_top = padding[1] + pad_right = padding[2] + pad_bottom = padding[3] + + if img.mode == 'P': + palette = img.getpalette() + img = np.asarray(img) + img = np.pad(img, ((pad_top, pad_bottom), (pad_left, pad_right)), padding_mode) + img = Image.fromarray(img) + img.putpalette(palette) + return img + + img = np.asarray(img) + # RGB image + if len(img.shape) == 3: + img = np.pad(img, ((pad_top, pad_bottom), (pad_left, pad_right), (0, 0)), padding_mode) + # Grayscale image + if len(img.shape) == 2: + img = np.pad(img, ((pad_top, pad_bottom), (pad_left, pad_right)), padding_mode) + return Image.fromarray(img)
      -
      [docs]def crop(img: Tensor, top: int, left: int, height: int, width: int) -> Tensor: - """Crop the given image at specified location and output size. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading - dimensions + +
      [docs]def crop(img, top, left, height, width): + """Crop the given PIL Image. Args: - img (PIL Image or Tensor): Image to be cropped. (0,0) denotes the top left corner of the image. + img (PIL Image): Image to be cropped. (0,0) denotes the top left corner of the image. top (int): Vertical component of the top left corner of the crop box. left (int): Horizontal component of the top left corner of the crop box. height (int): Height of the crop box. width (int): Width of the crop box. Returns: - PIL Image or Tensor: Cropped image. + PIL Image: Cropped image. """ + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) - if not isinstance(img, torch.Tensor): - return F_pil.crop(img, top, left, height, width) - - return F_t.crop(img, top, left, height, width)
      + return img.crop((left, top, left + width, top + height))
      -
      [docs]def center_crop(img: Tensor, output_size: List[int]) -> Tensor: - """Crops the given image at the center. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]def center_crop(img, output_size): + """Crop the given PIL Image and resize it to desired size. Args: - img (PIL Image or Tensor): Image to be cropped. - output_size (sequence or int): (height, width) of the crop box. If int or sequence with single int - it is used for both directions. - + img (PIL Image): Image to be cropped. (0,0) denotes the top left corner of the image. + output_size (sequence or int): (height, width) of the crop box. If int, + it is used for both directions Returns: - PIL Image or Tensor: Cropped image. + PIL Image: Cropped image. """ if isinstance(output_size, numbers.Number): output_size = (int(output_size), int(output_size)) - elif isinstance(output_size, (tuple, list)) and len(output_size) == 1: - output_size = (output_size[0], output_size[0]) - - image_width, image_height = _get_image_size(img) + image_width, image_height = img.size crop_height, crop_width = output_size - - # crop_top = int(round((image_height - crop_height) / 2.)) - # Result can be different between python func and scripted func - # Temporary workaround: - crop_top = int((image_height - crop_height + 1) * 0.5) - # crop_left = int(round((image_width - crop_width) / 2.)) - # Result can be different between python func and scripted func - # Temporary workaround: - crop_left = int((image_width - crop_width + 1) * 0.5) + crop_top = int(round((image_height - crop_height) / 2.)) + crop_left = int(round((image_width - crop_width) / 2.)) return crop(img, crop_top, crop_left, crop_height, crop_width)
      -
      [docs]def resized_crop( - img: Tensor, top: int, left: int, height: int, width: int, size: List[int], interpolation: int = Image.BILINEAR -) -> Tensor: - """Crop the given image and resize it to desired size. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]def resized_crop(img, top, left, height, width, size, interpolation=Image.BILINEAR): + """Crop the given PIL Image and resize it to desired size. Notably used in :class:`~torchvision.transforms.RandomResizedCrop`. Args: - img (PIL Image or Tensor): Image to be cropped. (0,0) denotes the top left corner of the image. + img (PIL Image): Image to be cropped. (0,0) denotes the top left corner of the image. top (int): Vertical component of the top left corner of the crop box. left (int): Horizontal component of the top left corner of the crop box. height (int): Height of the crop box. width (int): Width of the crop box. size (sequence or int): Desired output size. Same semantics as ``resize``. - interpolation (int, optional): Desired interpolation enum defined by `filters`_. - Default is ``PIL.Image.BILINEAR``. If input is Tensor, only ``PIL.Image.NEAREST``, ``PIL.Image.BILINEAR`` - and ``PIL.Image.BICUBIC`` are supported. + interpolation (int, optional): Desired interpolation. Default is + ``PIL.Image.BILINEAR``. Returns: - PIL Image or Tensor: Cropped image. + PIL Image: Cropped image. """ + assert _is_pil_image(img), 'img should be PIL Image' img = crop(img, top, left, height, width) img = resize(img, size, interpolation) return img
      [docs]def hflip(img: Tensor) -> Tensor: - """Horizontally flip the given PIL Image or Tensor. + """Horizontally flip the given PIL Image or torch Tensor. Args: - img (PIL Image or Tensor): Image to be flipped. If img + img (PIL Image or Torch Tensor): Image to be flipped. If img is a Tensor, it is expected to be in [..., H, W] format, where ... means it can have an arbitrary number of trailing dimensions. Returns: - PIL Image or Tensor: Horizontally flipped image. + PIL Image: Horizontally flipped image. """ if not isinstance(img, torch.Tensor): return F_pil.hflip(img) @@ -828,6 +852,43 @@

      Source code for torchvision.transforms.functional

      return F_t.hflip(img)
      +def _parse_fill(fill, img, min_pil_version): + """Helper function to get the fill color for rotate and perspective transforms. + + Args: + fill (n-tuple or int or float): Pixel fill value for area outside the transformed + image. If int or float, the value is used for all bands respectively. + Defaults to 0 for all bands. + img (PIL Image): Image to be filled. + min_pil_version (str): The minimum PILLOW version for when the ``fillcolor`` option + was first introduced in the calling function. (e.g. rotate->5.2.0, perspective->5.0.0) + + Returns: + dict: kwarg for ``fillcolor`` + """ + major_found, minor_found = (int(v) for v in PILLOW_VERSION.split('.')[:2]) + major_required, minor_required = (int(v) for v in min_pil_version.split('.')[:2]) + if major_found < major_required or (major_found == major_required and minor_found < minor_required): + if fill is None: + return {} + else: + msg = ("The option to fill background area of the transformed image, " + "requires pillow>={}") + raise RuntimeError(msg.format(min_pil_version)) + + num_bands = len(img.getbands()) + if fill is None: + fill = 0 + if isinstance(fill, (int, float)) and num_bands > 1: + fill = tuple([fill] * num_bands) + if not isinstance(fill, (int, float)) and len(fill) != num_bands: + msg = ("The number of elements in 'fill' does not match the number of " + "bands of the image ({} != {})") + raise ValueError(msg.format(len(fill), num_bands)) + + return {"fillcolor": fill} + + def _get_perspective_coeffs(startpoints, endpoints): """Helper function to get the coefficients (a, b, c, d, e, f, g, h) for the perspective transforms. @@ -836,7 +897,8 @@

      Source code for torchvision.transforms.functional

      Args: List containing [top-left, top-right, bottom-right, bottom-left] of the original image, - List containing [top-left, top-right, bottom-right, bottom-left] of the transformed image + List containing [top-left, top-right, bottom-right, bottom-left] of the transformed + image Returns: octuple (a, b, c, d, e, f, g, h) for transforming each pixel. """ @@ -868,7 +930,7 @@

      Source code for torchvision.transforms.functional

      PIL Image: Perspectively transformed Image. """ - if not F_pil._is_pil_image(img): + if not _is_pil_image(img): raise TypeError('img should be PIL Image. Got {}'.format(type(img))) opts = _parse_fill(fill, img, '5.0.0') @@ -881,7 +943,7 @@

      Source code for torchvision.transforms.functional

      """Vertically flip the given PIL Image or torch Tensor. Args: - img (PIL Image or Tensor): Image to be flipped. If img + img (PIL Image or Torch Tensor): Image to be flipped. If img is a Tensor, it is expected to be in [..., H, W] format, where ... means it can have an arbitrary number of trailing dimensions. @@ -895,20 +957,17 @@

      Source code for torchvision.transforms.functional

      return F_t.vflip(img)
      -
      [docs]def five_crop(img: Tensor, size: List[int]) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor]: - """Crop the given image into four corners and the central crop. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]def five_crop(img, size): + """Crop the given PIL Image into four corners and the central crop. .. Note:: This transform returns a tuple of images and there may be a mismatch in the number of inputs and targets your ``Dataset`` returns. Args: - img (PIL Image or Tensor): Image to be cropped. - size (sequence or int): Desired output size of the crop. If size is an - int instead of sequence like (h, w), a square crop (size, size) is - made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]). + size (sequence or int): Desired output size of the crop. If size is an + int instead of sequence like (h, w), a square crop (size, size) is + made. Returns: tuple: tuple (tl, tr, bl, br, center) @@ -916,44 +975,37 @@

      Source code for torchvision.transforms.functional

      """ if isinstance(size, numbers.Number): size = (int(size), int(size)) - elif isinstance(size, (tuple, list)) and len(size) == 1: - size = (size[0], size[0]) - - if len(size) != 2: - raise ValueError("Please provide only two dimensions (h, w) for size.") + else: + assert len(size) == 2, "Please provide only two dimensions (h, w) for size." - image_width, image_height = _get_image_size(img) + image_width, image_height = img.size crop_height, crop_width = size if crop_width > image_width or crop_height > image_height: msg = "Requested crop size {} is bigger than input size {}" raise ValueError(msg.format(size, (image_height, image_width))) - tl = crop(img, 0, 0, crop_height, crop_width) - tr = crop(img, 0, image_width - crop_width, crop_height, crop_width) - bl = crop(img, image_height - crop_height, 0, crop_height, crop_width) - br = crop(img, image_height - crop_height, image_width - crop_width, crop_height, crop_width) + tl = img.crop((0, 0, crop_width, crop_height)) + tr = img.crop((image_width - crop_width, 0, image_width, crop_height)) + bl = img.crop((0, image_height - crop_height, crop_width, image_height)) + br = img.crop((image_width - crop_width, image_height - crop_height, + image_width, image_height)) + center = center_crop(img, (crop_height, crop_width)) + return (tl, tr, bl, br, center)
      - center = center_crop(img, [crop_height, crop_width]) - return tl, tr, bl, br, center
      - - -
      [docs]def ten_crop(img: Tensor, size: List[int], vertical_flip: bool = False) -> List[Tensor]: - """Generate ten cropped images from the given image. - Crop the given image into four corners and the central crop plus the +
      [docs]def ten_crop(img, size, vertical_flip=False): + """Generate ten cropped images from the given PIL Image. + Crop the given PIL Image into four corners and the central crop plus the flipped version of these (horizontal flipping is used by default). - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions .. Note:: This transform returns a tuple of images and there may be a mismatch in the number of inputs and targets your ``Dataset`` returns. Args: - img (PIL Image or Tensor): Image to be cropped. size (sequence or int): Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is - made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]). + made. vertical_flip (bool): Use vertical flipping instead of horizontal Returns: @@ -963,11 +1015,8 @@

      Source code for torchvision.transforms.functional

      """ if isinstance(size, numbers.Number): size = (int(size), int(size)) - elif isinstance(size, (tuple, list)) and len(size) == 1: - size = (size[0], size[0]) - - if len(size) != 2: - raise ValueError("Please provide only two dimensions (h, w) for size.") + else: + assert len(size) == 2, "Please provide only two dimensions (h, w) for size." first_five = five_crop(img, size) @@ -984,13 +1033,13 @@

      Source code for torchvision.transforms.functional

      """Adjust brightness of an Image. Args: - img (PIL Image or Tensor): Image to be adjusted. + img (PIL Image or Torch Tensor): Image to be adjusted. brightness_factor (float): How much to adjust the brightness. Can be any non negative number. 0 gives a black image, 1 gives the original image while 2 increases the brightness by a factor of 2. Returns: - PIL Image or Tensor: Brightness adjusted image. + PIL Image or Torch Tensor: Brightness adjusted image. """ if not isinstance(img, torch.Tensor): return F_pil.adjust_brightness(img, brightness_factor) @@ -1002,13 +1051,13 @@

      Source code for torchvision.transforms.functional

      """Adjust contrast of an Image. Args: - img (PIL Image or Tensor): Image to be adjusted. + img (PIL Image or Torch Tensor): Image to be adjusted. contrast_factor (float): How much to adjust the contrast. Can be any non negative number. 0 gives a solid gray image, 1 gives the original image while 2 increases the contrast by a factor of 2. Returns: - PIL Image or Tensor: Contrast adjusted image. + PIL Image or Torch Tensor: Contrast adjusted image. """ if not isinstance(img, torch.Tensor): return F_pil.adjust_contrast(img, contrast_factor) @@ -1020,13 +1069,13 @@

      Source code for torchvision.transforms.functional

      """Adjust color saturation of an image. Args: - img (PIL Image or Tensor): Image to be adjusted. + img (PIL Image or Torch Tensor): Image to be adjusted. saturation_factor (float): How much to adjust the saturation. 0 will give a black and white image, 1 will give the original image while 2 will enhance the saturation by a factor of 2. Returns: - PIL Image or Tensor: Saturation adjusted image. + PIL Image or Torch Tensor: Saturation adjusted image. """ if not isinstance(img, torch.Tensor): return F_pil.adjust_saturation(img, saturation_factor) @@ -1065,7 +1114,7 @@

      Source code for torchvision.transforms.functional

      raise TypeError('img should be PIL Image. Got {}'.format(type(img)))
      -
      [docs]def adjust_gamma(img: Tensor, gamma: float, gain: float = 1) -> Tensor: +
      [docs]def adjust_gamma(img, gamma, gain=1): r"""Perform gamma correction on an image. Also known as Power Law Transform. Intensities in RGB mode are adjusted @@ -1079,18 +1128,26 @@

      Source code for torchvision.transforms.functional

      .. _Gamma Correction: https://en.wikipedia.org/wiki/Gamma_correction Args: - img (PIL Image or Tensor): PIL Image to be adjusted. + img (PIL Image): PIL Image to be adjusted. gamma (float): Non negative real number, same as :math:`\gamma` in the equation. gamma larger than 1 make the shadows darker, while gamma smaller than 1 make dark regions lighter. gain (float): The constant multiplier. - Returns: - PIL Image or Tensor: Gamma correction adjusted image. """ - if not isinstance(img, torch.Tensor): - return F_pil.adjust_gamma(img, gamma, gain) + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + if gamma < 0: + raise ValueError('Gamma should be a non-negative real number') + + input_mode = img.mode + img = img.convert('RGB') - return F_t.adjust_gamma(img, gamma, gain)
      + gamma_map = [255 * gain * pow(ele / 255., gamma) for ele in range(256)] * 3 + img = img.point(gamma_map) # use PIL's point-function to accelerate this part + + img = img.convert(input_mode) + return img
      [docs]def rotate(img, angle, resample=False, expand=False, center=None, fill=None): @@ -1117,7 +1174,7 @@

      Source code for torchvision.transforms.functional

      .. _filters: https://pillow.readthedocs.io/en/latest/handbook/concepts.html#filters """ - if not F_pil._is_pil_image(img): + if not _is_pil_image(img): raise TypeError('img should be PIL Image. Got {}'.format(type(img))) opts = _parse_fill(fill, img, '5.2.0') @@ -1125,9 +1182,7 @@

      Source code for torchvision.transforms.functional

      return img.rotate(angle, resample, expand, center, **opts)
      -def _get_inverse_affine_matrix( - center: List[int], angle: float, translate: List[float], scale: float, shear: List[float] -) -> List[float]: +def _get_inverse_affine_matrix(center, angle, translate, scale, shear): # Helper method to compute inverse matrix for affine transformation # As it is explained in PIL.Image.rotate @@ -1147,6 +1202,14 @@

      Source code for torchvision.transforms.functional

      # # Thus, the inverse is M^-1 = C * RSS^-1 * C^-1 * T^-1 + if isinstance(shear, numbers.Number): + shear = [shear, 0] + + if not isinstance(shear, (tuple, list)) and len(shear) == 2: + raise ValueError( + "Shear should be a single value or a tuple/list containing " + + "two values. Got {}".format(shear)) + rot = math.radians(angle) sx, sy = [math.radians(s) for s in shear] @@ -1154,100 +1217,57 @@

      Source code for torchvision.transforms.functional

      tx, ty = translate # RSS without scaling - a = math.cos(rot - sy) / math.cos(sy) - b = -math.cos(rot - sy) * math.tan(sx) / math.cos(sy) - math.sin(rot) - c = math.sin(rot - sy) / math.cos(sy) - d = -math.sin(rot - sy) * math.tan(sx) / math.cos(sy) + math.cos(rot) + a = cos(rot - sy) / cos(sy) + b = -cos(rot - sy) * tan(sx) / cos(sy) - sin(rot) + c = sin(rot - sy) / cos(sy) + d = -sin(rot - sy) * tan(sx) / cos(sy) + cos(rot) # Inverted rotation matrix with scale and shear # det([[a, b], [c, d]]) == 1, since det(rotation) = 1 and det(shear) = 1 - matrix = [d, -b, 0.0, -c, a, 0.0] - matrix = [x / scale for x in matrix] + M = [d, -b, 0, + -c, a, 0] + M = [x / scale for x in M] # Apply inverse of translation and of center translation: RSS^-1 * C^-1 * T^-1 - matrix[2] += matrix[0] * (-cx - tx) + matrix[1] * (-cy - ty) - matrix[5] += matrix[3] * (-cx - tx) + matrix[4] * (-cy - ty) + M[2] += M[0] * (-cx - tx) + M[1] * (-cy - ty) + M[5] += M[3] * (-cx - tx) + M[4] * (-cy - ty) # Apply center translation: C * RSS^-1 * C^-1 * T^-1 - matrix[2] += cx - matrix[5] += cy + M[2] += cx + M[5] += cy + return M - return matrix - -
      [docs]def affine( - img: Tensor, angle: float, translate: List[int], scale: float, shear: List[float], - resample: int = 0, fillcolor: Optional[int] = None -) -> Tensor: - """Apply affine transformation on the image keeping image center invariant. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions. +
      [docs]def affine(img, angle, translate, scale, shear, resample=0, fillcolor=None): + """Apply affine transformation on the image keeping image center invariant Args: - img (PIL Image or Tensor): image to be rotated. + img (PIL Image): PIL Image to be rotated. angle (float or int): rotation angle in degrees between -180 and 180, clockwise direction. translate (list or tuple of integers): horizontal and vertical translations (post-rotation translation) scale (float): overall scale shear (float or tuple or list): shear angle value in degrees between -180 to 180, clockwise direction. - If a tuple of list is specified, the first value corresponds to a shear parallel to the x axis, while - the second value corresponds to a shear parallel to the y axis. + If a tuple of list is specified, the first value corresponds to a shear parallel to the x axis, while + the second value corresponds to a shear parallel to the y axis. resample (``PIL.Image.NEAREST`` or ``PIL.Image.BILINEAR`` or ``PIL.Image.BICUBIC``, optional): - An optional resampling filter. See `filters`_ for more information. - If omitted, or if the image is PIL Image and has mode "1" or "P", it is set to ``PIL.Image.NEAREST``. - If input is Tensor, only ``PIL.Image.NEAREST`` and ``PIL.Image.BILINEAR`` are supported. + An optional resampling filter. + See `filters`_ for more information. + If omitted, or if the image has mode "1" or "P", it is set to ``PIL.Image.NEAREST``. fillcolor (int): Optional fill color for the area outside the transform in the output image. (Pillow>=5.0.0) - - Returns: - PIL Image or Tensor: Transformed image. """ - if not isinstance(angle, (int, float)): - raise TypeError("Argument angle should be int or float") - - if not isinstance(translate, (list, tuple)): - raise TypeError("Argument translate should be a sequence") - - if len(translate) != 2: - raise ValueError("Argument translate should be a sequence of length 2") - - if scale <= 0.0: - raise ValueError("Argument scale should be positive") - - if not isinstance(shear, (numbers.Number, (list, tuple))): - raise TypeError("Shear should be either a single value or a sequence of two values") - - if isinstance(angle, int): - angle = float(angle) - - if isinstance(translate, tuple): - translate = list(translate) - - if isinstance(shear, numbers.Number): - shear = [shear, 0.0] - - if isinstance(shear, tuple): - shear = list(shear) - - if len(shear) == 1: - shear = [shear[0], shear[0]] - - if len(shear) != 2: - raise ValueError("Shear should be a sequence containing two values. Got {}".format(shear)) - - img_size = _get_image_size(img) - if not isinstance(img, torch.Tensor): - # center = (img_size[0] * 0.5 + 0.5, img_size[1] * 0.5 + 0.5) - # it is visually better to estimate the center without 0.5 offset - # otherwise image rotated by 90 degrees is shifted vs output image of torch.rot90 or F_t.affine - center = [img_size[0] * 0.5, img_size[1] * 0.5] - matrix = _get_inverse_affine_matrix(center, angle, translate, scale, shear) + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) - return F_pil.affine(img, matrix=matrix, resample=resample, fillcolor=fillcolor) + assert isinstance(translate, (tuple, list)) and len(translate) == 2, \ + "Argument translate should be a list or tuple of length 2" - # we need to rescale translate by image size / 2 as its values can be between -1 and 1 - translate = [2.0 * t / s for s, t in zip(img_size, translate)] + assert scale > 0.0, "Argument scale should be positive" - matrix = _get_inverse_affine_matrix([0, 0], angle, translate, scale, shear) - return F_t.affine(img, matrix=matrix, resample=resample, fillcolor=fillcolor)
      + output_size = img.size + center = (img.size[0] * 0.5 + 0.5, img.size[1] * 0.5 + 0.5) + matrix = _get_inverse_affine_matrix(center, angle, translate, scale, shear) + kwargs = {"fillcolor": fillcolor} if int(PILLOW_VERSION.split('.')[0]) >= 5 else {} + return img.transform(output_size, Image.AFFINE, matrix, resample, **kwargs)
      [docs]def to_grayscale(img, num_output_channels=1): @@ -1262,7 +1282,7 @@

      Source code for torchvision.transforms.functional

      if num_output_channels = 3 : returned image is 3 channel with r = g = b """ - if not F_pil._is_pil_image(img): + if not _is_pil_image(img): raise TypeError('img should be PIL Image. Got {}'.format(type(img))) if num_output_channels == 1: @@ -1278,7 +1298,7 @@

      Source code for torchvision.transforms.functional

      return img
      -
      [docs]def erase(img: Tensor, i: int, j: int, h: int, w: int, v: Tensor, inplace: bool = False) -> Tensor: +
      [docs]def erase(img, i, j, h, w, v, inplace=False): """ Erase the input Tensor Image with given value. Args: diff --git a/docs/stable/_modules/torchvision/transforms/transforms.html b/docs/stable/_modules/torchvision/transforms/transforms.html index 18ddb7ac8f93..b233954de0a4 100644 --- a/docs/stable/_modules/torchvision/transforms/transforms.html +++ b/docs/stable/_modules/torchvision/transforms/transforms.html @@ -335,22 +335,19 @@

      Source code for torchvision.transforms.transforms

      -import math
      -import numbers
      +import torch
      +import math
       import random
      -import warnings
      -from collections.abc import Sequence
      -from typing import Tuple, List, Optional
      -
      -import numpy as np
      -import torch
       from PIL import Image
      -from torch import Tensor
      -
       try:
           import accimage
       except ImportError:
           accimage = None
      +import numpy as np
      +import numbers
      +import types
      +from collections.abc import Sequence, Iterable
      +import warnings
       
       from . import functional as F
       
      @@ -371,6 +368,15 @@ 

      Source code for torchvision.transforms.transforms

      } +def _get_image_size(img): + if F._is_pil_image(img): + return img.size + elif isinstance(img, torch.Tensor) and img.dim() > 2: + return img.shape[-2:][::-1] + else: + raise TypeError("Unexpected type {}".format(type(img))) + +
      [docs]class Compose(object): """Composes several transforms together. @@ -429,7 +435,7 @@

      Source code for torchvision.transforms.transforms

      class PILToTensor(object): """Convert a ``PIL Image`` to a tensor of the same type. - Converts a PIL Image (H x W x C) to a Tensor of shape (C x H x W). + Converts a PIL Image (H x W x C) to a torch.Tensor of shape (C x H x W). """ def __call__(self, pic): @@ -546,40 +552,31 @@

      Source code for torchvision.transforms.transforms

      return self.__class__.__name__ + '(mean={0}, std={1})'.format(self.mean, self.std)
      -
      [docs]class Resize(torch.nn.Module): - """Resize the input image to the given size. - The image can be a PIL Image or a torch Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]class Resize(object): + """Resize the input PIL Image to the given size. Args: size (sequence or int): Desired output size. If size is a sequence like (h, w), output size will be matched to this. If size is an int, smaller edge of the image will be matched to this number. i.e, if height > width, then image will be rescaled to - (size * height / width, size). - In torchscript mode padding as single int is not supported, use a tuple or - list of length 1: ``[size, ]``. - interpolation (int, optional): Desired interpolation enum defined by `filters`_. - Default is ``PIL.Image.BILINEAR``. If input is Tensor, only ``PIL.Image.NEAREST``, ``PIL.Image.BILINEAR`` - and ``PIL.Image.BICUBIC`` are supported. + (size * height / width, size) + interpolation (int, optional): Desired interpolation. Default is + ``PIL.Image.BILINEAR`` """ def __init__(self, size, interpolation=Image.BILINEAR): - super().__init__() - if not isinstance(size, (int, Sequence)): - raise TypeError("Size should be int or sequence. Got {}".format(type(size))) - if isinstance(size, Sequence) and len(size) not in (1, 2): - raise ValueError("If size is a sequence, it should have 1 or 2 values") + assert isinstance(size, int) or (isinstance(size, Iterable) and len(size) == 2) self.size = size self.interpolation = interpolation - def forward(self, img): + def __call__(self, img): """ Args: - img (PIL Image or Tensor): Image to be scaled. + img (PIL Image): Image to be scaled. Returns: - PIL Image or Tensor: Rescaled image. + PIL Image: Rescaled image. """ return F.resize(img, self.size, self.interpolation) @@ -598,36 +595,28 @@

      Source code for torchvision.transforms.transforms

      super(Scale, self).__init__(*args, **kwargs)
      -
      [docs]class CenterCrop(torch.nn.Module): - """Crops the given image at the center. - The image can be a PIL Image or a torch Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]class CenterCrop(object): + """Crops the given PIL Image at the center. Args: size (sequence or int): Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is - made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]). + made. """ def __init__(self, size): - super().__init__() if isinstance(size, numbers.Number): self.size = (int(size), int(size)) - elif isinstance(size, Sequence) and len(size) == 1: - self.size = (size[0], size[0]) else: - if len(size) != 2: - raise ValueError("Please provide only two dimensions (h, w) for size.") - self.size = size - def forward(self, img): + def __call__(self, img): """ Args: - img (PIL Image or Tensor): Image to be cropped. + img (PIL Image): Image to be cropped. Returns: - PIL Image or Tensor: Cropped image. + PIL Image: Cropped image. """ return F.center_crop(img, self.size) @@ -635,23 +624,20 @@

      Source code for torchvision.transforms.transforms

      return self.__class__.__name__ + '(size={0})'.format(self.size)
      -
      [docs]class Pad(torch.nn.Module): - """Pad the given image on all sides with the given "pad" value. - The image can be a PIL Image or a torch Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]class Pad(object): + """Pad the given PIL Image on all sides with the given "pad" value. Args: - padding (int or tuple or list): Padding on each border. If a single int is provided this + padding (int or tuple): Padding on each border. If a single int is provided this is used to pad all borders. If tuple of length 2 is provided this is the padding on left/right and top/bottom respectively. If a tuple of length 4 is provided - this is the padding for the left, top, right and bottom borders respectively. - In torchscript mode padding as single int is not supported, use a tuple or - list of length 1: ``[padding, ]``. + this is the padding for the left, top, right and bottom borders + respectively. fill (int or tuple): Pixel fill value for constant fill. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively. This value is only used when the padding_mode is constant padding_mode (str): Type of padding. Should be: constant, edge, reflect or symmetric. - Default is constant. Mode symmetric is not yet supported for Tensor inputs. + Default is constant. - constant: pads with a constant value, this value is specified with fill @@ -668,32 +654,25 @@

      Source code for torchvision.transforms.transforms

      will result in [2, 1, 1, 2, 3, 4, 4, 3] """ - def __init__(self, padding, fill=0, padding_mode="constant"): - super().__init__() - if not isinstance(padding, (numbers.Number, tuple, list)): - raise TypeError("Got inappropriate padding arg") - - if not isinstance(fill, (numbers.Number, str, tuple)): - raise TypeError("Got inappropriate fill arg") - - if padding_mode not in ["constant", "edge", "reflect", "symmetric"]: - raise ValueError("Padding mode should be either constant, edge, reflect or symmetric") - - if isinstance(padding, Sequence) and len(padding) not in [1, 2, 4]: - raise ValueError("Padding must be an int or a 1, 2, or 4 element tuple, not a " + + def __init__(self, padding, fill=0, padding_mode='constant'): + assert isinstance(padding, (numbers.Number, tuple)) + assert isinstance(fill, (numbers.Number, str, tuple)) + assert padding_mode in ['constant', 'edge', 'reflect', 'symmetric'] + if isinstance(padding, Sequence) and len(padding) not in [2, 4]: + raise ValueError("Padding must be an int or a 2, or 4 element tuple, not a " + "{} element tuple".format(len(padding))) self.padding = padding self.fill = fill self.padding_mode = padding_mode - def forward(self, img): + def __call__(self, img): """ Args: - img (PIL Image or Tensor): Image to be padded. + img (PIL Image): Image to be padded. Returns: - PIL Image or Tensor: Padded image. + PIL Image: Padded image. """ return F.pad(img, self.padding, self.fill, self.padding_mode) @@ -791,31 +770,25 @@

      Source code for torchvision.transforms.transforms

      return t(img)
      -
      [docs]class RandomCrop(torch.nn.Module): - """Crop the given image at a random location. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading - dimensions +
      [docs]class RandomCrop(object): + """Crop the given PIL Image at a random location. Args: size (sequence or int): Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is - made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]). + made. padding (int or sequence, optional): Optional padding on each border - of the image. Default is None. If a single int is provided this - is used to pad all borders. If tuple of length 2 is provided this is the padding - on left/right and top/bottom respectively. If a tuple of length 4 is provided - this is the padding for the left, top, right and bottom borders respectively. - In torchscript mode padding as single int is not supported, use a tuple or - list of length 1: ``[padding, ]``. + of the image. Default is None, i.e no padding. If a sequence of length + 4 is provided, it is used to pad left, top, right, bottom borders + respectively. If a sequence of length 2 is provided, it is used to + pad left/right, top/bottom borders, respectively. pad_if_needed (boolean): It will pad the image if smaller than the desired size to avoid raising an exception. Since cropping is done after padding, the padding seems to be done at a random offset. - fill (int or tuple): Pixel fill value for constant fill. Default is 0. If a tuple of + fill: Pixel fill value for constant fill. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively. This value is only used when the padding_mode is constant - padding_mode (str): Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant. - Mode symmetric is not yet supported for Tensor inputs. + padding_mode: Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant. - constant: pads with a constant value, this value is specified with fill @@ -833,70 +806,60 @@

      Source code for torchvision.transforms.transforms

      """ + def __init__(self, size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant'): + if isinstance(size, numbers.Number): + self.size = (int(size), int(size)) + else: + self.size = size + self.padding = padding + self.pad_if_needed = pad_if_needed + self.fill = fill + self.padding_mode = padding_mode + @staticmethod - def get_params(img: Tensor, output_size: Tuple[int, int]) -> Tuple[int, int, int, int]: + def get_params(img, output_size): """Get parameters for ``crop`` for a random crop. Args: - img (PIL Image or Tensor): Image to be cropped. + img (PIL Image): Image to be cropped. output_size (tuple): Expected output size of the crop. Returns: tuple: params (i, j, h, w) to be passed to ``crop`` for random crop. """ - w, h = F._get_image_size(img) + w, h = _get_image_size(img) th, tw = output_size if w == tw and h == th: return 0, 0, h, w - i = torch.randint(0, h - th + 1, size=(1, )).item() - j = torch.randint(0, w - tw + 1, size=(1, )).item() + i = random.randint(0, h - th) + j = random.randint(0, w - tw) return i, j, th, tw - def __init__(self, size, padding=None, pad_if_needed=False, fill=0, padding_mode="constant"): - super().__init__() - if isinstance(size, numbers.Number): - self.size = (int(size), int(size)) - elif isinstance(size, Sequence) and len(size) == 1: - self.size = (size[0], size[0]) - else: - if len(size) != 2: - raise ValueError("Please provide only two dimensions (h, w) for size.") - - # cast to tuple for torchscript - self.size = tuple(size) - self.padding = padding - self.pad_if_needed = pad_if_needed - self.fill = fill - self.padding_mode = padding_mode - - def forward(self, img): + def __call__(self, img): """ Args: - img (PIL Image or Tensor): Image to be cropped. + img (PIL Image): Image to be cropped. Returns: - PIL Image or Tensor: Cropped image. + PIL Image: Cropped image. """ if self.padding is not None: img = F.pad(img, self.padding, self.fill, self.padding_mode) - width, height = F._get_image_size(img) # pad the width if needed - if self.pad_if_needed and width < self.size[1]: - padding = [self.size[1] - width, 0] - img = F.pad(img, padding, self.fill, self.padding_mode) + if self.pad_if_needed and img.size[0] < self.size[1]: + img = F.pad(img, (self.size[1] - img.size[0], 0), self.fill, self.padding_mode) # pad the height if needed - if self.pad_if_needed and height < self.size[0]: - padding = [0, self.size[0] - height] - img = F.pad(img, padding, self.fill, self.padding_mode) + if self.pad_if_needed and img.size[1] < self.size[0]: + img = F.pad(img, (0, self.size[0] - img.size[1]), self.fill, self.padding_mode) i, j, h, w = self.get_params(img, self.size) return F.crop(img, i, j, h, w) def __repr__(self): - return self.__class__.__name__ + "(size={0}, padding={1})".format(self.size, self.padding)
      + return self.__class__.__name__ + '(size={0}, padding={1})'.format(self.size, self.padding)
      [docs]class RandomHorizontalFlip(torch.nn.Module): @@ -930,7 +893,7 @@

      Source code for torchvision.transforms.transforms

      [docs]class RandomVerticalFlip(torch.nn.Module): - """Vertically flip the given image randomly with a given probability. + """Vertically flip the given PIL Image randomly with a given probability. The image can be a PIL Image or a torch Tensor, in which case it is expected to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions @@ -1026,10 +989,8 @@

      Source code for torchvision.transforms.transforms

      return self.__class__.__name__ + '(p={})'.format(self.p)
      -
      [docs]class RandomResizedCrop(torch.nn.Module): - """Crop the given image to random size and aspect ratio. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions +
      [docs]class RandomResizedCrop(object): + """Crop the given PIL Image to random size and aspect ratio. A crop of random size (default: of 0.08 to 1.0) of the original size and a random aspect ratio (default: of 3/4 to 4/3) of the original aspect ratio is made. This crop @@ -1037,77 +998,59 @@

      Source code for torchvision.transforms.transforms

      This is popularly used to train the Inception networks. Args: - size (int or sequence): expected output size of each edge. If size is an - int instead of sequence like (h, w), a square output size ``(size, size)`` is - made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]). - scale (tuple of float): range of size of the origin size cropped - ratio (tuple of float): range of aspect ratio of the origin aspect ratio cropped. - interpolation (int): Desired interpolation enum defined by `filters`_. - Default is ``PIL.Image.BILINEAR``. If input is Tensor, only ``PIL.Image.NEAREST``, ``PIL.Image.BILINEAR`` - and ``PIL.Image.BICUBIC`` are supported. + size: expected output size of each edge + scale: range of size of the origin size cropped + ratio: range of aspect ratio of the origin aspect ratio cropped + interpolation: Default: PIL.Image.BILINEAR """ def __init__(self, size, scale=(0.08, 1.0), ratio=(3. / 4., 4. / 3.), interpolation=Image.BILINEAR): - super().__init__() - if isinstance(size, numbers.Number): - self.size = (int(size), int(size)) - elif isinstance(size, Sequence) and len(size) == 1: - self.size = (size[0], size[0]) - else: - if len(size) != 2: - raise ValueError("Please provide only two dimensions (h, w) for size.") + if isinstance(size, (tuple, list)): self.size = size - - if not isinstance(scale, (tuple, list)): - raise TypeError("Scale should be a sequence") - if not isinstance(ratio, (tuple, list)): - raise TypeError("Ratio should be a sequence") + else: + self.size = (size, size) if (scale[0] > scale[1]) or (ratio[0] > ratio[1]): - warnings.warn("Scale and ratio should be of kind (min, max)") + warnings.warn("range should be of kind (min, max)") self.interpolation = interpolation self.scale = scale self.ratio = ratio @staticmethod - def get_params( - img: Tensor, scale: Tuple[float, float], ratio: Tuple[float, float] - ) -> Tuple[int, int, int, int]: + def get_params(img, scale, ratio): """Get parameters for ``crop`` for a random sized crop. Args: - img (PIL Image or Tensor): Input image. - scale (tuple): range of scale of the origin size cropped + img (PIL Image): Image to be cropped. + scale (tuple): range of size of the origin size cropped ratio (tuple): range of aspect ratio of the origin aspect ratio cropped Returns: tuple: params (i, j, h, w) to be passed to ``crop`` for a random sized crop. """ - width, height = F._get_image_size(img) + width, height = _get_image_size(img) area = height * width for _ in range(10): - target_area = area * torch.empty(1).uniform_(*scale).item() - log_ratio = torch.log(torch.tensor(ratio)) - aspect_ratio = torch.exp( - torch.empty(1).uniform_(log_ratio[0], log_ratio[1]) - ).item() + target_area = random.uniform(*scale) * area + log_ratio = (math.log(ratio[0]), math.log(ratio[1])) + aspect_ratio = math.exp(random.uniform(*log_ratio)) w = int(round(math.sqrt(target_area * aspect_ratio))) h = int(round(math.sqrt(target_area / aspect_ratio))) if 0 < w <= width and 0 < h <= height: - i = torch.randint(0, height - h + 1, size=(1,)).item() - j = torch.randint(0, width - w + 1, size=(1,)).item() + i = random.randint(0, height - h) + j = random.randint(0, width - w) return i, j, h, w # Fallback to central crop in_ratio = float(width) / float(height) - if in_ratio < min(ratio): + if (in_ratio < min(ratio)): w = width h = int(round(w / min(ratio))) - elif in_ratio > max(ratio): + elif (in_ratio > max(ratio)): h = height w = int(round(h * max(ratio))) else: # whole image @@ -1117,13 +1060,13 @@

      Source code for torchvision.transforms.transforms

      j = (width - w) // 2 return i, j, h, w - def forward(self, img): + def __call__(self, img): """ Args: - img (PIL Image or Tensor): Image to be cropped and resized. + img (PIL Image): Image to be cropped and resized. Returns: - PIL Image or Tensor: Randomly cropped and resized image. + PIL Image: Randomly cropped and resized image. """ i, j, h, w = self.get_params(img, self.scale, self.ratio) return F.resized_crop(img, i, j, h, w, self.size, self.interpolation) @@ -1147,11 +1090,8 @@

      Source code for torchvision.transforms.transforms

      super(RandomSizedCrop, self).__init__(*args, **kwargs)
      -
      [docs]class FiveCrop(torch.nn.Module): - """Crop the given image into four corners and the central crop. - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading - dimensions +
      [docs]class FiveCrop(object): + """Crop the given PIL Image into four corners and the central crop .. Note:: This transform returns a tuple of images and there may be a mismatch in the number of @@ -1161,7 +1101,6 @@

      Source code for torchvision.transforms.transforms

      Args: size (sequence or int): Desired output size of the crop. If size is an ``int`` instead of sequence like (h, w), a square crop of size (size, size) is made. - If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]). Example: >>> transform = Compose([ @@ -1176,37 +1115,23 @@

      Source code for torchvision.transforms.transforms

      """ def __init__(self, size): - super().__init__() + self.size = size if isinstance(size, numbers.Number): self.size = (int(size), int(size)) - elif isinstance(size, Sequence) and len(size) == 1: - self.size = (size[0], size[0]) else: - if len(size) != 2: - raise ValueError("Please provide only two dimensions (h, w) for size.") - + assert len(size) == 2, "Please provide only two dimensions (h, w) for size." self.size = size - def forward(self, img): - """ - Args: - img (PIL Image or Tensor): Image to be cropped. - - Returns: - tuple of 5 images. Image can be PIL Image or Tensor - """ + def __call__(self, img): return F.five_crop(img, self.size) def __repr__(self): return self.__class__.__name__ + '(size={0})'.format(self.size)
      -
      [docs]class TenCrop(torch.nn.Module): - """Crop the given image into four corners and the central crop plus the flipped version of - these (horizontal flipping is used by default). - The image can be a PIL Image or a Tensor, in which case it is expected - to have [..., H, W] shape, where ... means an arbitrary number of leading - dimensions +
      [docs]class TenCrop(object): + """Crop the given PIL Image into four corners and the central crop plus the flipped version of + these (horizontal flipping is used by default) .. Note:: This transform returns a tuple of images and there may be a mismatch in the number of @@ -1216,7 +1141,7 @@

      Source code for torchvision.transforms.transforms

      Args: size (sequence or int): Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is - made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]). + made. vertical_flip (bool): Use vertical flipping instead of horizontal Example: @@ -1232,26 +1157,15 @@

      Source code for torchvision.transforms.transforms

      """ def __init__(self, size, vertical_flip=False): - super().__init__() + self.size = size if isinstance(size, numbers.Number): self.size = (int(size), int(size)) - elif isinstance(size, Sequence) and len(size) == 1: - self.size = (size[0], size[0]) else: - if len(size) != 2: - raise ValueError("Please provide only two dimensions (h, w) for size.") - + assert len(size) == 2, "Please provide only two dimensions (h, w) for size." self.size = size self.vertical_flip = vertical_flip - def forward(self, img): - """ - Args: - img (PIL Image or Tensor): Image to be cropped. - - Returns: - tuple of 10 images. Image can be PIL Image or Tensor - """ + def __call__(self, img): return F.ten_crop(img, self.size, self.vertical_flip) def __repr__(self): @@ -1709,7 +1623,7 @@

      Source code for torchvision.transforms.transforms

      return self.__class__.__name__ + '(p={0})'.format(self.p)
      -
      [docs]class RandomErasing(torch.nn.Module): +
      [docs]class RandomErasing(object): """ Randomly selects a rectangle region in an image and erases its pixels. 'Random Erasing Data Augmentation' by Zhong et al. See https://arxiv.org/pdf/1708.04896.pdf @@ -1736,21 +1650,13 @@

      Source code for torchvision.transforms.transforms

      """ def __init__(self, p=0.5, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0, inplace=False): - super().__init__() - if not isinstance(value, (numbers.Number, str, tuple, list)): - raise TypeError("Argument value should be either a number or str or a sequence") - if isinstance(value, str) and value != "random": - raise ValueError("If value is str, it should be 'random'") - if not isinstance(scale, (tuple, list)): - raise TypeError("Scale should be a sequence") - if not isinstance(ratio, (tuple, list)): - raise TypeError("Ratio should be a sequence") + assert isinstance(value, (numbers.Number, str, tuple, list)) if (scale[0] > scale[1]) or (ratio[0] > ratio[1]): - warnings.warn("Scale and ratio should be of kind (min, max)") + warnings.warn("range should be of kind (min, max)") if scale[0] < 0 or scale[1] > 1: - raise ValueError("Scale should be between 0 and 1") + raise ValueError("range of scale should be between 0 and 1") if p < 0 or p > 1: - raise ValueError("Random erasing probability should be between 0 and 1") + raise ValueError("range of random erasing probability should be between 0 and 1") self.p = p self.scale = scale @@ -1759,18 +1665,13 @@

      Source code for torchvision.transforms.transforms

      self.inplace = inplace @staticmethod - def get_params( - img: Tensor, scale: Tuple[float, float], ratio: Tuple[float, float], value: Optional[List[float]] = None - ) -> Tuple[int, int, int, int, Tensor]: + def get_params(img, scale, ratio, value=0): """Get parameters for ``erase`` for a random erasing. Args: img (Tensor): Tensor image of size (C, H, W) to be erased. - scale (tuple or list): range of proportion of erased area against input image. - ratio (tuple or list): range of aspect ratio of erased area. - value (list, optional): erasing value. If None, it is interpreted as "random" - (erasing each pixel with random values). If ``len(value)`` is 1, it is interpreted as a number, - i.e. ``value[0]``. + scale: range of proportion of erased area against input image. + ratio: range of aspect ratio of erased area. Returns: tuple: params (i, j, h, w, v) to be passed to ``erase`` for random erasing. @@ -1779,27 +1680,27 @@

      Source code for torchvision.transforms.transforms

      area = img_h * img_w for _ in range(10): - erase_area = area * torch.empty(1).uniform_(scale[0], scale[1]).item() - aspect_ratio = torch.empty(1).uniform_(ratio[0], ratio[1]).item() + erase_area = random.uniform(scale[0], scale[1]) * area + aspect_ratio = random.uniform(ratio[0], ratio[1]) h = int(round(math.sqrt(erase_area * aspect_ratio))) w = int(round(math.sqrt(erase_area / aspect_ratio))) - if not (h < img_h and w < img_w): - continue - - if value is None: - v = torch.empty([img_c, h, w], dtype=torch.float32).normal_() - else: - v = torch.tensor(value)[:, None, None] - i = torch.randint(0, img_h - h + 1, size=(1, )).item() - j = torch.randint(0, img_w - w + 1, size=(1, )).item() - return i, j, h, w, v + if h < img_h and w < img_w: + i = random.randint(0, img_h - h) + j = random.randint(0, img_w - w) + if isinstance(value, numbers.Number): + v = value + elif isinstance(value, torch._six.string_classes): + v = torch.empty([img_c, h, w], dtype=torch.float32).normal_() + elif isinstance(value, (list, tuple)): + v = torch.tensor(value, dtype=torch.float32).view(-1, 1, 1).expand(-1, h, w) + return i, j, h, w, v # Return original image return 0, 0, img_h, img_w, img - def forward(self, img): + def __call__(self, img): """ Args: img (Tensor): Tensor image of size (C, H, W) to be erased. @@ -1807,25 +1708,8 @@

      Source code for torchvision.transforms.transforms

      Returns: img (Tensor): Erased Tensor image. """ - if torch.rand(1) < self.p: - - # cast self.value to script acceptable type - if isinstance(self.value, (int, float)): - value = [self.value, ] - elif isinstance(self.value, str): - value = None - elif isinstance(self.value, tuple): - value = list(self.value) - else: - value = self.value - - if value is not None and not (len(value) in (1, img.shape[-3])): - raise ValueError( - "If value is a sequence, it should have either a single value or " - "{} (number of input channels)".format(img.shape[-3]) - ) - - x, y, h, w, v = self.get_params(img, scale=self.scale, ratio=self.ratio, value=value) + if random.uniform(0, 1) < self.p: + x, y, h, w, v = self.get_params(img, scale=self.scale, ratio=self.ratio, value=self.value) return F.erase(img, x, y, h, w, v, self.inplace) return img
      diff --git a/docs/stable/autograd.html b/docs/stable/autograd.html index d8dcb62d33a6..1ef84311ab41 100644 --- a/docs/stable/autograd.html +++ b/docs/stable/autograd.html @@ -1360,7 +1360,7 @@

      Context method mixins

      Numerical gradient checking

      -torch.autograd.gradcheck(func: Callable[[...], Union[torch.Tensor, Sequence[torch.Tensor]]], inputs: Union[torch.Tensor, Sequence[torch.Tensor]], eps: float = 1e-06, atol: float = 1e-05, rtol: float = 0.001, raise_exception: bool = True, check_sparse_nnz: bool = False, nondet_tol: float = 0.0, check_undefined_grad: bool = True) → bool[source]
      +torch.autograd.gradcheck(func: Callable[..., Union[torch.Tensor, Sequence[torch.Tensor]]], inputs: Union[torch.Tensor, Sequence[torch.Tensor]], eps: float = 1e-06, atol: float = 1e-05, rtol: float = 0.001, raise_exception: bool = True, check_sparse_nnz: bool = False, nondet_tol: float = 0.0, check_undefined_grad: bool = True) → bool[source]

      Check gradients computed via small finite differences against analytical gradients w.r.t. tensors in inputs that are of floating point or complex type and with requires_grad=True.

      @@ -1408,7 +1408,7 @@

      Context method mixins
      -torch.autograd.gradgradcheck(func: Callable[[...], Union[torch.Tensor, Sequence[torch.Tensor]]], inputs: Union[torch.Tensor, Sequence[torch.Tensor]], grad_outputs: Union[torch.Tensor, Sequence[torch.Tensor], None] = None, eps: float = 1e-06, atol: float = 1e-05, rtol: float = 0.001, gen_non_contig_grad_outputs: bool = False, raise_exception: bool = True, nondet_tol: float = 0.0, check_undefined_grad: bool = True) → bool[source]
      +torch.autograd.gradgradcheck(func: Callable[..., Union[torch.Tensor, Sequence[torch.Tensor]]], inputs: Union[torch.Tensor, Sequence[torch.Tensor]], grad_outputs: Union[torch.Tensor, Sequence[torch.Tensor], None] = None, eps: float = 1e-06, atol: float = 1e-05, rtol: float = 0.001, gen_non_contig_grad_outputs: bool = False, raise_exception: bool = True, nondet_tol: float = 0.0, check_undefined_grad: bool = True) → bool[source]

      Check gradients of gradients computed via small finite differences against analytical gradients w.r.t. tensors in inputs and grad_outputs that are of floating point or complex type and with diff --git a/docs/stable/community/persons_of_interest.html b/docs/stable/community/persons_of_interest.html index 900fabc0a847..2f6536a4455a 100644 --- a/docs/stable/community/persons_of_interest.html +++ b/docs/stable/community/persons_of_interest.html @@ -182,6 +182,7 @@ + @@ -250,7 +251,7 @@

      @@ -866,4 +865,4 @@

      Resources

      }) - + \ No newline at end of file diff --git a/docs/stable/complex_numbers.html b/docs/stable/complex_numbers.html index b97698a73fa1..4d4dd67a8578 100644 --- a/docs/stable/complex_numbers.html +++ b/docs/stable/complex_numbers.html @@ -337,11 +337,15 @@

      Complex Numbers

      -

      Complex numbers are numbers that can be expressed in the form a+bja + bj +

      Complex numbers are numbers that can be expressed in the form a+bja + bj + , where a and b are real numbers, -and j is a solution of the equation . Complex numbers frequently occur in mathematics and +and j is a solution of the equation x2=1x^2 = −1 + +. Complex numbers frequently occur in mathematics and engineering, especially in signal processing. Traditionally many users and libraries (e.g., TorchAudio) have -handled complex numbers by representing the data in float tensors with shape (...,2)(..., 2) +handled complex numbers by representing the data in float tensors with shape (...,2)(..., 2) + where the last dimension contains the real and imaginary values.

      Tensors of complex dtypes provide a more natural user experience for working with complex numbers. Operations on @@ -377,7 +381,8 @@

      Creating Complex Tensors

      Transition from the old representation

      -

      Users who currently worked around the lack of complex tensors with real tensors of shape (...,2)(..., 2) +

      Users who currently worked around the lack of complex tensors with real tensors of shape (...,2)(..., 2) + can easily to switch using the complex tensors in their code using torch.view_as_complex() and torch.view_as_real(). Note that these functions don’t perform any copy and return a @@ -456,7 +461,9 @@

      Serialization

      PyTorch supports autograd for complex tensors. The autograd APIs can be used for both holomorphic and non-holomorphic functions. For holomorphic functions, -you get the regular complex gradient. For real-valued loss functions, +you get the regular complex gradient. For CRC → R + + real-valued loss functions, grad.conj() gives a descent direction. For more details, check out the note Autograd for Complex Numbers.

      We do not support the following subsystems:

      where θ\theta + + are the parameters, α\alpha + is the learning rate, -rr - is the reward and p(aπθ(s))p(a|\pi^\theta(s)) +rr + + is the reward and p(aπθ(s))p(a|\pi^\theta(s)) + is the probability of -taking action aa - in state ss - given policy πθ\pi^\theta +taking action aa + + in state ss + + given policy πθ\pi^\theta + .

      In practice we would sample an action from the output of a network, apply this action in an environment, and then use log_prob to construct an equivalent @@ -599,12 +609,17 @@

      ExponentialFamilyExponentialFamily is the abstract base class for probability distributions belonging to an exponential family, whose probability mass/density function has the form is defined below

      -pF(x;θ)=exp(t(x),θF(θ)+k(x))p_{F}(x; \theta) = \exp(\langle t(x), \theta\rangle - F(\theta) + k(x)) -

      where θ\theta - denotes the natural parameters, t(x)t(x) +pF(x;θ)=exp(t(x),θF(θ)+k(x))p_{F}(x; \theta) = \exp(\langle t(x), \theta\rangle - F(\theta) + k(x)) + +

      where θ\theta + + denotes the natural parameters, t(x)t(x) + denotes the sufficient statistic, -F(θ)F(\theta) - is the log normalizer function for a given family and k(x)k(x) +F(θ)F(\theta) + + is the log normalizer function for a given family and k(x)k(x) + is the carrier measure.

      -

      Samples are integers from {0,,K1}\{0, \ldots, K-1\} +

      Samples are integers from {0,,K1}\{0, \ldots, K-1\} + where K is probs.size(-1).

      If probs is 1D with length-K, each element is the relative probability of sampling the class at that index.

      @@ -1518,11 +1534,14 @@

      Geometrictorch.distributions.distribution.Distribution

      Creates a Geometric distribution parameterized by probs, where probs is the probability of success of Bernoulli trials. -It represents the probability that in k+1k + 1 +It represents the probability that in k+1k + 1 + Bernoulli trials, the -first kk +first kk + trials failed, before seeing a success.

      -

      Samples are non-negative integers [0, inf\inf +

      Samples are non-negative integers [0, inf\inf + ).

      Example:

      >>> m = Geometric(torch.tensor([0.3]))
      @@ -2380,14 +2399,18 @@ 

      MultivariateNormalCreates a multivariate normal (also called Gaussian) distribution parameterized by a mean vector and a covariance matrix.

      The multivariate normal distribution can be parameterized either -in terms of a positive definite covariance matrix Σ\mathbf{\Sigma} +in terms of a positive definite covariance matrix Σ\mathbf{\Sigma} + -or a positive definite precision matrix Σ1\mathbf{\Sigma}^{-1} +or a positive definite precision matrix Σ1\mathbf{\Sigma}^{-1} + -or a lower-triangular matrix L\mathbf{L} +or a lower-triangular matrix L\mathbf{L} + with positive-valued diagonal entries, such that -Σ=LL\mathbf{\Sigma} = \mathbf{L}\mathbf{L}^\top +Σ=LL\mathbf{\Sigma} = \mathbf{L}\mathbf{L}^\top + . This triangular matrix can be obtained via e.g. Cholesky decomposition of the covariance.

      Example

      @@ -2804,9 +2827,10 @@

      Poissonrate, the rate parameter.

      Samples are nonnegative integers, with a pmf given by

      -ratekeratek!\mathrm{rate}^k \frac{e^{-\mathrm{rate}}}{k!} +ratekeratek!\mathrm{rate}^k \frac{e^{-\mathrm{rate}}}{k!} + + -

      Example:

      >>> m = Poisson(torch.tensor([4]))
       >>> m.sample()
      @@ -3436,10 +3460,12 @@ 

      Weibull
      torch.distributions.kl.kl_divergence(p, q)[source]
      -

      Compute Kullback-Leibler divergence KL(pq)KL(p \| q) +

      Compute Kullback-Leibler divergence KL(pq)KL(p \| q) + between two distributions.

      -KL(pq)=p(x)logp(x)q(x)dxKL(p \| q) = \int p(x) \log\frac {p(x)} {q(x)} \,dx +KL(pq)=p(x)logp(x)q(x)dxKL(p \| q) = \int p(x) \log\frac {p(x)} {q(x)} \,dx +
      Parameters
      class torch.distributions.transforms.PowerTransform(exponent, cache_size=0)[source]
      -

      Transform via the mapping y=xexponenty = x^{\text{exponent}} +

      Transform via the mapping y=xexponenty = x^{\text{exponent}} + .

      class torch.distributions.transforms.SigmoidTransform(cache_size=0)[source]
      -

      Transform via the mapping y=11+exp(x)y = \frac{1}{1 + \exp(-x)} - and x=logit(y)x = \text{logit}(y) +

      Transform via the mapping y=11+exp(x)y = \frac{1}{1 + \exp(-x)} + + and x=logit(y)x = \text{logit}(y) + .

      class torch.distributions.transforms.TanhTransform(cache_size=0)[source]
      -

      Transform via the mapping y=tanh(x)y = \tanh(x) +

      Transform via the mapping y=tanh(x)y = \tanh(x) + .

      It is equivalent to ` @@ -3622,14 +3653,16 @@

      Weibull
      class torch.distributions.transforms.AbsTransform(cache_size=0)[source]
      -

      Transform via the mapping y=xy = |x| +

      Transform via the mapping y=xy = |x| + .

      class torch.distributions.transforms.AffineTransform(loc, scale, event_dim=0, cache_size=0)[source]
      -

      Transform via the pointwise affine mapping y=loc+scale×xy = \text{loc} + \text{scale} \times x +

      Transform via the pointwise affine mapping y=loc+scale×xy = \text{loc} + \text{scale} \times x + .

      Parameters
      @@ -3647,7 +3680,8 @@

      Weibull
      class torch.distributions.transforms.SoftmaxTransform(cache_size=0)[source]
      -

      Transform from unconstrained space to the simplex via y=exp(x)y = \exp(x) +

      Transform from unconstrained space to the simplex via y=exp(x)y = \exp(x) + then normalizing.

      This is not bijective and cannot be used for HMC. However this acts mostly diff --git a/docs/stable/generated/torch.abs.html b/docs/stable/generated/torch.abs.html index 6bffc9d862e4..927e867d3c57 100644 --- a/docs/stable/generated/torch.abs.html +++ b/docs/stable/generated/torch.abs.html @@ -344,9 +344,10 @@

      torch.abstorch.abs(input, out=None) → Tensor

      Computes the element-wise absolute value of the given input tensor.

      -outi=inputi\text{out}_{i} = |\text{input}_{i}| +outi=inputi\text{out}_{i} = |\text{input}_{i}| + + -
      Parameters
        diff --git a/docs/stable/generated/torch.acos.html b/docs/stable/generated/torch.acos.html index 1a193bd1bb29..1fee072cd036 100644 --- a/docs/stable/generated/torch.acos.html +++ b/docs/stable/generated/torch.acos.html @@ -344,9 +344,10 @@

        torch.acostorch.acos(input, out=None) → Tensor

        Returns a new tensor with the arccosine of the elements of input.

        -outi=cos1(inputi)\text{out}_{i} = \cos^{-1}(\text{input}_{i}) +outi=cos1(inputi)\text{out}_{i} = \cos^{-1}(\text{input}_{i}) + + -
        Parameters
          diff --git a/docs/stable/generated/torch.acosh.html b/docs/stable/generated/torch.acosh.html index 63e0061356e6..1331f7bb67dd 100644 --- a/docs/stable/generated/torch.acosh.html +++ b/docs/stable/generated/torch.acosh.html @@ -349,9 +349,10 @@

          torch.acoshNaN, except for + INF for which the output is mapped to + INF.

      -outi=cosh1(inputi)\text{out}_{i} = \cosh^{-1}(\text{input}_{i}) +outi=cosh1(inputi)\text{out}_{i} = \cosh^{-1}(\text{input}_{i}) + + -
      Parameters

      input (Tensor) – the input tensor.

      diff --git a/docs/stable/generated/torch.add.html b/docs/stable/generated/torch.add.html index 4eaa4151e1d5..f6c7c81466f4 100644 --- a/docs/stable/generated/torch.add.html +++ b/docs/stable/generated/torch.add.html @@ -345,9 +345,10 @@

      torch.addother to each element of the input input and returns a new resulting tensor.

      -out=input+other\text{out} = \text{input} + \text{other} +out=input+other\text{out} = \text{input} + \text{other} + + -

      If input is of type FloatTensor or DoubleTensor, other must be a real number, otherwise it should be an integer.

      @@ -380,9 +381,10 @@

      torch.addinput and other must be broadcastable.

      -out=input+alpha×other\text{out} = \text{input} + \text{alpha} \times \text{other} +out=input+alpha×other\text{out} = \text{input} + \text{alpha} \times \text{other} + + -

      If other is of type FloatTensor or DoubleTensor, alpha must be a real number, otherwise it should be an integer.

      diff --git a/docs/stable/generated/torch.addbmm.html b/docs/stable/generated/torch.addbmm.html index bb695b404355..873929fdb7ac 100644 --- a/docs/stable/generated/torch.addbmm.html +++ b/docs/stable/generated/torch.addbmm.html @@ -349,18 +349,23 @@

      torch.addbmminput is added to the final result.

      batch1 and batch2 must be 3-D tensors each containing the same number of matrices.

      -

      If batch1 is a (b×n×m)(b \times n \times m) +

      If batch1 is a (b×n×m)(b \times n \times m) + tensor, batch2 is a -(b×m×p)(b \times m \times p) +(b×m×p)(b \times m \times p) + tensor, input must be -broadcastable with a (n×p)(n \times p) +broadcastable with a (n×p)(n \times p) + tensor -and out will be a (n×p)(n \times p) +and out will be a (n×p)(n \times p) + tensor.

      -out=β input+α (i=0b1batch1i@batch2i)out = \beta\ \text{input} + \alpha\ (\sum_{i=0}^{b-1} \text{batch1}_i \mathbin{@} \text{batch2}_i) +out=β input+α (i=0b1batch1i@batch2i)out = \beta\ \text{input} + \alpha\ (\sum_{i=0}^{b-1} \text{batch1}_i \mathbin{@} \text{batch2}_i) + + -

      For inputs of type FloatTensor or DoubleTensor, arguments beta and alpha must be real numbers, otherwise they should be integers.

      @@ -368,10 +373,12 @@

      torch.addbmm
      • batch1 (Tensor) – the first batch of matrices to be multiplied

      • batch2 (Tensor) – the second batch of matrices to be multiplied

      • -
      • beta (Number, optional) – multiplier for input (β\beta +

      • beta (Number, optional) – multiplier for input (β\beta + )

      • input (Tensor) – matrix to be added

      • -
      • alpha (Number, optional) – multiplier for batch1 @ batch2 (α\alpha +

      • alpha (Number, optional) – multiplier for batch1 @ batch2 (α\alpha + )

      • out (Tensor, optional) – the output tensor.

      diff --git a/docs/stable/generated/torch.addcdiv.html b/docs/stable/generated/torch.addcdiv.html index 92159c5181b9..1beb10a20ac6 100644 --- a/docs/stable/generated/torch.addcdiv.html +++ b/docs/stable/generated/torch.addcdiv.html @@ -358,9 +358,10 @@

      torch.addcdivtensor2).

      -outi=inputi+value×tensor1itensor2i\text{out}_i = \text{input}_i + \text{value} \times \frac{\text{tensor1}_i}{\text{tensor2}_i} +outi=inputi+value×tensor1itensor2i\text{out}_i = \text{input}_i + \text{value} \times \frac{\text{tensor1}_i}{\text{tensor2}_i} + + -

      The shapes of input, tensor1, and tensor2 must be broadcastable.

      For inputs of type FloatTensor or DoubleTensor, value must be @@ -371,7 +372,8 @@

      torch.addcdivTensor) – the tensor to be added

    • tensor1 (Tensor) – the numerator tensor

    • tensor2 (Tensor) – the denominator tensor

    • -
    • value (Number, optional) – multiplier for tensor1/tensor2\text{tensor1} / \text{tensor2} +

    • value (Number, optional) – multiplier for tensor1/tensor2\text{tensor1} / \text{tensor2} +

    • out (Tensor, optional) – the output tensor.

    diff --git a/docs/stable/generated/torch.addcmul.html b/docs/stable/generated/torch.addcmul.html index 2fa6651dc4be..4dc7d1c8d464 100644 --- a/docs/stable/generated/torch.addcmul.html +++ b/docs/stable/generated/torch.addcmul.html @@ -346,9 +346,10 @@

    torch.addcmultensor2, multiply the result by the scalar value and add it to input.

    -outi=inputi+value×tensor1i×tensor2i\text{out}_i = \text{input}_i + \text{value} \times \text{tensor1}_i \times \text{tensor2}_i +outi=inputi+value×tensor1i×tensor2i\text{out}_i = \text{input}_i + \text{value} \times \text{tensor1}_i \times \text{tensor2}_i + + -

    The shapes of tensor, tensor1, and tensor2 must be broadcastable.

    For inputs of type FloatTensor or DoubleTensor, value must be @@ -359,7 +360,8 @@

    torch.addcmulTensor) – the tensor to be added

  • tensor1 (Tensor) – the tensor to be multiplied

  • tensor2 (Tensor) – the tensor to be multiplied

  • -
  • value (Number, optional) – multiplier for tensor1.tensor2tensor1 .* tensor2 +

  • value (Number, optional) – multiplier for tensor1.tensor2tensor1 .* tensor2 +

  • out (Tensor, optional) – the output tensor.

  • diff --git a/docs/stable/generated/torch.addmm.html b/docs/stable/generated/torch.addmm.html index 3c6ba275a5f6..eeb7e76bd17b 100644 --- a/docs/stable/generated/torch.addmm.html +++ b/docs/stable/generated/torch.addmm.html @@ -344,20 +344,25 @@

    torch.addmmtorch.addmm(input, mat1, mat2, *, beta=1, alpha=1, out=None) → Tensor

    Performs a matrix multiplication of the matrices mat1 and mat2. The matrix input is added to the final result.

    -

    If mat1 is a (n×m)(n \times m) +

    If mat1 is a (n×m)(n \times m) + tensor, mat2 is a -(m×p)(m \times p) +(m×p)(m \times p) + tensor, then input must be -broadcastable with a (n×p)(n \times p) +broadcastable with a (n×p)(n \times p) + tensor -and out will be a (n×p)(n \times p) +and out will be a (n×p)(n \times p) + tensor.

    alpha and beta are scaling factors on matrix-vector product between mat1 and mat2 and the added matrix input respectively.

    -out=β input+α (mat1i@mat2i)\text{out} = \beta\ \text{input} + \alpha\ (\text{mat1}_i \mathbin{@} \text{mat2}_i) +out=β input+α (mat1i@mat2i)\text{out} = \beta\ \text{input} + \alpha\ (\text{mat1}_i \mathbin{@} \text{mat2}_i) + + -

    For inputs of type FloatTensor or DoubleTensor, arguments beta and alpha must be real numbers, otherwise they should be integers.

    @@ -366,10 +371,13 @@

    torch.addmmTensor) – matrix to be added

  • mat1 (Tensor) – the first matrix to be multiplied

  • mat2 (Tensor) – the second matrix to be multiplied

  • -
  • beta (Number, optional) – multiplier for input (β\beta +

  • beta (Number, optional) – multiplier for input (β\beta + )

  • -
  • alpha (Number, optional) – multiplier for mat1@mat2mat1 @ mat2 - (α\alpha +

  • alpha (Number, optional) – multiplier for mat1@mat2mat1 @ mat2 + + (α\alpha + )

  • out (Tensor, optional) – the output tensor.

  • diff --git a/docs/stable/generated/torch.addmv.html b/docs/stable/generated/torch.addmv.html index e08897716924..9a72fa3d4127 100644 --- a/docs/stable/generated/torch.addmv.html +++ b/docs/stable/generated/torch.addmv.html @@ -345,7 +345,8 @@

    torch.addmvmat and the vector vec. The vector input is added to the final result.

    -

    If mat is a (n×m)(n \times m) +

    If mat is a (n×m)(n \times m) + tensor, vec is a 1-D tensor of size m, then input must be broadcastable with a 1-D tensor of size n and @@ -353,9 +354,10 @@

    torch.addmvalpha and beta are scaling factors on matrix-vector product between mat and vec and the added tensor input respectively.

    -out=β input+α (mat@vec)\text{out} = \beta\ \text{input} + \alpha\ (\text{mat} \mathbin{@} \text{vec}) +out=β input+α (mat@vec)\text{out} = \beta\ \text{input} + \alpha\ (\text{mat} \mathbin{@} \text{vec}) + + -

    For inputs of type FloatTensor or DoubleTensor, arguments beta and alpha must be real numbers, otherwise they should be integers

    @@ -364,10 +366,13 @@

    torch.addmvTensor) – vector to be added

  • mat (Tensor) – matrix to be multiplied

  • vec (Tensor) – vector to be multiplied

  • -
  • beta (Number, optional) – multiplier for input (β\beta +

  • beta (Number, optional) – multiplier for input (β\beta + )

  • -
  • alpha (Number, optional) – multiplier for mat@vecmat @ vec - (α\alpha +

  • alpha (Number, optional) – multiplier for mat@vecmat @ vec + + (α\alpha + )

  • out (Tensor, optional) – the output tensor.

  • diff --git a/docs/stable/generated/torch.addr.html b/docs/stable/generated/torch.addr.html index 9e7e6f996d16..005fd8206b83 100644 --- a/docs/stable/generated/torch.addr.html +++ b/docs/stable/generated/torch.addr.html @@ -348,15 +348,18 @@

    torch.addrvec1 and vec2 and the added matrix input respectively.

    -out=β input+α (vec1vec2)\text{out} = \beta\ \text{input} + \alpha\ (\text{vec1} \otimes \text{vec2}) +out=β input+α (vec1vec2)\text{out} = \beta\ \text{input} + \alpha\ (\text{vec1} \otimes \text{vec2}) + + -

    If vec1 is a vector of size n and vec2 is a vector of size m, then input must be broadcastable with a matrix of size -(n×m)(n \times m) +(n×m)(n \times m) + and out will be a matrix of size -(n×m)(n \times m) +(n×m)(n \times m) + .

    For inputs of type FloatTensor or DoubleTensor, arguments beta and alpha must be real numbers, otherwise they should be integers

    @@ -366,10 +369,13 @@

    torch.addrTensor) – matrix to be added

  • vec1 (Tensor) – the first vector of the outer product

  • vec2 (Tensor) – the second vector of the outer product

  • -
  • beta (Number, optional) – multiplier for input (β\beta +

  • beta (Number, optional) – multiplier for input (β\beta + )

  • -
  • alpha (Number, optional) – multiplier for vec1vec2\text{vec1} \otimes \text{vec2} - (α\alpha +

  • alpha (Number, optional) – multiplier for vec1vec2\text{vec1} \otimes \text{vec2} + + (α\alpha + )

  • out (Tensor, optional) – the output tensor.

  • diff --git a/docs/stable/generated/torch.allclose.html b/docs/stable/generated/torch.allclose.html index cd887a3b5a29..bed2cfa35f2e 100644 --- a/docs/stable/generated/torch.allclose.html +++ b/docs/stable/generated/torch.allclose.html @@ -344,9 +344,10 @@

    torch.allclosetorch.allclose(input, other, rtol=1e-05, atol=1e-08, equal_nan=False) → bool

    This function checks if all input and other satisfy the condition:

    -inputotheratol+rtol×other\lvert \text{input} - \text{other} \rvert \leq \texttt{atol} + \texttt{rtol} \times \lvert \text{other} \rvert +inputotheratol+rtol×other\lvert \text{input} - \text{other} \rvert \leq \texttt{atol} + \texttt{rtol} \times \lvert \text{other} \rvert + + -

    elementwise, for all elements of input and other. The behaviour of this function is analogous to numpy.allclose

    diff --git a/docs/stable/generated/torch.angle.html b/docs/stable/generated/torch.angle.html index c4a1cf01bef4..aae63c13ab81 100644 --- a/docs/stable/generated/torch.angle.html +++ b/docs/stable/generated/torch.angle.html @@ -344,9 +344,10 @@

    torch.angletorch.angle(input, out=None) → Tensor

    Computes the element-wise angle (in radians) of the given input tensor.

    -outi=angle(inputi)\text{out}_{i} = angle(\text{input}_{i}) +outi=angle(inputi)\text{out}_{i} = angle(\text{input}_{i}) + + -
    Parameters
      diff --git a/docs/stable/generated/torch.arange.html b/docs/stable/generated/torch.arange.html index 4edb45ba64b7..1c4b2c7d6617 100644 --- a/docs/stable/generated/torch.arange.html +++ b/docs/stable/generated/torch.arange.html @@ -342,7 +342,8 @@

      torch.arange
      torch.arange(start=0, end, step=1, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
      -

      Returns a 1-D tensor of size endstartstep\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil +

      Returns a 1-D tensor of size endstartstep\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil + with values from the interval [start, end) taken with common difference step beginning from start.

      @@ -350,9 +351,10 @@

      torch.arangeend; to avoid inconsistency, we advise adding a small epsilon to end in such cases.

      -outi+1=outi+step\text{out}_{{i+1}} = \text{out}_{i} + \text{step} +outi+1=outi+step\text{out}_{{i+1}} = \text{out}_{i} + \text{step} + + -
      Parameters
        diff --git a/docs/stable/generated/torch.asin.html b/docs/stable/generated/torch.asin.html index 68ff1cd85adb..5c454f23b236 100644 --- a/docs/stable/generated/torch.asin.html +++ b/docs/stable/generated/torch.asin.html @@ -344,9 +344,10 @@

        torch.asintorch.asin(input, out=None) → Tensor

        Returns a new tensor with the arcsine of the elements of input.

        -outi=sin1(inputi)\text{out}_{i} = \sin^{-1}(\text{input}_{i}) +outi=sin1(inputi)\text{out}_{i} = \sin^{-1}(\text{input}_{i}) + + -
        Parameters
          diff --git a/docs/stable/generated/torch.asinh.html b/docs/stable/generated/torch.asinh.html index 27abe2798e3f..dadf0b94f585 100644 --- a/docs/stable/generated/torch.asinh.html +++ b/docs/stable/generated/torch.asinh.html @@ -344,9 +344,10 @@

          torch.asinhtorch.asinh(input, out=None) → Tensor

          Returns a new tensor with the inverse hyperbolic sine of the elements of input.

          -outi=sinh1(inputi)\text{out}_{i} = \sinh^{-1}(\text{input}_{i}) +outi=sinh1(inputi)\text{out}_{i} = \sinh^{-1}(\text{input}_{i}) + + -
          Parameters

          input (Tensor) – the input tensor.

          diff --git a/docs/stable/generated/torch.atan.html b/docs/stable/generated/torch.atan.html index 2bf3ff5dd832..d387439e171c 100644 --- a/docs/stable/generated/torch.atan.html +++ b/docs/stable/generated/torch.atan.html @@ -344,9 +344,10 @@

          torch.atantorch.atan(input, out=None) → Tensor

          Returns a new tensor with the arctangent of the elements of input.

          -outi=tan1(inputi)\text{out}_{i} = \tan^{-1}(\text{input}_{i}) +outi=tan1(inputi)\text{out}_{i} = \tan^{-1}(\text{input}_{i}) + + -
          Parameters
            diff --git a/docs/stable/generated/torch.atan2.html b/docs/stable/generated/torch.atan2.html index 80a98926b866..02e3c61a1eb9 100644 --- a/docs/stable/generated/torch.atan2.html +++ b/docs/stable/generated/torch.atan2.html @@ -342,15 +342,20 @@

            torch.atan2
            torch.atan2(input, other, out=None) → Tensor
            -

            Element-wise arctangent of inputi/otheri\text{input}_{i} / \text{other}_{i} +

            Element-wise arctangent of inputi/otheri\text{input}_{i} / \text{other}_{i} + with consideration of the quadrant. Returns a new tensor with the signed angles -in radians between vector (otheri,inputi)(\text{other}_{i}, \text{input}_{i}) +in radians between vector (otheri,inputi)(\text{other}_{i}, \text{input}_{i}) + -and vector (1,0)(1, 0) -. (Note that otheri\text{other}_{i} +and vector (1,0)(1, 0) + +. (Note that otheri\text{other}_{i} + , the second -parameter, is the x-coordinate, while inputi\text{input}_{i} +parameter, is the x-coordinate, while inputi\text{input}_{i} + , the first parameter, is the y-coordinate.)

            The shapes of input and other must be diff --git a/docs/stable/generated/torch.atanh.html b/docs/stable/generated/torch.atanh.html index 6744fd08bcb1..62b1029e9a97 100644 --- a/docs/stable/generated/torch.atanh.html +++ b/docs/stable/generated/torch.atanh.html @@ -350,9 +350,10 @@

            torch.atanh -outi=tanh1(inputi)\text{out}_{i} = \tanh^{-1}(\text{input}_{i}) +outi=tanh1(inputi)\text{out}_{i} = \tanh^{-1}(\text{input}_{i}) + + -
            Parameters

            input (Tensor) – the input tensor.

            diff --git a/docs/stable/generated/torch.baddbmm.html b/docs/stable/generated/torch.baddbmm.html index 7a168e5ca177..ef2a4de9dcf9 100644 --- a/docs/stable/generated/torch.baddbmm.html +++ b/docs/stable/generated/torch.baddbmm.html @@ -347,20 +347,25 @@

            torch.baddbmminput is added to the final result.

            batch1 and batch2 must be 3-D tensors each containing the same number of matrices.

            -

            If batch1 is a (b×n×m)(b \times n \times m) +

            If batch1 is a (b×n×m)(b \times n \times m) + tensor, batch2 is a -(b×m×p)(b \times m \times p) +(b×m×p)(b \times m \times p) + tensor, then input must be broadcastable with a -(b×n×p)(b \times n \times p) +(b×n×p)(b \times n \times p) + tensor and out will be a -(b×n×p)(b \times n \times p) +(b×n×p)(b \times n \times p) + tensor. Both alpha and beta mean the same as the scaling factors used in torch.addbmm().

            -outi=β inputi+α (batch1i@batch2i)\text{out}_i = \beta\ \text{input}_i + \alpha\ (\text{batch1}_i \mathbin{@} \text{batch2}_i) +outi=β inputi+α (batch1i@batch2i)\text{out}_i = \beta\ \text{input}_i + \alpha\ (\text{batch1}_i \mathbin{@} \text{batch2}_i) + + -

            For inputs of type FloatTensor or DoubleTensor, arguments beta and alpha must be real numbers, otherwise they should be integers.

            @@ -369,10 +374,13 @@

            torch.baddbmmTensor) – the tensor to be added

          • batch1 (Tensor) – the first batch of matrices to be multiplied

          • batch2 (Tensor) – the second batch of matrices to be multiplied

          • -
          • beta (Number, optional) – multiplier for input (β\beta +

          • beta (Number, optional) – multiplier for input (β\beta + )

          • -
          • alpha (Number, optional) – multiplier for batch1@batch2\text{batch1} \mathbin{@} \text{batch2} - (α\alpha +

          • alpha (Number, optional) – multiplier for batch1@batch2\text{batch1} \mathbin{@} \text{batch2} + + (α\alpha + )

          • out (Tensor, optional) – the output tensor.

          diff --git a/docs/stable/generated/torch.bartlett_window.html b/docs/stable/generated/torch.bartlett_window.html index 23714eebeb86..aa57ce6b4de6 100644 --- a/docs/stable/generated/torch.bartlett_window.html +++ b/docs/stable/generated/torch.bartlett_window.html @@ -344,27 +344,32 @@

          torch.bartlett_windowtorch.bartlett_window(window_length, periodic=True, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

          Bartlett window function.

          -w[n]=12nN11={2nN1if 0nN1222nN1if N12<n<N,w[n] = 1 - \left| \frac{2n}{N-1} - 1 \right| = \begin{cases} +w[n]=12nN11={2nN1if 0nN1222nN1if N12<n<N,w[n] = 1 - \left| \frac{2n}{N-1} - 1 \right| = \begin{cases} \frac{2n}{N - 1} & \text{if } 0 \leq n \leq \frac{N - 1}{2} \\ 2 - \frac{2n}{N - 1} & \text{if } \frac{N - 1}{2} < n < N \\ \end{cases}, - -

          where NN + + +

          where NN + is the full window size.

          The input window_length is a positive integer controlling the returned window size. periodic flag determines whether the returned window trims off the last duplicate value from the symmetric window and is ready to be used as a periodic window with functions like -torch.stft(). Therefore, if periodic is true, the NN +torch.stft(). Therefore, if periodic is true, the NN + in -above formula is in fact window_length+1\text{window\_length} + 1 +above formula is in fact window_length+1\text{window\_length} + 1 + . Also, we always have torch.bartlett_window(L, periodic=True) equal to torch.bartlett_window(L + 1, periodic=False)[:-1]).

          Note

          -

          If window_length =1=1 +

          If window_length =1=1 + , the returned window contains a single value 1.

          @@ -386,7 +391,8 @@

          torch.bartlett_window

          Returns
          -

          A 1-D tensor of size (window_length,)(\text{window\_length},) +

          A 1-D tensor of size (window_length,)(\text{window\_length},) + containing the window

          Return type
          diff --git a/docs/stable/generated/torch.bernoulli.html b/docs/stable/generated/torch.bernoulli.html index c582c39c9f34..693626518a44 100644 --- a/docs/stable/generated/torch.bernoulli.html +++ b/docs/stable/generated/torch.bernoulli.html @@ -346,18 +346,23 @@

          torch.bernoulliinput tensor should be a tensor containing probabilities to be used for drawing the binary random number. Hence, all values in input have to be in the range: -0inputi10 \leq \text{input}_i \leq 1 +0inputi10 \leq \text{input}_i \leq 1 + .

          -

          The ith\text{i}^{th} +

          The ith\text{i}^{th} + element of the output tensor will draw a -value 11 - according to the ith\text{i}^{th} +value 11 + + according to the ith\text{i}^{th} + probability value given in input.

          -outiBernoulli(p=inputi)\text{out}_{i} \sim \mathrm{Bernoulli}(p = \text{input}_{i}) +outiBernoulli(p=inputi)\text{out}_{i} \sim \mathrm{Bernoulli}(p = \text{input}_{i}) + + -

          The returned out tensor only has values 0 or 1 and is of the same shape as input.

          out can have integral dtype, but input must have floating diff --git a/docs/stable/generated/torch.blackman_window.html b/docs/stable/generated/torch.blackman_window.html index 15224eba783c..fd8dbc5e8aca 100644 --- a/docs/stable/generated/torch.blackman_window.html +++ b/docs/stable/generated/torch.blackman_window.html @@ -344,24 +344,29 @@

          torch.blackman_windowtorch.blackman_window(window_length, periodic=True, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

          Blackman window function.

          -w[n]=0.420.5cos(2πnN1)+0.08cos(4πnN1)w[n] = 0.42 - 0.5 \cos \left( \frac{2 \pi n}{N - 1} \right) + 0.08 \cos \left( \frac{4 \pi n}{N - 1} \right) +w[n]=0.420.5cos(2πnN1)+0.08cos(4πnN1)w[n] = 0.42 - 0.5 \cos \left( \frac{2 \pi n}{N - 1} \right) + 0.08 \cos \left( \frac{4 \pi n}{N - 1} \right) + + + +

          where NN - -

          where NN is the full window size.

          The input window_length is a positive integer controlling the returned window size. periodic flag determines whether the returned window trims off the last duplicate value from the symmetric window and is ready to be used as a periodic window with functions like -torch.stft(). Therefore, if periodic is true, the NN +torch.stft(). Therefore, if periodic is true, the NN + in -above formula is in fact window_length+1\text{window\_length} + 1 +above formula is in fact window_length+1\text{window\_length} + 1 + . Also, we always have torch.blackman_window(L, periodic=True) equal to torch.blackman_window(L + 1, periodic=False)[:-1]).

          Note

          -

          If window_length =1=1 +

          If window_length =1=1 + , the returned window contains a single value 1.

          @@ -383,7 +388,8 @@

          torch.blackman_window

          Returns
          -

          A 1-D tensor of size (window_length,)(\text{window\_length},) +

          A 1-D tensor of size (window_length,)(\text{window\_length},) + containing the window

          Return type
          diff --git a/docs/stable/generated/torch.bmm.html b/docs/stable/generated/torch.bmm.html index 0d431ec1eba3..19c1783362a6 100644 --- a/docs/stable/generated/torch.bmm.html +++ b/docs/stable/generated/torch.bmm.html @@ -346,16 +346,20 @@

          torch.bmmmat2.

          input and mat2 must be 3-D tensors each containing the same number of matrices.

          -

          If input is a (b×n×m)(b \times n \times m) +

          If input is a (b×n×m)(b \times n \times m) + tensor, mat2 is a -(b×m×p)(b \times m \times p) +(b×m×p)(b \times m \times p) + tensor, out will be a -(b×n×p)(b \times n \times p) +(b×n×p)(b \times n \times p) + tensor.

          -outi=inputi@mat2i\text{out}_i = \text{input}_i \mathbin{@} \text{mat2}_i +outi=inputi@mat2i\text{out}_i = \text{input}_i \mathbin{@} \text{mat2}_i + + -

          Note

          This function does not broadcast. diff --git a/docs/stable/generated/torch.cdist.html b/docs/stable/generated/torch.cdist.html index 2d56d131c797..be92332d7921 100644 --- a/docs/stable/generated/torch.cdist.html +++ b/docs/stable/generated/torch.cdist.html @@ -341,17 +341,20 @@

          torch.cdist

          -torch.cdist(x1: torch.Tensor, x2: torch.Tensor, p: float = 2.0, compute_mode: str = 'use_mm_for_euclid_dist_if_necessary') → torch.Tensor[source]
          +torch.cdist(x1, x2, p=2.0, compute_mode='use_mm_for_euclid_dist_if_necessary')[source]

          Computes batched the p-norm distance between each pair of the two collections of row vectors.

          Parameters

          If upper is True, and AA + is a batch of symmetric positive-definite matrices, then the returned tensor will be composed of upper-triangular Cholesky factors of each of the individual matrices. Similarly, when upper is False, the returned @@ -362,8 +366,10 @@

          torch.cholesky
          Parameters
            -
          • input (Tensor) – the input tensor AA - of size (,n,n)(*, n, n) +

          • input (Tensor) – the input tensor AA + + of size (,n,n)(*, n, n) + where * is zero or more batch dimensions consisting of symmetric positive-definite matrices.

          • upper (bool, optional) – flag that indicates whether to return a diff --git a/docs/stable/generated/torch.cholesky_inverse.html b/docs/stable/generated/torch.cholesky_inverse.html index db0ad622225a..612b16187581 100644 --- a/docs/stable/generated/torch.cholesky_inverse.html +++ b/docs/stable/generated/torch.cholesky_inverse.html @@ -342,29 +342,36 @@

            torch.cholesky_inverse
            torch.cholesky_inverse(input, upper=False, out=None) → Tensor
            -

            Computes the inverse of a symmetric positive-definite matrix AA +

            Computes the inverse of a symmetric positive-definite matrix AA + using its -Cholesky factor uu +Cholesky factor uu + : returns matrix inv. The inverse is computed using LAPACK routines dpotri and spotri (and the corresponding MAGMA routines).

            -

            If upper is False, uu +

            If upper is False, uu + is lower triangular such that the returned tensor is

            -inv=(uuT)1inv = (uu^{{T}})^{{-1}} +inv=(uuT)1inv = (uu^{{T}})^{{-1}} + + + +

            If upper is True or not provided, uu - -

            If upper is True or not provided, uu is upper triangular such that the returned tensor is

            -inv=(uTu)1inv = (u^T u)^{{-1}} +inv=(uTu)1inv = (u^T u)^{{-1}} + + -
            Parameters
              -
            • input (Tensor) – the input 2-D tensor uu +

            • input (Tensor) – the input 2-D tensor uu + , a upper or lower triangular Cholesky factor

            • upper (bool, optional) – whether to return a lower (default) or upper triangular matrix

            • diff --git a/docs/stable/generated/torch.cholesky_solve.html b/docs/stable/generated/torch.cholesky_solve.html index 19611bc647ff..4ffd9d9d6f1d 100644 --- a/docs/stable/generated/torch.cholesky_solve.html +++ b/docs/stable/generated/torch.cholesky_solve.html @@ -343,37 +343,48 @@

              torch.cholesky_solve torch.cholesky_solve(input, input2, upper=False, out=None) → Tensor

              Solves a linear system of equations with a positive semidefinite -matrix to be inverted given its Cholesky factor matrix uu +matrix to be inverted given its Cholesky factor matrix uu + .

              -

              If upper is False, uu +

              If upper is False, uu + is and lower triangular and c is returned such that:

              -c=(uuT)1bc = (u u^T)^{{-1}} b +c=(uuT)1bc = (u u^T)^{{-1}} b + + + +

              If upper is True or not provided, uu - -

              If upper is True or not provided, uu is upper triangular and c is returned such that:

              -c=(uTu)1bc = (u^T u)^{{-1}} b +c=(uTu)1bc = (u^T u)^{{-1}} b + + -

              torch.cholesky_solve(b, u) can take in 2D inputs b, u or inputs that are batches of 2D matrices. If the inputs are batches, then returns batched outputs c

              Parameters
                -
              • input (Tensor) – input matrix bb - of size (,m,k)(*, m, k) +

              • input (Tensor) – input matrix bb + + of size (,m,k)(*, m, k) + , -where * +where * + is zero or more batch dimensions

              • -
              • input2 (Tensor) – input matrix uu - of size (,m,m)(*, m, m) +

              • input2 (Tensor) – input matrix uu + + of size (,m,m)(*, m, m) + , -where * +where * + is zero of more batch dimensions composed of upper or lower triangular Cholesky factor

              • upper (bool, optional) – whether to consider the Cholesky factor as a diff --git a/docs/stable/generated/torch.clamp.html b/docs/stable/generated/torch.clamp.html index 90202efc6607..c15bf5abf2d0 100644 --- a/docs/stable/generated/torch.clamp.html +++ b/docs/stable/generated/torch.clamp.html @@ -345,13 +345,14 @@

                torch.clampinput into the range [ min, max ] and return a resulting tensor:

                -yi={minif xi<minxiif minximaxmaxif xi>maxy_i = \begin{cases} +yi={minif xi<minxiif minximaxmaxif xi>maxy_i = \begin{cases} \text{min} & \text{if } x_i < \text{min} \\ x_i & \text{if } \text{min} \leq x_i \leq \text{max} \\ \text{max} & \text{if } x_i > \text{max} \end{cases} - + +

                If input is of type FloatTensor or DoubleTensor, args min and max must be real numbers, otherwise they should be integers.

                diff --git a/docs/stable/generated/torch.combinations.html b/docs/stable/generated/torch.combinations.html index faa1b5945a1b..7803bc5d5983 100644 --- a/docs/stable/generated/torch.combinations.html +++ b/docs/stable/generated/torch.combinations.html @@ -342,7 +342,8 @@

                torch.combinations
                torch.combinations(input, r=2, with_replacement=False) → seq
                -

                Compute combinations of length rr +

                Compute combinations of length rr + of the given tensor. The behavior is similar to python’s itertools.combinations when with_replacement is set to False, and itertools.combinations_with_replacement when with_replacement is set to True.

                diff --git a/docs/stable/generated/torch.conj.html b/docs/stable/generated/torch.conj.html index 1b5ad6ccf528..739944dea16d 100644 --- a/docs/stable/generated/torch.conj.html +++ b/docs/stable/generated/torch.conj.html @@ -344,9 +344,10 @@

                torch.conjtorch.conj(input, out=None) → Tensor

                Computes the element-wise conjugate of the given input tensor.

                -outi=conj(inputi)\text{out}_{i} = conj(\text{input}_{i}) +outi=conj(inputi)\text{out}_{i} = conj(\text{input}_{i}) + + -
                Parameters
                  diff --git a/docs/stable/generated/torch.cos.html b/docs/stable/generated/torch.cos.html index 0f43a7f0308e..243aa004dc7e 100644 --- a/docs/stable/generated/torch.cos.html +++ b/docs/stable/generated/torch.cos.html @@ -344,9 +344,10 @@

                  torch.costorch.cos(input, out=None) → Tensor

                  Returns a new tensor with the cosine of the elements of input.

                  -outi=cos(inputi)\text{out}_{i} = \cos(\text{input}_{i}) +outi=cos(inputi)\text{out}_{i} = \cos(\text{input}_{i}) + + -
                  Parameters
                    diff --git a/docs/stable/generated/torch.cosh.html b/docs/stable/generated/torch.cosh.html index f8f6a1eee20b..be358df1c1ba 100644 --- a/docs/stable/generated/torch.cosh.html +++ b/docs/stable/generated/torch.cosh.html @@ -345,9 +345,10 @@

                    torch.coshinput.

                    -outi=cosh(inputi)\text{out}_{i} = \cosh(\text{input}_{i}) +outi=cosh(inputi)\text{out}_{i} = \cosh(\text{input}_{i}) + + -
                    Parameters
                      diff --git a/docs/stable/generated/torch.cummax.html b/docs/stable/generated/torch.cummax.html index 9c99386144ac..6cebcc945bbb 100644 --- a/docs/stable/generated/torch.cummax.html +++ b/docs/stable/generated/torch.cummax.html @@ -346,6 +346,10 @@

                      torch.cummaxinput in the dimension dim. And indices is the index location of each maximum value found in the dimension dim.

                      +yi=max(x1,x2,x3,,xi)y_i = max(x_1, x_2, x_3, \dots, x_i) + + +
                      Parameters
                        diff --git a/docs/stable/generated/torch.cummin.html b/docs/stable/generated/torch.cummin.html index ef6d7e449401..30637225cdbb 100644 --- a/docs/stable/generated/torch.cummin.html +++ b/docs/stable/generated/torch.cummin.html @@ -346,6 +346,10 @@

                        torch.cummininput in the dimension dim. And indices is the index location of each maximum value found in the dimension dim.

                        +yi=min(x1,x2,x3,,xi)y_i = min(x_1, x_2, x_3, \dots, x_i) + + +
                        Parameters
                          diff --git a/docs/stable/generated/torch.cumprod.html b/docs/stable/generated/torch.cumprod.html index b7183363cdd9..ea5f16d3075d 100644 --- a/docs/stable/generated/torch.cumprod.html +++ b/docs/stable/generated/torch.cumprod.html @@ -347,6 +347,10 @@

                          torch.cumprodinput is a vector of size N, the result will also be a vector of size N, with elements.

                          +yi=x1×x2×x3××xiy_i = x_1 \times x_2\times x_3\times \dots \times x_i + + +
                          Parameters
                            diff --git a/docs/stable/generated/torch.cumsum.html b/docs/stable/generated/torch.cumsum.html index 15ab224c9d2b..cdfd572c002a 100644 --- a/docs/stable/generated/torch.cumsum.html +++ b/docs/stable/generated/torch.cumsum.html @@ -347,6 +347,10 @@

                            torch.cumsuminput is a vector of size N, the result will also be a vector of size N, with elements.

                            +yi=x1+x2+x3++xiy_i = x_1 + x_2 + x_3 + \dots + x_i + + +
                            Parameters
                              diff --git a/docs/stable/generated/torch.diag_embed.html b/docs/stable/generated/torch.diag_embed.html index f36ea78221a6..17dfd3fea91c 100644 --- a/docs/stable/generated/torch.diag_embed.html +++ b/docs/stable/generated/torch.diag_embed.html @@ -354,7 +354,8 @@

                              torch.diag_embedoffset other than 00 +Note that for offset other than 00 + , the order of dim1 and dim2 matters. Exchanging them is equivalent to changing the sign of offset.

                              diff --git a/docs/stable/generated/torch.digamma.html b/docs/stable/generated/torch.digamma.html index ced9ce513f04..ab0f4489f96d 100644 --- a/docs/stable/generated/torch.digamma.html +++ b/docs/stable/generated/torch.digamma.html @@ -344,9 +344,10 @@

                              torch.digammatorch.digamma(input, out=None) → Tensor

                              Computes the logarithmic derivative of the gamma function on input.

                              -ψ(x)=ddxln(Γ(x))=Γ(x)Γ(x)\psi(x) = \frac{d}{dx} \ln\left(\Gamma\left(x\right)\right) = \frac{\Gamma'(x)}{\Gamma(x)} +ψ(x)=ddxln(Γ(x))=Γ(x)Γ(x)\psi(x) = \frac{d}{dx} \ln\left(\Gamma\left(x\right)\right) = \frac{\Gamma'(x)}{\Gamma(x)} + + -
                              Parameters

                              input (Tensor) – the tensor to compute the digamma function on

                              diff --git a/docs/stable/generated/torch.div.html b/docs/stable/generated/torch.div.html index 1b0d5849824c..6e50fd94ab7a 100644 --- a/docs/stable/generated/torch.div.html +++ b/docs/stable/generated/torch.div.html @@ -351,9 +351,10 @@

                              torch.divtorch.floor_divide() (// in Python), instead.

                              -outi=inputiother\text{out}_i = \frac{\text{input}_i}{\text{other}} +outi=inputiother\text{out}_i = \frac{\text{input}_i}{\text{other}} + + -

                              If the torch.dtype of input and other differ, the torch.dtype of the result tensor is determined following rules described in the type promotion documentation. If @@ -387,9 +388,10 @@

                              torch.divinput is divided by each element of the tensor other. The resulting tensor is returned.

                              -outi=inputiotheri\text{out}_i = \frac{\text{input}_i}{\text{other}_i} +outi=inputiotheri\text{out}_i = \frac{\text{input}_i}{\text{other}_i} + + -

                              The shapes of input and other must be broadcastable. If the torch.dtype of input and other differ, the torch.dtype of the result tensor is determined following rules described in the type promotion documentation. If out is specified, the result must be diff --git a/docs/stable/generated/torch.eig.html b/docs/stable/generated/torch.eig.html index dc56b8d9f208..99f10c85bdf2 100644 --- a/docs/stable/generated/torch.eig.html +++ b/docs/stable/generated/torch.eig.html @@ -351,7 +351,8 @@

                              torch.eig
                              Parameters
                                -
                              • input (Tensor) – the square matrix of shape (n×n)(n \times n) +

                              • input (Tensor) – the square matrix of shape (n×n)(n \times n) + for which the eigenvalues and eigenvectors will be computed

                              • eigenvectors (bool) – True to compute both eigenvalues and eigenvectors; @@ -363,21 +364,25 @@

                                torch.eig

                                A namedtuple (eigenvalues, eigenvectors) containing

                                  -
                                • eigenvalues (Tensor): Shape (n×2)(n \times 2) +

                                • eigenvalues (Tensor): Shape (n×2)(n \times 2) + . Each row is an eigenvalue of input, where the first element is the real part and the second element is the imaginary part. The eigenvalues are not necessarily ordered.

                                • eigenvectors (Tensor): If eigenvectors=False, it’s an empty tensor. -Otherwise, this tensor of shape (n×n)(n \times n) +Otherwise, this tensor of shape (n×n)(n \times n) + can be used to compute normalized (unit length) eigenvectors of corresponding eigenvalues as follows. If the corresponding eigenvalues[j] is a real number, column eigenvectors[:, j] is the eigenvector corresponding to eigenvalues[j]. If the corresponding eigenvalues[j] and eigenvalues[j + 1] form a complex conjugate pair, then the true eigenvectors can be computed as -true eigenvector[j]=eigenvectors[:,j]+i×eigenvectors[:,j+1]\text{true eigenvector}[j] = eigenvectors[:, j] + i \times eigenvectors[:, j + 1] +true eigenvector[j]=eigenvectors[:,j]+i×eigenvectors[:,j+1]\text{true eigenvector}[j] = eigenvectors[:, j] + i \times eigenvectors[:, j + 1] + , -true eigenvector[j+1]=eigenvectors[:,j]i×eigenvectors[:,j+1]\text{true eigenvector}[j + 1] = eigenvectors[:, j] - i \times eigenvectors[:, j + 1] +true eigenvector[j+1]=eigenvectors[:,j]i×eigenvectors[:,j+1]\text{true eigenvector}[j + 1] = eigenvectors[:, j] - i \times eigenvectors[:, j + 1] + .

                                diff --git a/docs/stable/generated/torch.erf.html b/docs/stable/generated/torch.erf.html index bc348fc6ed20..b320c84f9c9b 100644 --- a/docs/stable/generated/torch.erf.html +++ b/docs/stable/generated/torch.erf.html @@ -344,16 +344,21 @@

                                torch.erftorch.erf(input, out=None) → Tensor

                                Computes the error function of each element. The error function is defined as follows:

                                -erf(x)=2π0xet2dt\mathrm{erf}(x) = \frac{2}{\sqrt{\pi}} \int_{0}^{x} e^{-t^2} dt - - +erf(x)=2π0xet2dt\mathrm{erf}(x) = \frac{2}{\sqrt{\pi}} \int_{0}^{x} e^{-t^2} dt + + +
                                Parameters
                                  diff --git a/docs/stable/generated/torch.erfc.html b/docs/stable/generated/torch.erfc.html index 53bb93dee26d..3acd8dc24ebe 100644 --- a/docs/stable/generated/torch.erfc.html +++ b/docs/stable/generated/torch.erfc.html @@ -345,16 +345,21 @@

                                  torch.erfcinput. The complementary error function is defined as follows:

                                  -erfc(x)=12π0xet2dt\mathrm{erfc}(x) = 1 - \frac{2}{\sqrt{\pi}} \int_{0}^{x} e^{-t^2} dt - - +erfc(x)=12π0xet2dt\mathrm{erfc}(x) = 1 - \frac{2}{\sqrt{\pi}} \int_{0}^{x} e^{-t^2} dt + + +
                                  Parameters
                                  diff --git a/docs/stable/generated/torch.nn.Module.html b/docs/stable/generated/torch.nn.Module.html index 168da5056bde..6c74247a1df3 100644 --- a/docs/stable/generated/torch.nn.Module.html +++ b/docs/stable/generated/torch.nn.Module.html @@ -380,7 +380,7 @@

                                  Module
                                  -apply(fn: Callable[[Module], None]) → T[source]
                                  +apply(fn: Callable[Module, None]) → T[source]

                                  Applies fn recursively to every submodule (as returned by .children()) as well as self. Typical use includes initializing the parameters of a model (see also torch.nn.init).

                                  @@ -841,7 +841,7 @@

                                  Module
                                  -register_forward_hook(hook: Callable[[...], None]) → torch.utils.hooks.RemovableHandle[source]
                                  +register_forward_hook(hook: Callable[..., None]) → torch.utils.hooks.RemovableHandle[source]

                                  Registers a forward hook on the module.

                                  The hook will be called every time after forward() has computed an output. It should have the following signature:

                                  @@ -866,7 +866,7 @@

                                  Module
                                  -register_forward_pre_hook(hook: Callable[[...], None]) → torch.utils.hooks.RemovableHandle[source]
                                  +register_forward_pre_hook(hook: Callable[..., None]) → torch.utils.hooks.RemovableHandle[source]

                                  Registers a forward pre-hook on the module.

                                  The hook will be called every time before forward() is invoked. It should have the following signature:

                                  diff --git a/docs/stable/generated/torch.nn.MultiLabelMarginLoss.html b/docs/stable/generated/torch.nn.MultiLabelMarginLoss.html index a1b084685667..bb4dd613881b 100644 --- a/docs/stable/generated/torch.nn.MultiLabelMarginLoss.html +++ b/docs/stable/generated/torch.nn.MultiLabelMarginLoss.html @@ -343,24 +343,35 @@

                                  MultiLabelMarginLoss class torch.nn.MultiLabelMarginLoss(size_average=None, reduce=None, reduction: str = 'mean')[source]

                                  Creates a criterion that optimizes a multi-class multi-classification -hinge loss (margin-based loss) between input xx +hinge loss (margin-based loss) between input xx + (a 2D mini-batch Tensor) -and output yy +and output yy + (which is a 2D Tensor of target class indices). For each sample in the mini-batch:

                                  -loss(x,y)=ijmax(0,1(x[y[j]]x[i]))x.size(0)\text{loss}(x, y) = \sum_{ij}\frac{\max(0, 1 - (x[y[j]] - x[i]))}{\text{x.size}(0)} - - -

                                  where x{0,,x.size(0)1}x \in \left\{0, \; \cdots , \; \text{x.size}(0) - 1\right\} -, y{0,,y.size(0)1}y \in \left\{0, \; \cdots , \; \text{y.size}(0) - 1\right\} -, 0y[j]x.size(0)10 \leq y[j] \leq \text{x.size}(0)-1 -, and iy[j]i \neq y[j] - for all ii - and jj +loss(x,y)=ijmax(0,1(x[y[j]]x[i]))x.size(0)\text{loss}(x, y) = \sum_{ij}\frac{\max(0, 1 - (x[y[j]] - x[i]))}{\text{x.size}(0)} + + + +

                                  where x{0,  ,  x.size(0)1}x \in \left\{0, \; \cdots , \; \text{x.size}(0) - 1\right\} + +, y{0,  ,  y.size(0)1}y \in \left\{0, \; \cdots , \; \text{y.size}(0) - 1\right\} + +, 0y[j]x.size(0)10 \leq y[j] \leq \text{x.size}(0)-1 + +, and iy[j]i \neq y[j] + + for all ii + + and jj + .

                                  -

                                  yy - and xx +

                                  yy + + and xx + must have the same size.

                                  The criterion only considers a contiguous block of non-negative targets that starts at the front.

                                  @@ -388,14 +399,19 @@

                                  MultiLabelMarginLoss
                                  Shape:
                                    -
                                  • Input: (C)(C) - or (N,C)(N, C) +

                                  • Input: (C)(C) + + or (N,C)(N, C) + where N is the batch size and C is the number of classes.

                                  • -
                                  • Target: (C)(C) - or (N,C)(N, C) +

                                  • Target: (C)(C) + + or (N,C)(N, C) + , label targets padded by -1 ensuring same shape as the input.

                                  • -
                                  • Output: scalar. If reduction is 'none', then (N)(N) +

                                  • Output: scalar. If reduction is 'none', then (N)(N) + .

                                  diff --git a/docs/stable/generated/torch.nn.MultiLabelSoftMarginLoss.html b/docs/stable/generated/torch.nn.MultiLabelSoftMarginLoss.html index 3e0e07c82bb8..93d8801117db 100644 --- a/docs/stable/generated/torch.nn.MultiLabelSoftMarginLoss.html +++ b/docs/stable/generated/torch.nn.MultiLabelSoftMarginLoss.html @@ -343,20 +343,26 @@

                                  MultiLabelSoftMarginLoss class torch.nn.MultiLabelSoftMarginLoss(weight: Optional[torch.Tensor] = None, size_average=None, reduce=None, reduction: str = 'mean')[source]

                                  Creates a criterion that optimizes a multi-label one-versus-all -loss based on max-entropy, between input xx - and target yy +loss based on max-entropy, between input xx + + and target yy + of size -(N,C)(N, C) +(N,C)(N, C) + . For each sample in the minibatch:

                                  -loss(x,y)=1Ciy[i]log((1+exp(x[i]))1)+(1y[i])log(exp(x[i])(1+exp(x[i])))loss(x, y) = - \frac{1}{C} * \sum_i y[i] * \log((1 + \exp(-x[i]))^{-1}) +loss(x,y)=1Ciy[i]log((1+exp(x[i]))1)+(1y[i])log(exp(x[i])(1+exp(x[i])))loss(x, y) = - \frac{1}{C} * \sum_i y[i] * \log((1 + \exp(-x[i]))^{-1}) + (1-y[i]) * \log\left(\frac{\exp(-x[i])}{(1 + \exp(-x[i]))}\right) - -

                                  where i{0,,x.nElement()1}i \in \left\{0, \; \cdots , \; \text{x.nElement}() - 1\right\} + + +

                                  where i{0,  ,  x.nElement()1}i \in \left\{0, \; \cdots , \; \text{x.nElement}() - 1\right\} + , -y[i]{0,1}y[i] \in \left\{0, \; 1\right\} +y[i]{0,  1}y[i] \in \left\{0, \; 1\right\} + .

                                  Parameters
                                  @@ -384,11 +390,14 @@

                                  MultiLabelSoftMarginLoss
                                  Shape:
                                    -
                                  • Input: (N,C)(N, C) +

                                  • Input: (N,C)(N, C) + where N is the batch size and C is the number of classes.

                                  • -
                                  • Target: (N,C)(N, C) +

                                  • Target: (N,C)(N, C) + , label targets padded by -1 ensuring same shape as the input.

                                  • -
                                  • Output: scalar. If reduction is 'none', then (N)(N) +

                                  • Output: scalar. If reduction is 'none', then (N)(N) + .

                                  diff --git a/docs/stable/generated/torch.nn.MultiMarginLoss.html b/docs/stable/generated/torch.nn.MultiMarginLoss.html index 770d4e2ce3a0..2839b83b19a1 100644 --- a/docs/stable/generated/torch.nn.MultiMarginLoss.html +++ b/docs/stable/generated/torch.nn.MultiMarginLoss.html @@ -343,40 +343,53 @@

                                  MultiMarginLoss class torch.nn.MultiMarginLoss(p: int = 1, margin: float = 1.0, weight: Optional[torch.Tensor] = None, size_average=None, reduce=None, reduction: str = 'mean')[source]

                                  Creates a criterion that optimizes a multi-class classification hinge -loss (margin-based loss) between input xx +loss (margin-based loss) between input xx + (a 2D mini-batch Tensor) and -output yy +output yy + (which is a 1D tensor of target class indices, -0yx.size(1)10 \leq y \leq \text{x.size}(1)-1 +0yx.size(1)10 \leq y \leq \text{x.size}(1)-1 + ):

                                  -

                                  For each mini-batch sample, the loss in terms of the 1D input xx +

                                  For each mini-batch sample, the loss in terms of the 1D input xx + and scalar -output yy +output yy + is:

                                  -loss(x,y)=imax(0,marginx[y]+x[i]))px.size(0)\text{loss}(x, y) = \frac{\sum_i \max(0, \text{margin} - x[y] + x[i]))^p}{\text{x.size}(0)} +loss(x,y)=imax(0,marginx[y]+x[i]))px.size(0)\text{loss}(x, y) = \frac{\sum_i \max(0, \text{margin} - x[y] + x[i]))^p}{\text{x.size}(0)} + + + +

                                  where x{0,  ,  x.size(0)1}x \in \left\{0, \; \cdots , \; \text{x.size}(0) - 1\right\} - -

                                  where x{0,,x.size(0)1}x \in \left\{0, \; \cdots , \; \text{x.size}(0) - 1\right\} -and iyi \neq y +and iyi \neq y + .

                                  Optionally, you can give non-equal weighting on the classes by passing a 1D weight tensor into the constructor.

                                  The loss function then becomes:

                                  -loss(x,y)=imax(0,w[y](marginx[y]+x[i]))p)x.size(0)\text{loss}(x, y) = \frac{\sum_i \max(0, w[y] * (\text{margin} - x[y] + x[i]))^p)}{\text{x.size}(0)} +loss(x,y)=imax(0,w[y](marginx[y]+x[i]))p)x.size(0)\text{loss}(x, y) = \frac{\sum_i \max(0, w[y] * (\text{margin} - x[y] + x[i]))^p)}{\text{x.size}(0)} + + -
                                  Parameters
                                    -
                                  • p (int, optional) – Has a default value of 11 -. 11 - and 22 +

                                  • p (int, optional) – Has a default value of 11 + +. 11 + + and 22 + are the only supported values.

                                  • -
                                  • margin (float, optional) – Has a default value of 11 +

                                  • margin (float, optional) – Has a default value of 11 + .

                                  • weight (Tensor, optional) – a manual rescaling weight given to each class. If given, it has to be a Tensor of size C. Otherwise, it is diff --git a/docs/stable/generated/torch.nn.MultiheadAttention.html b/docs/stable/generated/torch.nn.MultiheadAttention.html index 6a5a03b3607b..fac1a085735f 100644 --- a/docs/stable/generated/torch.nn.MultiheadAttention.html +++ b/docs/stable/generated/torch.nn.MultiheadAttention.html @@ -346,6 +346,11 @@

                                    MultiheadAttention +MultiHead(Q,K,V)=Concat(head1,,headh)WOwhereheadi=Attention(QWiQ,KWiK,VWiV)\text{MultiHead}(Q, K, V) = \text{Concat}(head_1,\dots,head_h)W^O +\text{where} head_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V) + + +
                                    Parameters
                                      @@ -370,7 +375,7 @@

                                      MultiheadAttention
                                      -forward(query: torch.Tensor, key: torch.Tensor, value: torch.Tensor, key_padding_mask: Optional[torch.Tensor] = None, need_weights: bool = True, attn_mask: Optional[torch.Tensor] = None) → Tuple[torch.Tensor, Optional[torch.Tensor]][source]
                                      +forward(query, key, value, key_padding_mask=None, need_weights=True, attn_mask=None)[source]
                                      Parameters
                                        @@ -390,23 +395,29 @@

                                        MultiheadAttention
                                        Shape:
                                        diff --git a/docs/stable/generated/torch.nn.NLLLoss.html b/docs/stable/generated/torch.nn.NLLLoss.html index dd7e37c9ecde..505d91729d6a 100644 --- a/docs/stable/generated/torch.nn.NLLLoss.html +++ b/docs/stable/generated/torch.nn.NLLLoss.html @@ -349,42 +349,60 @@

                                        NLLLoss(minibatch,C)(minibatch, C) - or (minibatch,C,d1,d2,...,dK)(minibatch, C, d_1, d_2, ..., d_K) +(minibatch,C)(minibatch, C) + + or (minibatch,C,d1,d2,...,dK)(minibatch, C, d_1, d_2, ..., d_K) + -with K1K \geq 1 +with K1K \geq 1 + for the K-dimensional case (described later).

                                        Obtaining log-probabilities in a neural network is easily achieved by adding a LogSoftmax layer in the last layer of your network. You may use CrossEntropyLoss instead, if you prefer not to add an extra layer.

                                        -

                                        The target that this loss expects should be a class index in the range [0,C1][0, C-1] +

                                        The target that this loss expects should be a class index in the range [0,C1][0, C-1] + where C = number of classes; if ignore_index is specified, this loss also accepts this class index (this index may not necessarily be in the class range).

                                        The unreduced (i.e. with reduction set to 'none') loss can be described as:

                                        -

                                        where xx - is the input, yy - is the target, ww +(x,y)=L={l1,,lN},ln=wynxn,yn,wc=weight[c]1{cignore_index},\ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad +l_n = - w_{y_n} x_{n,y_n}, \quad +w_{c} = \text{weight}[c] \cdot \mathbb{1}\{c \not= \text{ignore\_index}\}, + + + +

                                        where xx + + is the input, yy + + is the target, ww + is the weight, and -NN +NN + is the batch size. If reduction is not 'none' (default 'mean'), then

                                        -(x,y)={n=1N1n=1Nwynln,if reduction=’mean’;n=1Nln,if reduction=’sum’.\ell(x, y) = \begin{cases} +(x,y)={n=1N1n=1Nwynln,if reduction=’mean’;n=1Nln,if reduction=’sum’.\ell(x, y) = \begin{cases} \sum_{n=1}^N \frac{1}{\sum_{n=1}^N w_{y_n}} l_n, & \text{if reduction} = \text{'mean';}\\ \sum_{n=1}^N l_n, & \text{if reduction} = \text{'sum'.} \end{cases} - + +

                                        Can also be used for higher dimension inputs, such as 2D images, by providing -an input of size (minibatch,C,d1,d2,...,dK)(minibatch, C, d_1, d_2, ..., d_K) - with K1K \geq 1 +an input of size (minibatch,C,d1,d2,...,dK)(minibatch, C, d_1, d_2, ..., d_K) + + with K1K \geq 1 + , -where KK +where KK + is the number of dimensions, and a target of appropriate shape (see below). In the case of images, it computes NLL loss per-pixel.

                                        @@ -417,24 +435,34 @@

                                        NLLLoss
                                        Shape:
                                          -
                                        • Input: (N,C)(N, C) +

                                        • Input: (N,C)(N, C) + where C = number of classes, or -(N,C,d1,d2,...,dK)(N, C, d_1, d_2, ..., d_K) - with K1K \geq 1 +(N,C,d1,d2,...,dK)(N, C, d_1, d_2, ..., d_K) + + with K1K \geq 1 + in the case of K-dimensional loss.

                                        • -
                                        • Target: (N)(N) - where each value is 0targets[i]C10 \leq \text{targets}[i] \leq C-1 +

                                        • Target: (N)(N) + + where each value is 0targets[i]C10 \leq \text{targets}[i] \leq C-1 + , or -(N,d1,d2,...,dK)(N, d_1, d_2, ..., d_K) - with K1K \geq 1 +(N,d1,d2,...,dK)(N, d_1, d_2, ..., d_K) + + with K1K \geq 1 + in the case of K-dimensional loss.

                                        • Output: scalar. -If reduction is 'none', then the same size as the target: (N)(N) +If reduction is 'none', then the same size as the target: (N)(N) + , or -(N,d1,d2,...,dK)(N, d_1, d_2, ..., d_K) - with K1K \geq 1 +(N,d1,d2,...,dK)(N, d_1, d_2, ..., d_K) + + with K1K \geq 1 + in the case of K-dimensional loss.

                                        diff --git a/docs/stable/generated/torch.nn.PReLU.html b/docs/stable/generated/torch.nn.PReLU.html index a4f62cc66861..1f06872d7013 100644 --- a/docs/stable/generated/torch.nn.PReLU.html +++ b/docs/stable/generated/torch.nn.PReLU.html @@ -344,27 +344,33 @@

                                        PReLU class torch.nn.PReLU(num_parameters: int = 1, init: float = 0.25)[source]

                                        Applies the element-wise function:

                                        -PReLU(x)=max(0,x)+amin(0,x)\text{PReLU}(x) = \max(0,x) + a * \min(0,x) +PReLU(x)=max(0,x)+amin(0,x)\text{PReLU}(x) = \max(0,x) + a * \min(0,x) + + -

                                        or

                                        -PReLU(x)={x, if x0ax, otherwise \text{PReLU}(x) = +PReLU(x)={x, if x0ax, otherwise \text{PReLU}(x) = \begin{cases} x, & \text{ if } x \geq 0 \\ ax, & \text{ otherwise } \end{cases} - -

                                        Here aa + + +

                                        Here aa + is a learnable parameter. When called without arguments, nn.PReLU() uses a single -parameter aa +parameter aa + across all input channels. If called with nn.PReLU(nChannels), -a separate aa +a separate aa + is used for each input channel.

                                        Note

                                        -

                                        weight decay should not be used when learning aa +

                                        weight decay should not be used when learning aa + for good performance.

                                        @@ -375,21 +381,25 @@

                                        PReLU
                                        Parameters
                                          -
                                        • num_parameters (int) – number of aa +

                                        • num_parameters (int) – number of aa + to learn. Although it takes an int as input, there is only two values are legitimate: 1, or the number of channels at input. Default: 1

                                        • -
                                        • init (float) – the initial value of aa +

                                        • init (float) – the initial value of aa + . Default: 0.25

                                        Shape:
                                          -
                                        • Input: (N,)(N, *) +

                                        • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                        • -
                                        • Output: (N,)(N, *) +

                                        • Output: (N,)(N, *) + , same shape as the input

                                        diff --git a/docs/stable/generated/torch.nn.PairwiseDistance.html b/docs/stable/generated/torch.nn.PairwiseDistance.html index a66db92a95a6..9023f03cd48d 100644 --- a/docs/stable/generated/torch.nn.PairwiseDistance.html +++ b/docs/stable/generated/torch.nn.PairwiseDistance.html @@ -342,13 +342,16 @@

                                        PairwiseDistance
                                        class torch.nn.PairwiseDistance(p: float = 2.0, eps: float = 1e-06, keepdim: bool = False)[source]
                                        -

                                        Computes the batchwise pairwise distance between vectors v1v_1 -, v2v_2 +

                                        Computes the batchwise pairwise distance between vectors v1v_1 + +, v2v_2 + using the p-norm:

                                        -xp=(i=1nxip)1/p.\Vert x \Vert _p = \left( \sum_{i=1}^n \vert x_i \vert ^ p \right) ^ {1/p}. +xp=(i=1nxip)1/p.\Vert x \Vert _p = \left( \sum_{i=1}^n \vert x_i \vert ^ p \right) ^ {1/p}. + + -
                                        Parameters
                                        diff --git a/docs/stable/generated/torch.nn.PixelShuffle.html b/docs/stable/generated/torch.nn.PixelShuffle.html index 06c442c30d1d..028976d937ba 100644 --- a/docs/stable/generated/torch.nn.PixelShuffle.html +++ b/docs/stable/generated/torch.nn.PixelShuffle.html @@ -342,12 +342,15 @@

                                        PixelShuffle
                                        class torch.nn.PixelShuffle(upscale_factor: int)[source]
                                        -

                                        Rearranges elements in a tensor of shape (,C×r2,H,W)(*, C \times r^2, H, W) +

                                        Rearranges elements in a tensor of shape (,C×r2,H,W)(*, C \times r^2, H, W) + -to a tensor of shape (,C,H×r,W×r)(*, C, H \times r, W \times r) +to a tensor of shape (,C,H×r,W×r)(*, C, H \times r, W \times r) + .

                                        This is useful for implementing efficient sub-pixel convolution -with a stride of 1/r1/r +with a stride of 1/r1/r + .

                                        Look at the paper: Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network @@ -359,14 +362,19 @@

                                        PixelShuffle
                                        Shape:
                                          -
                                        • Input: (N,L,Hin,Win)(N, L, H_{in}, W_{in}) - where L=C×upscale_factor2L=C \times \text{upscale\_factor}^2 +

                                        • Input: (N,L,Hin,Win)(N, L, H_{in}, W_{in}) + + where L=C×upscale_factor2L=C \times \text{upscale\_factor}^2 +

                                        • -
                                        • Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) +

                                        • Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) + where -Hout=Hin×upscale_factorH_{out} = H_{in} \times \text{upscale\_factor} +Hout=Hin×upscale_factorH_{out} = H_{in} \times \text{upscale\_factor} + -and Wout=Win×upscale_factorW_{out} = W_{in} \times \text{upscale\_factor} +and Wout=Win×upscale_factorW_{out} = W_{in} \times \text{upscale\_factor} +

                                        diff --git a/docs/stable/generated/torch.nn.PoissonNLLLoss.html b/docs/stable/generated/torch.nn.PoissonNLLLoss.html index bf1940acf361..ce91440c79d0 100644 --- a/docs/stable/generated/torch.nn.PoissonNLLLoss.html +++ b/docs/stable/generated/torch.nn.PoissonNLLLoss.html @@ -345,10 +345,11 @@

                                        PoissonNLLLoss -targetPoisson(input)loss(input,target)=inputtargetlog(input)+log(target!)\text{target} \sim \mathrm{Poisson}(\text{input}) +targetPoisson(input)loss(input,target)=inputtargetlog(input)+log(target!)\text{target} \sim \mathrm{Poisson}(\text{input}) \text{loss}(\text{input}, \text{target}) = \text{input} - \text{target} * \log(\text{input}) - + \log(\text{target!}) + + \log(\text{target!}) +

                                        The last term can be omitted or approximated with Stirling formula. The approximation is used for target values more than 1. For targets less or equal to 1 zeros are added to the loss.

                                        @@ -356,23 +357,27 @@

                                        PoissonNLLLossParameters
                                        @@ -400,23 +406,33 @@

                                        RNNCell

                                        Note

                                        -

                                        All the weights and biases are initialized from U(k,k)\mathcal{U}(-\sqrt{k}, \sqrt{k}) +

                                        All the weights and biases are initialized from U(k,k)\mathcal{U}(-\sqrt{k}, \sqrt{k}) + -where k=1hidden_sizek = \frac{1}{\text{hidden\_size}} +where k=1hidden_sizek = \frac{1}{\text{hidden\_size}} +

                                        Examples:

                                        diff --git a/docs/stable/generated/torch.nn.RReLU.html b/docs/stable/generated/torch.nn.RReLU.html index 708f50228efb..c4befa9f6dd4 100644 --- a/docs/stable/generated/torch.nn.RReLU.html +++ b/docs/stable/generated/torch.nn.RReLU.html @@ -347,16 +347,19 @@

                                        RReLU

                                        Empirical Evaluation of Rectified Activations in Convolutional Network.

                                        The function is defined as:

                                        -RReLU(x)={xif x0ax otherwise \text{RReLU}(x) = +RReLU(x)={xif x0ax otherwise \text{RReLU}(x) = \begin{cases} x & \text{if } x \geq 0 \\ ax & \text{ otherwise } \end{cases} - -

                                        where aa + + +

                                        where aa + is randomly sampled from uniform distribution -U(lower,upper)\mathcal{U}(\text{lower}, \text{upper}) +U(lower,upper)\mathcal{U}(\text{lower}, \text{upper}) + .

                                        See: https://arxiv.org/pdf/1505.00853.pdf

                                        @@ -364,9 +367,11 @@

                                        RReLU
                                        Parameters
                                          -
                                        • lower – lower bound of the uniform distribution. Default: 18\frac{1}{8} +

                                        • lower – lower bound of the uniform distribution. Default: 18\frac{1}{8} +

                                        • -
                                        • upper – upper bound of the uniform distribution. Default: 13\frac{1}{3} +

                                        • upper – upper bound of the uniform distribution. Default: 13\frac{1}{3} +

                                        • inplace – can optionally do the operation in-place. Default: False

                                        @@ -374,10 +379,12 @@

                                        RReLU

                                        Shape:
                                          -
                                        • Input: (N,)(N, *) +

                                        • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                        • -
                                        • Output: (N,)(N, *) +

                                        • Output: (N,)(N, *) + , same shape as the input

                                        diff --git a/docs/stable/generated/torch.nn.ReLU.html b/docs/stable/generated/torch.nn.ReLU.html index 553852c94359..e32935e9b725 100644 --- a/docs/stable/generated/torch.nn.ReLU.html +++ b/docs/stable/generated/torch.nn.ReLU.html @@ -343,7 +343,8 @@

                                        ReLU
                                        class torch.nn.ReLU(inplace: bool = False)[source]

                                        Applies the rectified linear unit function element-wise:

                                        -

                                        ReLU(x)=(x)+=max(0,x)\text{ReLU}(x) = (x)^+ = \max(0, x) +

                                        ReLU(x)=(x)+=max(0,x)\text{ReLU}(x) = (x)^+ = \max(0, x) +

                                        Parameters
                                        @@ -352,10 +353,12 @@

                                        ReLU

                                        Shape:
                                          -
                                        • Input: (N,)(N, *) +

                                        • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                        • -
                                        • Output: (N,)(N, *) +

                                        • Output: (N,)(N, *) + , same shape as the input

                                        diff --git a/docs/stable/generated/torch.nn.ReLU6.html b/docs/stable/generated/torch.nn.ReLU6.html index b52c1b0b9a43..4290cb514582 100644 --- a/docs/stable/generated/torch.nn.ReLU6.html +++ b/docs/stable/generated/torch.nn.ReLU6.html @@ -344,9 +344,10 @@

                                        ReLU6 class torch.nn.ReLU6(inplace: bool = False)[source]

                                        Applies the element-wise function:

                                        -ReLU6(x)=min(max(0,x),6)\text{ReLU6}(x) = \min(\max(0,x), 6) +ReLU6(x)=min(max(0,x),6)\text{ReLU6}(x) = \min(\max(0,x), 6) + + -
                                        Parameters

                                        inplace – can optionally do the operation in-place. Default: False

                                        @@ -354,10 +355,12 @@

                                        ReLU6

                                        Shape:
                                          -
                                        • Input: (N,)(N, *) +

                                        • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                        • -
                                        • Output: (N,)(N, *) +

                                        • Output: (N,)(N, *) + , same shape as the input

                                        diff --git a/docs/stable/generated/torch.nn.ReflectionPad1d.html b/docs/stable/generated/torch.nn.ReflectionPad1d.html index 219fa3107aba..2e37e06ee043 100644 --- a/docs/stable/generated/torch.nn.ReflectionPad1d.html +++ b/docs/stable/generated/torch.nn.ReflectionPad1d.html @@ -341,25 +341,30 @@

                                        ReflectionPad1d

                                        -class torch.nn.ReflectionPad1d(padding: Union[int, Tuple[int, int]])[source]
                                        +class torch.nn.ReflectionPad1d(padding: Union[T, Tuple[T, T]])[source]

                                        Pads the input tensor using the reflection of the input boundary.

                                        For N-dimensional padding, use torch.nn.functional.pad().

                                        Parameters

                                        padding (int, tuple) – the size of the padding. If is int, uses the same padding in all boundaries. If a 2-tuple, uses -(padding_left\text{padding\_left} -, padding_right\text{padding\_right} +(padding_left\text{padding\_left} + +, padding_right\text{padding\_right} + )

                                        Shape:
                                          -
                                        • Input: (N,C,Win)(N, C, W_{in}) +

                                        • Input: (N,C,Win)(N, C, W_{in}) +

                                        • -
                                        • Output: (N,C,Wout)(N, C, W_{out}) +

                                        • Output: (N,C,Wout)(N, C, W_{out}) + where

                                          -

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                        diff --git a/docs/stable/generated/torch.nn.ReflectionPad2d.html b/docs/stable/generated/torch.nn.ReflectionPad2d.html index ec6c2a0ecfd3..bad8b629b0b1 100644 --- a/docs/stable/generated/torch.nn.ReflectionPad2d.html +++ b/docs/stable/generated/torch.nn.ReflectionPad2d.html @@ -341,29 +341,37 @@

                                        ReflectionPad2d

                                        -class torch.nn.ReflectionPad2d(padding: Union[int, Tuple[int, int, int, int]])[source]
                                        +class torch.nn.ReflectionPad2d(padding: Union[T, Tuple[T, T, T, T]])[source]

                                        Pads the input tensor using the reflection of the input boundary.

                                        For N-dimensional padding, use torch.nn.functional.pad().

                                        Parameters

                                        padding (int, tuple) – the size of the padding. If is int, uses the same -padding in all boundaries. If a 4-tuple, uses (padding_left\text{padding\_left} +padding in all boundaries. If a 4-tuple, uses (padding_left\text{padding\_left} + , -padding_right\text{padding\_right} -, padding_top\text{padding\_top} -, padding_bottom\text{padding\_bottom} +padding_right\text{padding\_right} + +, padding_top\text{padding\_top} + +, padding_bottom\text{padding\_bottom} + )

                                        Shape:
                                          -
                                        • Input: (N,C,Hin,Win)(N, C, H_{in}, W_{in}) +

                                        • Input: (N,C,Hin,Win)(N, C, H_{in}, W_{in}) +

                                        • -
                                        • Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) +

                                        • Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) + where

                                          -

                                          Hout=Hin+padding_top+padding_bottomH_{out} = H_{in} + \text{padding\_top} + \text{padding\_bottom} +

                                          Hout=Hin+padding_top+padding_bottomH_{out} = H_{in} + \text{padding\_top} + \text{padding\_bottom} +

                                          -

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                        diff --git a/docs/stable/generated/torch.nn.ReplicationPad1d.html b/docs/stable/generated/torch.nn.ReplicationPad1d.html index cd105383c9e9..b8205f05f485 100644 --- a/docs/stable/generated/torch.nn.ReplicationPad1d.html +++ b/docs/stable/generated/torch.nn.ReplicationPad1d.html @@ -341,25 +341,30 @@

                                        ReplicationPad1d

                                        -class torch.nn.ReplicationPad1d(padding: Union[int, Tuple[int, int]])[source]
                                        +class torch.nn.ReplicationPad1d(padding: Union[T, Tuple[T, T]])[source]

                                        Pads the input tensor using replication of the input boundary.

                                        For N-dimensional padding, use torch.nn.functional.pad().

                                        Parameters

                                        padding (int, tuple) – the size of the padding. If is int, uses the same padding in all boundaries. If a 2-tuple, uses -(padding_left\text{padding\_left} -, padding_right\text{padding\_right} +(padding_left\text{padding\_left} + +, padding_right\text{padding\_right} + )

                                        Shape:
                                          -
                                        • Input: (N,C,Win)(N, C, W_{in}) +

                                        • Input: (N,C,Win)(N, C, W_{in}) +

                                        • -
                                        • Output: (N,C,Wout)(N, C, W_{out}) +

                                        • Output: (N,C,Wout)(N, C, W_{out}) + where

                                          -

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                        diff --git a/docs/stable/generated/torch.nn.ReplicationPad2d.html b/docs/stable/generated/torch.nn.ReplicationPad2d.html index 74721774af9b..7bc481550408 100644 --- a/docs/stable/generated/torch.nn.ReplicationPad2d.html +++ b/docs/stable/generated/torch.nn.ReplicationPad2d.html @@ -341,29 +341,37 @@

                                        ReplicationPad2d

                                        -class torch.nn.ReplicationPad2d(padding: Union[int, Tuple[int, int, int, int]])[source]
                                        +class torch.nn.ReplicationPad2d(padding: Union[T, Tuple[T, T, T, T]])[source]

                                        Pads the input tensor using replication of the input boundary.

                                        For N-dimensional padding, use torch.nn.functional.pad().

                                        Parameters

                                        padding (int, tuple) – the size of the padding. If is int, uses the same -padding in all boundaries. If a 4-tuple, uses (padding_left\text{padding\_left} +padding in all boundaries. If a 4-tuple, uses (padding_left\text{padding\_left} + , -padding_right\text{padding\_right} -, padding_top\text{padding\_top} -, padding_bottom\text{padding\_bottom} +padding_right\text{padding\_right} + +, padding_top\text{padding\_top} + +, padding_bottom\text{padding\_bottom} + )

                                        Shape:
                                          -
                                        • Input: (N,C,Hin,Win)(N, C, H_{in}, W_{in}) +

                                        • Input: (N,C,Hin,Win)(N, C, H_{in}, W_{in}) +

                                        • -
                                        • Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) +

                                        • Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) + where

                                          -

                                          Hout=Hin+padding_top+padding_bottomH_{out} = H_{in} + \text{padding\_top} + \text{padding\_bottom} +

                                          Hout=Hin+padding_top+padding_bottomH_{out} = H_{in} + \text{padding\_top} + \text{padding\_bottom} +

                                          -

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                        diff --git a/docs/stable/generated/torch.nn.ReplicationPad3d.html b/docs/stable/generated/torch.nn.ReplicationPad3d.html index 13ab1c5c3ce3..b5ecf78afbcd 100644 --- a/docs/stable/generated/torch.nn.ReplicationPad3d.html +++ b/docs/stable/generated/torch.nn.ReplicationPad3d.html @@ -341,35 +341,46 @@

                                        ReplicationPad3d

                                        -class torch.nn.ReplicationPad3d(padding: Union[int, Tuple[int, int, int, int, int, int]])[source]
                                        +class torch.nn.ReplicationPad3d(padding: Union[T, Tuple[T, T, T, T, T, T]])[source]

                                        Pads the input tensor using replication of the input boundary.

                                        For N-dimensional padding, use torch.nn.functional.pad().

                                        Parameters

                                        padding (int, tuple) – the size of the padding. If is int, uses the same padding in all boundaries. If a 6-tuple, uses -(padding_left\text{padding\_left} -, padding_right\text{padding\_right} +(padding_left\text{padding\_left} + +, padding_right\text{padding\_right} + , -padding_top\text{padding\_top} -, padding_bottom\text{padding\_bottom} +padding_top\text{padding\_top} + +, padding_bottom\text{padding\_bottom} + , -padding_front\text{padding\_front} -, padding_back\text{padding\_back} +padding_front\text{padding\_front} + +, padding_back\text{padding\_back} + )

                                        Shape:
                                          -
                                        • Input: (N,C,Din,Hin,Win)(N, C, D_{in}, H_{in}, W_{in}) +

                                        • Input: (N,C,Din,Hin,Win)(N, C, D_{in}, H_{in}, W_{in}) +

                                        • -
                                        • Output: (N,C,Dout,Hout,Wout)(N, C, D_{out}, H_{out}, W_{out}) +

                                        • Output: (N,C,Dout,Hout,Wout)(N, C, D_{out}, H_{out}, W_{out}) + where

                                          -

                                          Dout=Din+padding_front+padding_backD_{out} = D_{in} + \text{padding\_front} + \text{padding\_back} +

                                          Dout=Din+padding_front+padding_backD_{out} = D_{in} + \text{padding\_front} + \text{padding\_back} +

                                          -

                                          Hout=Hin+padding_top+padding_bottomH_{out} = H_{in} + \text{padding\_top} + \text{padding\_bottom} +

                                          Hout=Hin+padding_top+padding_bottomH_{out} = H_{in} + \text{padding\_top} + \text{padding\_bottom} +

                                          -

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                          Wout=Win+padding_left+padding_rightW_{out} = W_{in} + \text{padding\_left} + \text{padding\_right} +

                                        diff --git a/docs/stable/generated/torch.nn.SELU.html b/docs/stable/generated/torch.nn.SELU.html index 661c58830061..632bf0ad2880 100644 --- a/docs/stable/generated/torch.nn.SELU.html +++ b/docs/stable/generated/torch.nn.SELU.html @@ -344,12 +344,15 @@

                                        SELUclass torch.nn.SELU(inplace: bool = False)[source]

                                        Applied element-wise, as:

                                        -SELU(x)=scale(max(0,x)+min(0,α(exp(x)1)))\text{SELU}(x) = \text{scale} * (\max(0,x) + \min(0, \alpha * (\exp(x) - 1))) +SELU(x)=scale(max(0,x)+min(0,α(exp(x)1)))\text{SELU}(x) = \text{scale} * (\max(0,x) + \min(0, \alpha * (\exp(x) - 1))) + + + +

                                        with α=1.6732632423543772848170429916717\alpha = 1.6732632423543772848170429916717 - -

                                        with α=1.6732632423543772848170429916717\alpha = 1.6732632423543772848170429916717 and -scale=1.0507009873554804934193349852946\text{scale} = 1.0507009873554804934193349852946 +scale=1.0507009873554804934193349852946\text{scale} = 1.0507009873554804934193349852946 + .

                                        More details can be found in the paper Self-Normalizing Neural Networks .

                                        @@ -359,10 +362,12 @@

                                        SELU

                                        Shape:
                                          -
                                        • Input: (N,)(N, *) +

                                        • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                        • -
                                        • Output: (N,)(N, *) +

                                        • Output: (N,)(N, *) + , same shape as the input

                                        diff --git a/docs/stable/generated/torch.nn.Sigmoid.html b/docs/stable/generated/torch.nn.Sigmoid.html index f765a7e8754e..1a7c09331a6a 100644 --- a/docs/stable/generated/torch.nn.Sigmoid.html +++ b/docs/stable/generated/torch.nn.Sigmoid.html @@ -344,15 +344,18 @@

                                        Sigmoidclass torch.nn.Sigmoid[source]

                                        Applies the element-wise function:

                                        -Sigmoid(x)=σ(x)=11+exp(x)\text{Sigmoid}(x) = \sigma(x) = \frac{1}{1 + \exp(-x)} +Sigmoid(x)=σ(x)=11+exp(x)\text{Sigmoid}(x) = \sigma(x) = \frac{1}{1 + \exp(-x)} + + -
                                        Shape:
                                          -
                                        • Input: (N,)(N, *) +

                                        • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                        • -
                                        • Output: (N,)(N, *) +

                                        • Output: (N,)(N, *) + , same shape as the input

                                        diff --git a/docs/stable/generated/torch.nn.SmoothL1Loss.html b/docs/stable/generated/torch.nn.SmoothL1Loss.html index 8cb1e1e28c3c..28f2798d5bdf 100644 --- a/docs/stable/generated/torch.nn.SmoothL1Loss.html +++ b/docs/stable/generated/torch.nn.SmoothL1Loss.html @@ -348,26 +348,34 @@

                                        SmoothL1Loss -loss(x,y)=1nizi\text{loss}(x, y) = \frac{1}{n} \sum_{i} z_{i} +loss(x,y)=1nizi\text{loss}(x, y) = \frac{1}{n} \sum_{i} z_{i} + + + +

                                        where ziz_{i} - -

                                        where ziz_{i} is given by:

                                        -zi={0.5(xiyi)2,if xiyi<1xiyi0.5,otherwise z_{i} = +zi={0.5(xiyi)2,if xiyi<1xiyi0.5,otherwise z_{i} = \begin{cases} 0.5 (x_i - y_i)^2, & \text{if } |x_i - y_i| < 1 \\ |x_i - y_i| - 0.5, & \text{otherwise } \end{cases} - -

                                        xx - and yy - arbitrary shapes with a total of nn + + +

                                        xx + + and yy + + arbitrary shapes with a total of nn + elements each -the sum operation still operates over all the elements, and divides by nn +the sum operation still operates over all the elements, and divides by nn + .

                                        -

                                        The division by nn +

                                        The division by nn + can be avoided if sets reduction = 'sum'.

                                        Parameters
                                        @@ -392,14 +400,18 @@

                                        SmoothL1Loss
                                        Shape:
                                          -
                                        • Input: (N,)(N, *) - where * +

                                        • Input: (N,)(N, *) + + where * + means, any number of additional dimensions

                                        • -
                                        • Target: (N,)(N, *) +

                                        • Target: (N,)(N, *) + , same shape as the input

                                        • Output: scalar. If reduction is 'none', then -(N,)(N, *) +(N,)(N, *) + , same shape as the input

                                        diff --git a/docs/stable/generated/torch.nn.SoftMarginLoss.html b/docs/stable/generated/torch.nn.SoftMarginLoss.html index c8ecb3409e81..e638acfe4f5f 100644 --- a/docs/stable/generated/torch.nn.SoftMarginLoss.html +++ b/docs/stable/generated/torch.nn.SoftMarginLoss.html @@ -343,14 +343,17 @@

                                        SoftMarginLoss class torch.nn.SoftMarginLoss(size_average=None, reduce=None, reduction: str = 'mean')[source]

                                        Creates a criterion that optimizes a two-class classification -logistic loss between input tensor xx - and target tensor yy +logistic loss between input tensor xx + + and target tensor yy + (containing 1 or -1).

                                        -loss(x,y)=ilog(1+exp(y[i]x[i]))x.nelement()\text{loss}(x, y) = \sum_i \frac{\log(1 + \exp(-y[i]*x[i]))}{\text{x.nelement}()} +loss(x,y)=ilog(1+exp(y[i]x[i]))x.nelement()\text{loss}(x, y) = \sum_i \frac{\log(1 + \exp(-y[i]*x[i]))}{\text{x.nelement}()} + + -
                                        Parameters

                                        @@ -391,10 +400,12 @@

                                        torch.pca_lowrank
                                        Parameters
                                          -
                                        • A (Tensor) – the input tensor of size (,m,n)(*, m, n) +

                                        • A (Tensor) – the input tensor of size (,m,n)(*, m, n) +

                                        • q (int, optional) – a slightly overestimated rank of -AA +AA + . By default, q = min(6, m, n).

                                        • center (bool, optional) – if True, center the input tensor, diff --git a/docs/stable/generated/torch.pinverse.html b/docs/stable/generated/torch.pinverse.html index 93e99364723c..51da4a5251f7 100644 --- a/docs/stable/generated/torch.pinverse.html +++ b/docs/stable/generated/torch.pinverse.html @@ -359,15 +359,18 @@

                                          torch.pinverse
                                          Parameters
                                            -
                                          • input (Tensor) – The input tensor of size (,m,n)(*, m, n) - where * +

                                          • input (Tensor) – The input tensor of size (,m,n)(*, m, n) + + where * + is zero or more batch dimensions

                                          • rcond (float) – A floating point value to determine the cutoff for small singular values. Default: 1e-15

                                          Returns
                                          -

                                          The pseudo-inverse of input of dimensions (,n,m)(*, n, m) +

                                          The pseudo-inverse of input of dimensions (,n,m)(*, n, m) +

                                        diff --git a/docs/stable/generated/torch.poisson.html b/docs/stable/generated/torch.poisson.html index 62ac0f7949bf..242abe4ba9eb 100644 --- a/docs/stable/generated/torch.poisson.html +++ b/docs/stable/generated/torch.poisson.html @@ -346,9 +346,10 @@

                                        torch.poissoninput i.e.,

                                        -outiPoisson(inputi)\text{out}_i \sim \text{Poisson}(\text{input}_i) +outiPoisson(inputi)\text{out}_i \sim \text{Poisson}(\text{input}_i) + + -
                                        Parameters
                                          diff --git a/docs/stable/generated/torch.polygamma.html b/docs/stable/generated/torch.polygamma.html index 34ba8beeb9a5..d9248456537a 100644 --- a/docs/stable/generated/torch.polygamma.html +++ b/docs/stable/generated/torch.polygamma.html @@ -342,17 +342,21 @@

                                          torch.polygamma
                                          torch.polygamma(n, input, out=None) → Tensor
                                          -

                                          Computes the nthn^{th} +

                                          Computes the nthn^{th} + derivative of the digamma function on input. -n0n \geq 0 +n0n \geq 0 + is called the order of the polygamma function.

                                          -ψ(n)(x)=d(n)dx(n)ψ(x)\psi^{(n)}(x) = \frac{d^{(n)}}{dx^{(n)}} \psi(x) +ψ(n)(x)=d(n)dx(n)ψ(x)\psi^{(n)}(x) = \frac{d^{(n)}}{dx^{(n)}} \psi(x) + + -

                                          Note

                                          -

                                          This function is not implemented for n2n \geq 2 +

                                          This function is not implemented for n2n \geq 2 + .

                                          diff --git a/docs/stable/generated/torch.pow.html b/docs/stable/generated/torch.pow.html index 5e1021f18c22..909b5a941647 100644 --- a/docs/stable/generated/torch.pow.html +++ b/docs/stable/generated/torch.pow.html @@ -348,14 +348,16 @@

                                          torch.powinput.

                                          When exponent is a scalar value, the operation applied is:

                                          -outi=xiexponent\text{out}_i = x_i ^ \text{exponent} +outi=xiexponent\text{out}_i = x_i ^ \text{exponent} + + -

                                          When exponent is a tensor, the operation applied is:

                                          -outi=xiexponenti\text{out}_i = x_i ^ {\text{exponent}_i} +outi=xiexponenti\text{out}_i = x_i ^ {\text{exponent}_i} + + -

                                          When exponent is a tensor, the shapes of input and exponent must be broadcastable.

                                          @@ -393,9 +395,10 @@

                                          torch.powout is of the same shape as exponent

                                          The operation applied is:

                                          -outi=selfexponenti\text{out}_i = \text{self} ^ {\text{exponent}_i} +outi=selfexponenti\text{out}_i = \text{self} ^ {\text{exponent}_i} + + -
                                          Parameters
                                            diff --git a/docs/stable/generated/torch.qr.html b/docs/stable/generated/torch.qr.html index 0f6fa090dada..704a32ff194d 100644 --- a/docs/stable/generated/torch.qr.html +++ b/docs/stable/generated/torch.qr.html @@ -343,11 +343,14 @@

                                            torch.qr torch.qr(input, some=True, out=None) -> (Tensor, Tensor)

                                            Computes the QR decomposition of a matrix or a batch of matrices input, -and returns a namedtuple (Q, R) of tensors such that input=QR\text{input} = Q R +and returns a namedtuple (Q, R) of tensors such that input=QR\text{input} = Q R + -with QQ +with QQ + being an orthogonal matrix or batch of orthogonal matrices and -RR +RR + being an upper triangular matrix or batch of upper triangular matrices.

                                            If some is True, then this function returns the thin (reduced) QR factorization. Otherwise, if some is False, this function returns the complete QR factorization.

                                            @@ -365,20 +368,26 @@

                                            torch.qr
                                            Parameters
                                              -
                                            • input (Tensor) – the input tensor of size (,m,n)(*, m, n) +

                                            • input (Tensor) – the input tensor of size (,m,n)(*, m, n) + where * is zero or more -batch dimensions consisting of matrices of dimension m×nm \times n +batch dimensions consisting of matrices of dimension m×nm \times n + .

                                            • some (bool, optional) – Set to True for reduced QR decomposition and False for complete QR decomposition.

                                            • out (tuple, optional) – tuple of Q and R tensors satisfying input = torch.matmul(Q, R). -The dimensions of Q and R are (,m,k)(*, m, k) - and (,k,n)(*, k, n) +The dimensions of Q and R are (,m,k)(*, m, k) + + and (,k,n)(*, k, n) + -respectively, where k=min(m,n)k = \min(m, n) +respectively, where k=min(m,n)k = \min(m, n) + if some: is True and -k=mk = m +k=mk = m + otherwise.

                                            diff --git a/docs/stable/generated/torch.quasirandom.SobolEngine.html b/docs/stable/generated/torch.quasirandom.SobolEngine.html index d19daa6e646b..a99bdcf3aea8 100644 --- a/docs/stable/generated/torch.quasirandom.SobolEngine.html +++ b/docs/stable/generated/torch.quasirandom.SobolEngine.html @@ -385,7 +385,8 @@

                                            SobolEnginedraw(n=1, out=None, dtype=torch.float32)[source]

                                            Function to draw a sequence of n points from a Sobol sequence. Note that the samples are dependent on the previous samples. The size -of the result is (n,dimension)(n, dimension) +of the result is (n,dimension)(n, dimension) + .

                                            Parameters
                                            diff --git a/docs/stable/generated/torch.rand.html b/docs/stable/generated/torch.rand.html index 32de2a293115..d8fe7b5c6b8b 100644 --- a/docs/stable/generated/torch.rand.html +++ b/docs/stable/generated/torch.rand.html @@ -343,7 +343,8 @@

                                            torch.rand torch.rand(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

                                            Returns a tensor filled with random numbers from a uniform distribution -on the interval [0,1)[0, 1) +on the interval [0,1)[0, 1) +

                                            The shape of the tensor is defined by the variable argument size.

                                            diff --git a/docs/stable/generated/torch.rand_like.html b/docs/stable/generated/torch.rand_like.html index 56af8f9b6ed4..5a00f1b6ae39 100644 --- a/docs/stable/generated/torch.rand_like.html +++ b/docs/stable/generated/torch.rand_like.html @@ -343,7 +343,8 @@

                                            torch.rand_like torch.rand_like(input, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format) → Tensor

                                            Returns a tensor with the same size as input that is filled with -random numbers from a uniform distribution on the interval [0,1)[0, 1) +random numbers from a uniform distribution on the interval [0,1)[0, 1) + . torch.rand_like(input) is equivalent to torch.rand(input.size(), dtype=input.dtype, layout=input.layout, device=input.device).

                                            diff --git a/docs/stable/generated/torch.randn.html b/docs/stable/generated/torch.randn.html index e093437474d6..451edfffd54e 100644 --- a/docs/stable/generated/torch.randn.html +++ b/docs/stable/generated/torch.randn.html @@ -346,9 +346,10 @@

                                            torch.randn -outiN(0,1)\text{out}_{i} \sim \mathcal{N}(0, 1) +outiN(0,1)\text{out}_{i} \sim \mathcal{N}(0, 1) + + -

                                            The shape of the tensor is defined by the variable argument size.

                                            Parameters
                                            diff --git a/docs/stable/generated/torch.range.html b/docs/stable/generated/torch.range.html index 872f25d679aa..6be8ea942f28 100644 --- a/docs/stable/generated/torch.range.html +++ b/docs/stable/generated/torch.range.html @@ -342,14 +342,16 @@

                                            torch.range
                                            torch.range(start=0, end, step=1, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor
                                            -

                                            Returns a 1-D tensor of size endstartstep+1\left\lfloor \frac{\text{end} - \text{start}}{\text{step}} \right\rfloor + 1 +

                                            Returns a 1-D tensor of size endstartstep+1\left\lfloor \frac{\text{end} - \text{start}}{\text{step}} \right\rfloor + 1 + with values from start to end with step step. Step is the gap between two values in the tensor.

                                            -outi+1=outi+step.\text{out}_{i+1} = \text{out}_i + \text{step}. +outi+1=outi+step.\text{out}_{i+1} = \text{out}_i + \text{step}. + + -

                                            Warning

                                            This function is deprecated in favor of torch.arange().

                                            diff --git a/docs/stable/generated/torch.reciprocal.html b/docs/stable/generated/torch.reciprocal.html index 5179e2107300..40a82effeff3 100644 --- a/docs/stable/generated/torch.reciprocal.html +++ b/docs/stable/generated/torch.reciprocal.html @@ -344,9 +344,10 @@

                                            torch.reciprocaltorch.reciprocal(input, out=None) → Tensor

                                            Returns a new tensor with the reciprocal of the elements of input

                                            -outi=1inputi\text{out}_{i} = \frac{1}{\text{input}_{i}} +outi=1inputi\text{out}_{i} = \frac{1}{\text{input}_{i}} + + -
                                            Parameters
                                              diff --git a/docs/stable/generated/torch.rfft.html b/docs/stable/generated/torch.rfft.html index 73a5e84f5604..efd536c24ad6 100644 --- a/docs/stable/generated/torch.rfft.html +++ b/docs/stable/generated/torch.rfft.html @@ -350,31 +350,45 @@

                                              torch.rfftsignal_ndim. input must be a tensor with at least signal_ndim dimensions with optionally arbitrary number of leading batch dimensions. If normalized is set to True, this normalizes the result -by dividing it with i=1KNi\sqrt{\prod_{i=1}^K N_i} +by dividing it with i=1KNi\sqrt{\prod_{i=1}^K N_i} + so that the operator is -unitary, where NiN_i - is the size of signal dimension ii +unitary, where NiN_i + + is the size of signal dimension ii + .

                                              The real-to-complex Fourier transform results follow conjugate symmetry:

                                              +X[ω1,,ωd]=X[N1ω1,,Ndωd],X[\omega_1, \dots, \omega_d] = X^*[N_1 - \omega_1, \dots, N_d - \omega_d], + + +

                                              where the index arithmetic is computed modulus the size of the corresponding -dimension,  \ ^* +dimension,  \ ^* + is the conjugate operator, and -dd +dd + = signal_ndim. onesided flag controls whether to avoid redundancy in the output results. If set to True (default), the output will -not be full complex result of shape (,2)(*, 2) -, where * +not be full complex result of shape (,2)(*, 2) + +, where * + is the shape of input, but instead the last dimension will be halfed as of size -Nd2+1\lfloor \frac{N_d}{2} \rfloor + 1 +Nd2+1\lfloor \frac{N_d}{2} \rfloor + 1 + .

                                              The inverse of this function is irfft().

                                              diff --git a/docs/stable/generated/torch.rsqrt.html b/docs/stable/generated/torch.rsqrt.html index 6148981f5353..02a1fb9a8c6d 100644 --- a/docs/stable/generated/torch.rsqrt.html +++ b/docs/stable/generated/torch.rsqrt.html @@ -345,16 +345,20 @@

                                              torch.rsqrtinput.

                                              -outi=1inputi\text{out}_{i} = \frac{1}{\sqrt{\text{input}_{i}}} - - +outi=1inputi\text{out}_{i} = \frac{1}{\sqrt{\text{input}_{i}}} + + +
                                              Parameters
                                                diff --git a/docs/stable/generated/torch.save.html b/docs/stable/generated/torch.save.html index 406b36c39f2a..7e2376f710ab 100644 --- a/docs/stable/generated/torch.save.html +++ b/docs/stable/generated/torch.save.html @@ -341,7 +341,7 @@

                                                torch.save

                                                -torch.save(obj, f, pickle_module=<module 'pickle' from '/scratch/rzou/pt/v1.6-env/lib/python3.8/pickle.py'>, pickle_protocol=2, _use_new_zipfile_serialization=True)[source]
                                                +torch.save(obj, f, pickle_module=<module 'pickle' from '/opt/conda/lib/python3.6/pickle.py'>, pickle_protocol=2, _use_new_zipfile_serialization=True)[source]

                                                Saves an object to a disk file.

                                                See also: Recommended approach for saving a model

                                                diff --git a/docs/stable/generated/torch.sigmoid.html b/docs/stable/generated/torch.sigmoid.html index 70f4821a6d60..1e9998cce8d6 100644 --- a/docs/stable/generated/torch.sigmoid.html +++ b/docs/stable/generated/torch.sigmoid.html @@ -344,9 +344,10 @@

                                                torch.sigmoidtorch.sigmoid(input, out=None) → Tensor

                                                Returns a new tensor with the sigmoid of the elements of input.

                                                -outi=11+einputi\text{out}_{i} = \frac{1}{1 + e^{-\text{input}_{i}}} +outi=11+einputi\text{out}_{i} = \frac{1}{1 + e^{-\text{input}_{i}}} + + -
                                                Parameters
                                                  diff --git a/docs/stable/generated/torch.sign.html b/docs/stable/generated/torch.sign.html index b2ffb68d414d..b17cd1a39871 100644 --- a/docs/stable/generated/torch.sign.html +++ b/docs/stable/generated/torch.sign.html @@ -344,6 +344,10 @@

                                                  torch.signtorch.sign(input, out=None) → Tensor

                                                  Returns a new tensor with the signs of the elements of input.

                                                  +outi=sgn(inputi)\text{out}_{i} = \operatorname{sgn}(\text{input}_{i}) + + +
                                                  Parameters
                                                    diff --git a/docs/stable/generated/torch.sin.html b/docs/stable/generated/torch.sin.html index d4172744f0c3..c39423fbc3d2 100644 --- a/docs/stable/generated/torch.sin.html +++ b/docs/stable/generated/torch.sin.html @@ -344,9 +344,10 @@

                                                    torch.sintorch.sin(input, out=None) → Tensor

                                                    Returns a new tensor with the sine of the elements of input.

                                                    -outi=sin(inputi)\text{out}_{i} = \sin(\text{input}_{i}) +outi=sin(inputi)\text{out}_{i} = \sin(\text{input}_{i}) + + -
                                                    Parameters
                                                      diff --git a/docs/stable/generated/torch.sinh.html b/docs/stable/generated/torch.sinh.html index 47e5e0fae90c..e9073d6d8e76 100644 --- a/docs/stable/generated/torch.sinh.html +++ b/docs/stable/generated/torch.sinh.html @@ -345,9 +345,10 @@

                                                      torch.sinhinput.

                                                      -outi=sinh(inputi)\text{out}_{i} = \sinh(\text{input}_{i}) +outi=sinh(inputi)\text{out}_{i} = \sinh(\text{input}_{i}) + + -
                                                      Parameters
                                                        diff --git a/docs/stable/generated/torch.solve.html b/docs/stable/generated/torch.solve.html index fbca1c96d97a..ece7980cfcbc 100644 --- a/docs/stable/generated/torch.solve.html +++ b/docs/stable/generated/torch.solve.html @@ -343,7 +343,8 @@

                                                        torch.solve torch.solve(input, A, out=None) -> (Tensor, Tensor)

                                                        This function returns the solution to the system of linear -equations represented by AX=BAX = B +equations represented by AX=BAX = B + and the LU factorization of A, in order as a namedtuple solution, LU.

                                                        LU contains L and U factors for LU factorization of A.

                                                        @@ -360,14 +361,19 @@

                                                        torch.solve
                                                        Parameters
                                                          -
                                                        • input (Tensor) – input matrix BB - of size (,m,k)(*, m, k) - , where * +

                                                        • input (Tensor) – input matrix BB + + of size (,m,k)(*, m, k) + + , where * + is zero or more batch dimensions.

                                                        • -
                                                        • A (Tensor) – input square matrix of size (,m,m)(*, m, m) +

                                                        • A (Tensor) – input square matrix of size (,m,m)(*, m, m) + , where -* +* + is zero or more batch dimensions.

                                                        • out ((Tensor, Tensor), optional) – optional output tuple.

                                                        diff --git a/docs/stable/generated/torch.sqrt.html b/docs/stable/generated/torch.sqrt.html index 04aaa42523ac..2266b9f94abb 100644 --- a/docs/stable/generated/torch.sqrt.html +++ b/docs/stable/generated/torch.sqrt.html @@ -344,16 +344,20 @@

                                                        torch.sqrttorch.sqrt(input, out=None) → Tensor

                                                        Returns a new tensor with the square-root of the elements of input.

                                                        -outi=inputi\text{out}_{i} = \sqrt{\text{input}_{i}} - - +outi=inputi\text{out}_{i} = \sqrt{\text{input}_{i}} + + +
                                                        Parameters
                                                          diff --git a/docs/stable/generated/torch.squeeze.html b/docs/stable/generated/torch.squeeze.html index c5471cb2081c..983970d12f23 100644 --- a/docs/stable/generated/torch.squeeze.html +++ b/docs/stable/generated/torch.squeeze.html @@ -344,15 +344,19 @@

                                                          torch.squeezetorch.squeeze(input, dim=None, out=None) → Tensor

                                                          Returns a tensor with all the dimensions of input of size 1 removed.

                                                          For example, if input is of shape: -(A×1×B×C×1×D)(A \times 1 \times B \times C \times 1 \times D) +(A×1×B×C×1×D)(A \times 1 \times B \times C \times 1 \times D) + then the out tensor -will be of shape: (A×B×C×D)(A \times B \times C \times D) +will be of shape: (A×B×C×D)(A \times B \times C \times D) + .

                                                          When dim is given, a squeeze operation is done only in the given -dimension. If input is of shape: (A×1×B)(A \times 1 \times B) +dimension. If input is of shape: (A×1×B)(A \times 1 \times B) + , squeeze(input, 0) leaves the tensor unchanged, but squeeze(input, 1) -will squeeze the tensor to the shape (A×B)(A \times B) +will squeeze the tensor to the shape (A×B)(A \times B) + .

                                                          Note

                                                          diff --git a/docs/stable/generated/torch.stft.html b/docs/stable/generated/torch.stft.html index e272b0337964..8982a854bade 100644 --- a/docs/stable/generated/torch.stft.html +++ b/docs/stable/generated/torch.stft.html @@ -341,15 +341,24 @@

                                                          torch.stft

                                                          -torch.stft(input: torch.Tensor, n_fft: int, hop_length: Optional[int] = None, win_length: Optional[int] = None, window: Optional[torch.Tensor] = None, center: bool = True, pad_mode: str = 'reflect', normalized: bool = False, onesided: bool = True) → torch.Tensor[source]
                                                          +torch.stft(input, n_fft, hop_length=None, win_length=None, window=None, center=True, pad_mode='reflect', normalized=False, onesided=True)[source]

                                                          Short-time Fourier transform (STFT).

                                                          Ignoring the optional batch dimension, this method computes the following expression:

                                                          -

                                                          where mm - is the index of the sliding window, and ω\omega +X[m,ω]=k=0win_length-1window[k] input[m×hop_length+k] exp(j2πωkwin_length),X[m, \omega] = \sum_{k = 0}^{\text{win\_length-1}}% + \text{window}[k]\ \text{input}[m \times \text{hop\_length} + k]\ % + \exp\left(- j \frac{2 \pi \cdot \omega k}{\text{win\_length}}\right), + + + +

                                                          where mm + + is the index of the sliding window, and ω\omega + is -the frequency that 0ω<n_fft0 \leq \omega < \text{n\_fft} +the frequency that 0ω<n_fft0 \leq \omega < \text{n\_fft} + . When onesided is the default value True,

                                                            @@ -361,39 +370,54 @@

                                                            torch.stftn_fft.

                                                          • window can be a 1-D tensor of size win_length, e.g., from torch.hann_window(). If window is None (default), it is -treated as if having 11 +treated as if having 11 + everywhere in the window. If -win_length<n_fft\text{win\_length} < \text{n\_fft} +win_length<n_fft\text{win\_length} < \text{n\_fft} + , window will be padded on both sides to length n_fft before being applied.

                                                          • If center is True (default), input will be padded on -both sides so that the tt +both sides so that the tt + -th frame is centered at time -t×hop_lengtht \times \text{hop\_length} -. Otherwise, the tt +t×hop_lengtht \times \text{hop\_length} + +. Otherwise, the tt + -th frame -begins at time t×hop_lengtht \times \text{hop\_length} +begins at time t×hop_lengtht \times \text{hop\_length} + .

                                                          • pad_mode determines the padding method used on input when center is True. See torch.nn.functional.pad() for all available options. Default is "reflect".

                                                          • -
                                                          • If onesided is True (default), only values for ω\omega +

                                                          • If onesided is True (default), only values for ω\omega + + +in [0,1,2,,n_fft2+1]\left[0, 1, 2, \dots, \left\lfloor \frac{\text{n\_fft}}{2} \right\rfloor + 1\right] + -in are returned because the real-to-complex Fourier transform satisfies the -conjugate symmetry, i.e., X[m,ω]=X[m,n_fftω]X[m, \omega] = X[m, \text{n\_fft} - \omega]^* +conjugate symmetry, i.e., X[m,ω]=X[m,n_fftω]X[m, \omega] = X[m, \text{n\_fft} - \omega]^* + .

                                                          • If normalized is True (default is False), the function -returns the normalized STFT results, i.e., multiplied by (frame_length)0.5(\text{frame\_length})^{-0.5} +returns the normalized STFT results, i.e., multiplied by (frame_length)0.5(\text{frame\_length})^{-0.5} + .

                                                          Returns the real and the imaginary parts together as one tensor of size -(×N×T×2)(* \times N \times T \times 2) -, where * +(×N×T×2)(* \times N \times T \times 2) + +, where * + is the optional -batch size of input, NN +batch size of input, NN + is the number of frequencies where -STFT is applied, TT +STFT is applied, TT + is the total number of frames used, and each pair in the last dimension represents a complex number as the real part and the imaginary part.

                                                          @@ -412,11 +436,14 @@

                                                          torch.stftint, optional) – the size of window frame and STFT filter. Default: None (treated as equal to n_fft)

                                                        • window (Tensor, optional) – the optional window function. -Default: None (treated as window of all 11 +Default: None (treated as window of all 11 + s)

                                                        • center (bool, optional) – whether to pad input on both sides so -that the tt --th frame is centered at time t×hop_lengtht \times \text{hop\_length} +that the tt + +-th frame is centered at time t×hop_lengtht \times \text{hop\_length} + . Default: True

                                                        • pad_mode (string, optional) – controls the padding method used when diff --git a/docs/stable/generated/torch.svd.html b/docs/stable/generated/torch.svd.html index 737fad6b6b83..20ab6db1bbb5 100644 --- a/docs/stable/generated/torch.svd.html +++ b/docs/stable/generated/torch.svd.html @@ -344,15 +344,19 @@

                                                          torch.svdtorch.svd(input, some=True, compute_uv=True, out=None) -> (Tensor, Tensor, Tensor)

                                                          This function returns a namedtuple (U, S, V) which is the singular value decomposition of a input real matrix or batches of real matrices input such that -input=U×diag(S)×VTinput = U \times diag(S) \times V^T +input=U×diag(S)×VTinput = U \times diag(S) \times V^T + .

                                                          If some is True (default), the method returns the reduced singular value decomposition i.e., if the last two dimensions of input are m and n, then the returned -U and V matrices will contain only min(n,m)min(n, m) +U and V matrices will contain only min(n,m)min(n, m) + orthonormal columns.

                                                          If compute_uv is False, the returned U and V matrices will be zero matrices -of shape (m×m)(m \times m) - and (n×n)(n \times n) +of shape (m×m)(m \times m) + + and (n×n)(n \times n) + respectively. some will be ignored here.

                                                          Note

                                                          @@ -393,9 +397,11 @@

                                                          torch.svd
                                                          Parameters
                                                            -
                                                          • input (Tensor) – the input tensor of size (,m,n)(*, m, n) +

                                                          • input (Tensor) – the input tensor of size (,m,n)(*, m, n) + where * is zero or more -batch dimensions consisting of m×nm \times n +batch dimensions consisting of m×nm \times n + matrices.

                                                          • some (bool, optional) – controls the shape of returned U and V

                                                          • compute_uv (bool, optional) – option whether to compute U and V or not

                                                          • diff --git a/docs/stable/generated/torch.svd_lowrank.html b/docs/stable/generated/torch.svd_lowrank.html index be0765a3b327..3d4687d9a836 100644 --- a/docs/stable/generated/torch.svd_lowrank.html +++ b/docs/stable/generated/torch.svd_lowrank.html @@ -341,14 +341,18 @@

                                                            torch.svd_lowrank

                                                            -torch.svd_lowrank(A: torch.Tensor, q: Optional[int] = 6, niter: Optional[int] = 2, M: Optional[torch.Tensor] = None) → Tuple[torch.Tensor, torch.Tensor, torch.Tensor][source]
                                                            +torch.svd_lowrank(A, q=6, niter=2, M=None)[source]

                                                            Return the singular value decomposition (U, S, V) of a matrix, -batches of matrices, or a sparse matrix AA +batches of matrices, or a sparse matrix AA + such that -AUdiag(S)VTA \approx U diag(S) V^T -. In case MM +AUdiag(S)VTA \approx U diag(S) V^T + +. In case MM + is given, then -SVD is computed for the matrix AMA - M +SVD is computed for the matrix AMA - M + .

                                                            Note

                                                            @@ -373,14 +377,16 @@

                                                            torch.svd_lowranktorch.svd cannot handle.

                                                            -
                                                            Arguments::

                                                            A (Tensor): the input tensor of size (,m,n)(*, m, n) +

                                                            Arguments::

                                                            A (Tensor): the input tensor of size (,m,n)(*, m, n) +

                                                            q (int, optional): a slightly overestimated rank of A.

                                                            niter (int, optional): the number of subspace iterations to

                                                            conduct; niter must be a nonnegative integer, and defaults to 2

                                                            -
                                                            M (Tensor, optional): the input tensor’s mean of size

                                                            (,1,n)(*, 1, n) +

                                                            M (Tensor, optional): the input tensor’s mean of size

                                                            (,1,n)(*, 1, n) + .

                                                            diff --git a/docs/stable/generated/torch.symeig.html b/docs/stable/generated/torch.symeig.html index f14b8361c2c9..ce4644cf302c 100644 --- a/docs/stable/generated/torch.symeig.html +++ b/docs/stable/generated/torch.symeig.html @@ -346,7 +346,8 @@

                                                            torch.symeiginput or a batch of real symmetric matrices, represented by a namedtuple (eigenvalues, eigenvectors).

                                                            This function calculates all eigenvalues (and vectors) of input -such that input=Vdiag(e)VT\text{input} = V \text{diag}(e) V^T +such that input=Vdiag(e)VT\text{input} = V \text{diag}(e) V^T + .

                                                            The boolean argument eigenvectors defines computation of both eigenvectors and eigenvalues or eigenvalues only.

                                                            @@ -374,7 +375,8 @@

                                                            torch.symeig
                                                            Parameters
                                                            + -
                                                          • close() (torch.utils.tensorboard.writer.SummaryWriter method) -
                                                          • coalesce() (torch.sparse.FloatTensor method)
                                                          • CocoCaptions (class in torchvision.datasets) @@ -1513,7 +1479,7 @@

                                                            C

                                                            D

                                                            - + @@ -8094,21 +8094,6 @@ b:int)->intmath.isfinite(a:float)->bool - -math.remainder(a:int, - b:int)->float - -math.remainder(a:float, - b:float)->float - -math.remainder(a:int, - b:float)->float - -math.remainder(a:float, - b:int)->float - -math.remainder(a:number, - b:number)->float diff --git a/docs/stable/nn.functional.html b/docs/stable/nn.functional.html index 74fbbdd21dd3..25167c54f742 100644 --- a/docs/stable/nn.functional.html +++ b/docs/stable/nn.functional.html @@ -359,11 +359,14 @@

                                                            conv1d
                                                            Parameters
                                                            @@ -406,11 +410,14 @@

                                                            conv2d
                                                            Parameters
                                                            @@ -454,11 +462,14 @@

                                                            conv3d
                                                            Parameters
                                                            @@ -501,11 +513,14 @@

                                                            conv_transpose1d
                                                            Parameters

                                                            - @@ -660,8 +661,10 @@

                                                            Recurrent Layers

                                                            - @@ -712,11 +715,13 @@

                                                            Linear Layers

                                                            A placeholder identity operator that is argument-insensitive.

                                                            - - @@ -730,15 +735,21 @@

                                                            Dropout Layers

                                                            During training, randomly zeroes some of the elements of the input tensor with probability p using samples from a Bernoulli distribution.

                                                            - - @@ -765,13 +776,17 @@

                                                            Distance Functions

                                                            - - @@ -782,13 +797,17 @@

                                                            Loss Functions

                                                            - - @@ -813,52 +832,74 @@

                                                            Loss Functions

                                                            This loss combines a Sigmoid layer and the BCELoss in one single class.

                                                            - - - - - - - - @@ -869,8 +910,10 @@

                                                            Vision Layers

                                                            - diff --git a/docs/stable/nn.init.html b/docs/stable/nn.init.html index 54f53d2fc9f3..a194a15d1a26 100644 --- a/docs/stable/nn.init.html +++ b/docs/stable/nn.init.html @@ -350,41 +350,53 @@ - - - - - - @@ -405,9 +417,10 @@
                                                            -torch.nn.init.uniform_(tensor: torch.Tensor, a: float = 0.0, b: float = 1.0) → torch.Tensor[source]
                                                            +torch.nn.init.uniform_(tensor, a=0.0, b=1.0)[source]

                                                            Fills the input Tensor with values drawn from the uniform -distribution U(a,b)\mathcal{U}(a, b) +distribution U(a,b)\mathcal{U}(a, b) + .

                                                            Parameters
                                                            @@ -427,9 +440,10 @@
                                                            -torch.nn.init.normal_(tensor: torch.Tensor, mean: float = 0.0, std: float = 1.0) → torch.Tensor[source]
                                                            +torch.nn.init.normal_(tensor, mean=0.0, std=1.0)[source]

                                                            Fills the input Tensor with values drawn from the normal -distribution N(mean,std2)\mathcal{N}(\text{mean}, \text{std}^2) +distribution N(mean,std2)\mathcal{N}(\text{mean}, \text{std}^2) + .

                                                            Parameters
                                                            @@ -449,8 +463,9 @@
                                                            -torch.nn.init.constant_(tensor: torch.Tensor, val: float) → torch.Tensor[source]
                                                            -

                                                            Fills the input Tensor with the value val\text{val} +torch.nn.init.constant_(tensor, val)[source] +

                                                            Fills the input Tensor with the value val\text{val} + .

                                                            Parameters
                                                            @@ -469,7 +484,7 @@
                                                            -torch.nn.init.ones_(tensor: torch.Tensor) → torch.Tensor[source]
                                                            +torch.nn.init.ones_(tensor)[source]

                                                            Fills the input Tensor with the scalar value 1.

                                                            Parameters
                                                            @@ -485,7 +500,7 @@
                                                            -torch.nn.init.zeros_(tensor: torch.Tensor) → torch.Tensor[source]
                                                            +torch.nn.init.zeros_(tensor)[source]

                                                            Fills the input Tensor with the scalar value 0.

                                                            Parameters
                                                            @@ -543,24 +558,26 @@
                                                            -torch.nn.init.xavier_uniform_(tensor: torch.Tensor, gain: float = 1.0) → torch.Tensor[source]
                                                            +torch.nn.init.xavier_uniform_(tensor, gain=1.0)[source]

                                                            Fills the input Tensor with values according to the method described in Understanding the difficulty of training deep feedforward neural networks - Glorot, X. & Bengio, Y. (2010), using a uniform distribution. The resulting tensor will have values sampled from -U(a,a)\mathcal{U}(-a, a) +U(a,a)\mathcal{U}(-a, a) + where

                                                            -a=gain×6fan_in+fan_outa = \text{gain} \times \sqrt{\frac{6}{\text{fan\_in} + \text{fan\_out}}} - - +a=gain×6fan_in+fan_outa = \text{gain} \times \sqrt{\frac{6}{\text{fan\_in} + \text{fan\_out}}} + + +

                                                            Also known as Glorot initialization.

                                                            Parameters
                                                            @@ -579,24 +596,26 @@
                                                            -torch.nn.init.xavier_normal_(tensor: torch.Tensor, gain: float = 1.0) → torch.Tensor[source]
                                                            +torch.nn.init.xavier_normal_(tensor, gain=1.0)[source]

                                                            Fills the input Tensor with values according to the method described in Understanding the difficulty of training deep feedforward neural networks - Glorot, X. & Bengio, Y. (2010), using a normal distribution. The resulting tensor will have values sampled from -N(0,std2)\mathcal{N}(0, \text{std}^2) +N(0,std2)\mathcal{N}(0, \text{std}^2) + where

                                                            -std=gain×2fan_in+fan_out\text{std} = \text{gain} \times \sqrt{\frac{2}{\text{fan\_in} + \text{fan\_out}}} - - +std=gain×2fan_in+fan_out\text{std} = \text{gain} \times \sqrt{\frac{2}{\text{fan\_in} + \text{fan\_out}}} + + +

                                                            Also known as Glorot initialization.

                                                            Parameters
                                                            @@ -620,19 +639,21 @@ described in Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification - He, K. et al. (2015), using a uniform distribution. The resulting tensor will have values sampled from -U(bound,bound)\mathcal{U}(-\text{bound}, \text{bound}) +U(bound,bound)\mathcal{U}(-\text{bound}, \text{bound}) + where

                                                            -bound=gain×3fan_mode\text{bound} = \text{gain} \times \sqrt{\frac{3}{\text{fan\_mode}}} - - +bound=gain×3fan_mode\text{bound} = \text{gain} \times \sqrt{\frac{3}{\text{fan\_mode}}} + + +

                                                            Also known as He initialization.

                                                            Parameters
                                                            @@ -663,19 +684,24 @@ described in Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification - He, K. et al. (2015), using a normal distribution. The resulting tensor will have values sampled from -N(0,std2)\mathcal{N}(0, \text{std}^2) +N(0,std2)\mathcal{N}(0, \text{std}^2) + where

                                                            -std=gainfan_mode\text{std} = \frac{\text{gain}}{\sqrt{\text{fan\_mode}}} - - +std=gainfan_mode\text{std} = \frac{\text{gain}}{\sqrt{\text{fan\_mode}}} + + +

                                                            Also known as He initialization.

                                                            Parameters
                                                            @@ -710,7 +736,8 @@
                                                            Parameters
                                                              -
                                                            • tensor – an n-dimensional torch.Tensor, where n2n \geq 2 +

                                                            • tensor – an n-dimensional torch.Tensor, where n2n \geq 2 +

                                                            • gain – optional scaling factor

                                                            @@ -728,7 +755,8 @@ torch.nn.init.sparse_(tensor, sparsity, std=0.01)[source]

                                                            Fills the 2D input Tensor as a sparse matrix, where the non-zero elements will be drawn from the normal distribution -N(0,0.01)\mathcal{N}(0, 0.01) +N(0,0.01)\mathcal{N}(0, 0.01) + , as described in Deep learning via Hessian-free optimization - Martens, J. (2010).

                                                            diff --git a/docs/stable/notes/amp_examples.html b/docs/stable/notes/amp_examples.html index ccbab90a7b65..4c006d2bdee1 100644 --- a/docs/stable/notes/amp_examples.html +++ b/docs/stable/notes/amp_examples.html @@ -416,7 +416,8 @@

                                                            Typical Mixed Precision Training.grad attributes between backward() and scaler.step(optimizer), you should unscale them first. For example, gradient clipping manipulates a set of gradients such that their global norm (see torch.nn.utils.clip_grad_norm_()) or maximum magnitude (see torch.nn.utils.clip_grad_value_()) -is <=<= +is <=<= + some user-imposed threshold. If you attempted to clip without unscaling, the gradients’ norm/maximum magnitude would also be scaled, so your requested threshold (which was meant to be the threshold for unscaled gradients) would be invalid.

                                                            diff --git a/docs/stable/notes/autograd.html b/docs/stable/notes/autograd.html index 92b302cca425..389f19ec8c73 100644 --- a/docs/stable/notes/autograd.html +++ b/docs/stable/notes/autograd.html @@ -520,7 +520,9 @@

                                                            No thread safety on C++ hooks

                                                            PyTorch follows JAX’s convention for autograd for Complex Numbers.

                                                            -

                                                            Suppose we have a function which we can decompose into functions u and v +

                                                            Suppose we have a function F:CCF: ℂ → ℂ + + which we can decompose into functions u and v which compute the real and imaginary parts of the function:

                                                            def F(z):
                                                            @@ -529,40 +531,61 @@ 

                                                            What notion of complex derivative does PyTorch use?

                                                            -

                                                            where 1j1j +

                                                            where 1j1j + is a unit imaginary number.

                                                            -

                                                            We define the JVPJVP - for function FF - at (x,y)(x, y) +

                                                            We define the JVPJVP + + for function FF + + at (x,y)(x, y) + applied to a tangent -vector c+djCc+dj \in C +vector c+djCc+dj \in C + as:

                                                            -[11j]J[cd]\begin{bmatrix} 1 & 1j \end{bmatrix} * J * \begin{bmatrix} c \\ d \end{bmatrix} +[11j]J[cd]\begin{bmatrix} 1 & 1j \end{bmatrix} * J * \begin{bmatrix} c \\ d \end{bmatrix} + + -

                                                            where

                                                            +J=[u(x,y)xu(x,y)yv(x,y)xv(x,y)y]J = \begin{bmatrix} + \frac{\partial u(x, y)}{\partial x} & \frac{\partial u(x, y)}{\partial y}\\ + \frac{\partial v(x, y)}{\partial x} & \frac{\partial v(x, y)}{\partial y} \end{bmatrix} \\ + + +
                                                            -

                                                            This is similar to the definition of the JVP for a function defined from , and the multiplication -with [1,1j]T[1, 1j]^T +

                                                            This is similar to the definition of the JVP for a function defined from R2R2R^2 → R^2 + +, and the multiplication +with [1,1j]T[1, 1j]^T + is used to identify the result as a complex number.

                                                            -

                                                            We define the VJPVJP - of FF - at (x,y)(x, y) - for a cotangent vector c+djCc+dj \in C +

                                                            We define the VJPVJP + + of FF + + at (x,y)(x, y) + + for a cotangent vector c+djCc+dj \in C + as:

                                                            -[cd]J[11j]\begin{bmatrix} c & -d \end{bmatrix} * J * \begin{bmatrix} 1 \\ -1j \end{bmatrix} +[cd]J[11j]\begin{bmatrix} c & -d \end{bmatrix} * J * \begin{bmatrix} 1 \\ -1j \end{bmatrix} + + -

                                                            In PyTorch, the VJP is mostly what we care about, as it is the computation performed when we do backward -mode automatic differentiation. Notice that d and 1j1j +mode automatic differentiation. Notice that d and 1j1j + are negated in the formula above. Please look at the JAX docs to get explanation for the negative signs in the formula.

                                                            @@ -570,44 +593,64 @@

                                                            What notion of complex derivative does PyTorch use?

                                                            What happens if I call backward() on a complex scalar?

                                                            The gradient for a complex function is computed assuming the input function is a holomorphic function. -This is because for general functions, the Jacobian has 4 real-valued degrees of freedom +This is because for general CCℂ → ℂ + + functions, the Jacobian has 4 real-valued degrees of freedom (as in the 2x2 Jacobian matrix above), so we can’t hope to represent all of them with in a complex number. However, for holomorphic functions, the gradient can be fully represented with complex numbers due to the Cauchy-Riemann equations that ensure that 2x2 Jacobians have the special form of a scale-and-rotate matrix in the complex plane, i.e. the action of a single complex number under multiplication. And so, we can obtain that gradient using backward which is just a call to vjp with covector 1.0.

                                                            The net effect of this assumption is that the partial derivatives of the imaginary part of the function -(v(x,y)v(x, y) +(v(x,y)v(x, y) + above) are discarded for torch.autograd.backward() on a complex scalar (e.g., this is equivalent to dropping the imaginary part of the loss before performing a backwards).

                                                            For any other desired behavior, you can specify the covector grad_output in torch.autograd.backward() call accordingly.

                                                            How are the JVP and VJP defined for cross-domain functions?

                                                            -

                                                            Based on formulas above and the behavior we expect to see (going from should be an identity), +

                                                            Based on formulas above and the behavior we expect to see (going from CR2Cℂ → ℝ^2 → ℂ + + should be an identity), we use the formula given below for cross-domain functions.

                                                            -

                                                            The JVPJVP - and VJPVJP - for a are defined as:

                                                            +

                                                            The JVPJVP + + and VJPVJP + + for a f1:CR2f1: ℂ → ℝ^2 + + are defined as:

                                                            -JVP=J[cd]JVP = J * \begin{bmatrix} c \\ d \end{bmatrix} +JVP=J[cd]JVP = J * \begin{bmatrix} c \\ d \end{bmatrix} + + -
                                                            -VJP=[cd]J[11j]VJP = \begin{bmatrix} c & d \end{bmatrix} * J * \begin{bmatrix} 1 \\ -1j \end{bmatrix} +VJP=[cd]J[11j]VJP = \begin{bmatrix} c & d \end{bmatrix} * J * \begin{bmatrix} 1 \\ -1j \end{bmatrix} + + -
                                                            -

                                                            The JVPJVP - and VJPVJP - for a are defined as:

                                                            +

                                                            The JVPJVP + + and VJPVJP + + for a f1:R2Cf1: ℝ^2 → ℂ + + are defined as:

                                                            +JVP=[11j]J[cd]JVP = \begin{bmatrix} 1 & 1j \end{bmatrix} * J * \begin{bmatrix} c \\ d \end{bmatrix} \\ \\ + + +
                                                            -VJP=[cd]JVJP = \begin{bmatrix} c & -d \end{bmatrix} * J +VJP=[cd]JVJP = \begin{bmatrix} c & -d \end{bmatrix} * J + + -
                                                            diff --git a/docs/stable/notes/faq.html b/docs/stable/notes/faq.html index 4595f6068540..dc58263a1309 100644 --- a/docs/stable/notes/faq.html +++ b/docs/stable/notes/faq.html @@ -396,7 +396,8 @@

                                                            My model reports “cuda runtime error(2): out of memory”repackage function as described in this forum post.

                                                            Don’t use linear layers that are too large. -A linear layer nn.Linear(m, n) uses O(nm)O(nm) +A linear layer nn.Linear(m, n) uses O(nm)O(nm) + memory: that is to say, the memory requirements of the weights scales quadratically with the number of features. It is very easy diff --git a/docs/stable/objects.inv b/docs/stable/objects.inv index eff8372f9df8b55996d26fe3fd0b27c94055e0e5..06689dafc92c47fe8ef905e04861cc5cbb6e7832 100644 GIT binary patch delta 43164 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%0DkI_i8^c8s~C6e=nAh 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

                                                            #rt=vvIB?jZQCH;s@}}qdq4*>YfZU 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 delta 43410 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 ZZb>Thf95b^>%D-<-b$Dk{||mRBN={qF6RIM diff --git a/docs/stable/optim.html b/docs/stable/optim.html index 2faee72a0330..f8bfd6caf69b 100644 --- a/docs/stable/optim.html +++ b/docs/stable/optim.html @@ -182,7 +182,12 @@ - + + + + + +

                                                            Notes

                                                              @@ -247,7 +252,7 @@
                                                              • torchaudio
                                                              • torchtext
                                                              • -
                                                              • torchvision
                                                              • +
                                                              • torchvision
                                                              • TorchElastic
                                                              • TorchServe
                                                              • PyTorch on XLA Devices
                                                              • @@ -585,9 +590,7 @@

                                                                optimizer.step(
                                                                class torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0, amsgrad=False)[source]

                                                                Implements Adam algorithm.

                                                                -

                                                                It has been proposed in Adam: A Method for Stochastic Optimization. -The implementation of the L2 penalty follows changes proposed in -Decoupled Weight Decay Regularization.

                                                                +

                                                                It has been proposed in Adam: A Method for Stochastic Optimization.

                                                                Parameters
                                                                  @@ -726,7 +729,7 @@

                                                                  optimizer.step(
                                                                  class torch.optim.ASGD(params, lr=0.01, lambd=0.0001, alpha=0.75, t0=1000000.0, weight_decay=0)[source]

                                                                  Implements Averaged Stochastic Gradient Descent.

                                                                  -

                                                                  It has been proposed in Acceleration of stochastic approximation by +

                                                                  It has been proposed in Acceleration of stochastic approximation by averaging.

                                                                  Parameters
                                                                  @@ -812,12 +815,12 @@

                                                                  optimizer.step( class torch.optim.RMSprop(params, lr=0.01, alpha=0.99, eps=1e-08, weight_decay=0, momentum=0, centered=False)[source]

                                                                  Implements RMSprop algorithm.

                                                                  Proposed by G. Hinton in his -course.

                                                                  +course.

                                                                  The centered version first appears in Generating Sequences With Recurrent Neural Networks.

                                                                  The implementation here takes the square root of the gradient average before adding epsilon (note that TensorFlow interchanges these two operations). The effective -learning rate is thus α/(v+ϵ)\alpha/(\sqrt{v} + \epsilon) +M834 80h400000v40h-400000z'/>+ϵ) - where α\alpha + where α\alpha -is the scheduled learning rate and vv +is the scheduled learning rate and vv is the weighted moving average of the squared gradient.

                                                                  @@ -931,32 +934,32 @@

                                                                  optimizer.step( Sutskever et. al. and implementations in some other frameworks.

                                                                  Considering the specific case of Momentum, the update can be written as

                                                                  -vt+1=μvt+gt+1,pt+1=ptlrvt+1,\begin{aligned} +vt+1=μvt+gt+1,pt+1=ptlrvt+1,\begin{aligned} v_{t+1} & = \mu * v_{t} + g_{t+1}, \\ p_{t+1} & = p_{t} - \text{lr} * v_{t+1}, \end{aligned} - + -

                                                                  where pp +

                                                                  where pp -, gg +, gg -, vv +, vv - and μ\mu + and μ\mu denote the parameters, gradient, velocity, and momentum respectively.

                                                                  This is in contrast to Sutskever et. al. and other frameworks which employ an update of the form

                                                                  -vt+1=μvt+lrgt+1,pt+1=ptvt+1.\begin{aligned} +vt+1=μvt+lrgt+1,pt+1=ptvt+1.\begin{aligned} v_{t+1} & = \mu * v_{t} + \text{lr} * g_{t+1}, \\ p_{t+1} & = p_{t} - v_{t+1}. \end{aligned} - +

                                                                  The Nesterov version is analogously modified.

                                                                  @@ -1000,7 +1003,7 @@

                                                                  How to adjust learning rate
                                                                  -class torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1, verbose=False)[source]
                                                                  +class torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1)[source]

                                                                  Sets the learning rate of each parameter group to the initial lr times a given function. When last_epoch=-1, sets initial lr as lr.

                                                                  @@ -1011,8 +1014,6 @@

                                                                  How to adjust learning rateint) – The index of last epoch. Default: -1.

                                                                  -
                                                                • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                                @@ -1053,7 +1054,7 @@

                                                                How to adjust learning rate
                                                                -class torch.optim.lr_scheduler.MultiplicativeLR(optimizer, lr_lambda, last_epoch=-1, verbose=False)[source]
                                                                +class torch.optim.lr_scheduler.MultiplicativeLR(optimizer, lr_lambda, last_epoch=-1)[source]

                                                                Multiply the learning rate of each parameter group by the factor given in the specified function. When last_epoch=-1, sets initial lr as lr.

                                                                @@ -1064,8 +1065,6 @@

                                                                How to adjust learning rateint) – The index of last epoch. Default: -1.

                                                                -
                                                              • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                            @@ -1104,7 +1103,7 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1)[source]

                                                            Decays the learning rate of each parameter group by gamma every step_size epochs. Notice that such decay can happen simultaneously with other changes to the learning rate from outside this scheduler. When @@ -1117,8 +1116,6 @@

                                                            How to adjust learning ratefloat) – Multiplicative factor of learning rate decay. Default: 0.1.

                                                          • last_epoch (int) – The index of last epoch. Default: -1.

                                                          • -
                                                          • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                          • @@ -1139,7 +1136,7 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1)[source]

                                                            Decays the learning rate of each parameter group by gamma once the number of epoch reaches one of the milestones. Notice that such decay can happen simultaneously with other changes to the learning rate from outside @@ -1152,8 +1149,6 @@

                                                            How to adjust learning ratefloat) – Multiplicative factor of learning rate decay. Default: 0.1.

                                                          • last_epoch (int) – The index of last epoch. Default: -1.

                                                          • -
                                                          • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                          • @@ -1173,7 +1168,7 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.ExponentialLR(optimizer, gamma, last_epoch=-1, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.ExponentialLR(optimizer, gamma, last_epoch=-1)[source]

                                                            Decays the learning rate of each parameter group by gamma every epoch. When last_epoch=-1, sets initial lr as lr.

                                                            @@ -1182,8 +1177,6 @@

                                                            How to adjust learning rateOptimizer) – Wrapped optimizer.

                                                          • gamma (float) – Multiplicative factor of learning rate decay.

                                                          • last_epoch (int) – The index of last epoch. Default: -1.

                                                          • -
                                                          • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                          • @@ -1191,16 +1184,16 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0, last_epoch=-1, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0, last_epoch=-1)[source]

                                                            Set the learning rate of each parameter group using a cosine annealing -schedule, where ηmax\eta_{max} +schedule, where ηmax\eta_{max} is set to the initial lr and -TcurT_{cur} +TcurT_{cur} is the number of epochs since the last restart in SGDR:

                                                            -ηt=ηmin+12(ηmaxηmin)(1+cos(TcurTmaxπ)),Tcur(2k+1)Tmax;ηt+1=ηt+12(ηmaxηmin)(1cos(1Tmaxπ)),Tcur=(2k+1)Tmax.\begin{aligned} +ηt=ηmin+12(ηmaxηmin)(1+cos(TcurTmaxπ)),Tcur(2k+1)Tmax;ηt+1=ηt+12(ηmaxηmin)(1cos(1Tmaxπ)),Tcur=(2k+1)Tmax.\begin{aligned} \eta_t & = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 + \cos\left(\frac{T_{cur}}{T_{max}}\pi\right)\right), & T_{cur} \neq (2k+1)T_{max}; \\ @@ -1209,17 +1202,17 @@

                                                            How to adjust learning rate

                                                            SGDR: Stochastic Gradient Descent with Warm Restarts. Note that this only @@ -1231,8 +1224,6 @@

                                                            How to adjust learning rateint) – Maximum number of iterations.

                                                          • eta_min (float) – Minimum learning rate. Default: 0.

                                                          • last_epoch (int) – The index of last epoch. Default: -1.

                                                          • -
                                                          • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                          • @@ -1240,7 +1231,7 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08)[source]

                                                            Reduce learning rate when a metric has stopped improving. Models often benefit from reducing the learning rate by a factor of 2-10 once learning stagnates. This scheduler reads a metrics @@ -1262,6 +1253,8 @@

                                                            How to adjust learning ratebool) – If True, prints a message to stdout for +each update. Default: False.

                                                          • threshold (float) – Threshold for measuring the new optimum, to only focus on significant changes. Default: 1e-4.

                                                          • threshold_mode (str) – One of rel, abs. In rel mode, @@ -1277,8 +1270,6 @@

                                                            How to adjust learning ratefloat) – Minimal decay applied to lr. If the difference between new and old lr is smaller than eps, the update is ignored. Default: 1e-8.

                                                          • -
                                                          • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                          • @@ -1296,7 +1287,7 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.CyclicLR(optimizer, base_lr, max_lr, step_size_up=2000, step_size_down=None, mode='triangular', gamma=1.0, scale_fn=None, scale_mode='cycle', cycle_momentum=True, base_momentum=0.8, max_momentum=0.9, last_epoch=-1, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.CyclicLR(optimizer, base_lr, max_lr, step_size_up=2000, step_size_down=None, mode='triangular', gamma=1.0, scale_fn=None, scale_mode='cycle', cycle_momentum=True, base_momentum=0.8, max_momentum=0.9, last_epoch=-1)[source]

                                                            Sets the learning rate of each parameter group according to cyclical learning rate policy (CLR). The policy cycles the learning rate between two boundaries with a constant frequency, as detailed in @@ -1374,8 +1365,6 @@

                                                            How to adjust learning ratebool) – If True, prints a message to stdout for -each update. Default: False.

                                                            @@ -1402,7 +1391,7 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.OneCycleLR(optimizer, max_lr, total_steps=None, epochs=None, steps_per_epoch=None, pct_start=0.3, anneal_strategy='cos', cycle_momentum=True, base_momentum=0.85, max_momentum=0.95, div_factor=25.0, final_div_factor=10000.0, last_epoch=-1, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.OneCycleLR(optimizer, max_lr, total_steps=None, epochs=None, steps_per_epoch=None, pct_start=0.3, anneal_strategy='cos', cycle_momentum=True, base_momentum=0.85, max_momentum=0.95, div_factor=25.0, final_div_factor=10000.0, last_epoch=-1)[source]

                                                            Sets the learning rate of each parameter group according to the 1cycle learning rate policy. The 1cycle policy anneals the learning rate from an initial learning rate to some maximum learning rate and then @@ -1476,8 +1465,6 @@

                                                            How to adjust learning ratebool) – If True, prints a message to stdout for -each update. Default: False.

                                                            @@ -1495,31 +1482,31 @@

                                                            How to adjust learning rate
                                                            -class torch.optim.lr_scheduler.CosineAnnealingWarmRestarts(optimizer, T_0, T_mult=1, eta_min=0, last_epoch=-1, verbose=False)[source]
                                                            +class torch.optim.lr_scheduler.CosineAnnealingWarmRestarts(optimizer, T_0, T_mult=1, eta_min=0, last_epoch=-1)[source]

                                                            Set the learning rate of each parameter group using a cosine annealing -schedule, where ηmax\eta_{max} +schedule, where ηmax\eta_{max} - is set to the initial lr, TcurT_{cur} + is set to the initial lr, TcurT_{cur} -is the number of epochs since the last restart and TiT_{i} +is the number of epochs since the last restart and TiT_{i} is the number of epochs between two warm restarts in SGDR:

                                                            -ηt=ηmin+12(ηmaxηmin)(1+cos(TcurTiπ))\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 + +ηt=ηmin+12(ηmaxηmin)(1+cos(TcurTiπ))\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 + \cos\left(\frac{T_{cur}}{T_{i}}\pi\right)\right) - + -

                                                            When Tcur=TiT_{cur}=T_{i} +

                                                            When Tcur=TiT_{cur}=T_{i} -, set ηt=ηmin\eta_t = \eta_{min} +, set ηt=ηmin\eta_t = \eta_{min} . -When Tcur=0T_{cur}=0 +When Tcur=0T_{cur}=0 - after restart, set ηt=ηmax\eta_t=\eta_{max} + after restart, set ηt=ηmax\eta_t=\eta_{max} .

                                                            It has been proposed in @@ -1529,13 +1516,11 @@

                                                            How to adjust learning rate
                                                            • optimizer (Optimizer) – Wrapped optimizer.

                                                            • T_0 (int) – Number of iterations for the first restart.

                                                            • -
                                                            • T_mult (int, optional) – A factor increases TiT_{i} +

                                                            • T_mult (int, optional) – A factor increases TiT_{i} after a restart. Default: 1.

                                                            • eta_min (float, optional) – Minimum learning rate. Default: 0.

                                                            • last_epoch (int, optional) – The index of last epoch. Default: -1.

                                                            • -
                                                            • verbose (bool) – If True, prints a message to stdout for -each update. Default: False.

                                                            @@ -1570,100 +1555,6 @@

                                                            How to adjust learning rate -

                                                            Stochastic Weight Averaging

                                                            -

                                                            torch.optim.swa_utils implements Stochastic Weight Averaging (SWA). In particular, -torch.optim.swa_utils.AveragedModel class implements SWA models, -torch.optim.swa_utils.SWALR implements the SWA learning rate scheduler and -torch.optim.swa_utils.update_bn() is a utility function used to update SWA batch -normalization statistics at the end of training.

                                                            -

                                                            SWA has been proposed in Averaging Weights Leads to Wider Optima and Better Generalization.

                                                            -
                                                            -

                                                            Constructing averaged models

                                                            -

                                                            AveragedModel class serves to compute the weights of the SWA model. You can create an -averaged model by running:

                                                            -
                                                            >>> swa_model = AveragedModel(model)
                                                            -
                                                            -
                                                            -

                                                            Here the model model can be an arbitrary torch.nn.Module object. swa_model -will keep track of the running averages of the parameters of the model. To update these -averages, you can use the update_parameters() function:

                                                            -
                                                            >>> swa_model.update_parameters(model)
                                                            -
                                                            -
                                                            -
                                                            -
                                                            -

                                                            SWA learning rate schedules

                                                            -

                                                            Typically, in SWA the learning rate is set to a high constant value. SWALR is a -learning rate scheduler that anneals the learning rate to a fixed value, and then keeps it -constant. For example, the following code creates a scheduler that linearly anneals the -learning rate from its initial value to 0.05 in 5 epochs within each parameter group:

                                                            -
                                                            >>> swa_scheduler = torch.optim.swa_utils.SWALR(optimizer, \
                                                            ->>>         anneal_strategy="linear", anneal_epochs=5, swa_lr=0.05)
                                                            -
                                                            -
                                                            -

                                                            You can also use cosine annealing to a fixed value instead of linear annealing by setting -anneal_strategy="cos".

                                                            -
                                                            -
                                                            -

                                                            Taking care of batch normalization

                                                            -

                                                            update_bn() is a utility function that allows to compute the batchnorm statistics for the SWA model -on a given dataloader loader at the end of training:

                                                            -
                                                            >>> torch.optim.swa_utils.update_bn(loader, swa_model)
                                                            -
                                                            -
                                                            -

                                                            update_bn() applies the swa_model to every element in the dataloader and computes the activation -statistics for each batch normalization layer in the model.

                                                            -
                                                            -

                                                            Warning

                                                            -

                                                            update_bn() assumes that each batch in the dataloader loader is either a tensors or a list of -tensors where the first element is the tensor that the network swa_model should be applied to. -If your dataloader has a different structure, you can update the batch normalization statistics of the -swa_model by doing a forward pass with the swa_model on each element of the dataset.

                                                            -
                                                            -
                                                            -
                                                            -

                                                            Custom averaging strategies

                                                            -

                                                            By default, torch.optim.swa_utils.AveragedModel computes a running equal average of -the parameters that you provide, but you can also use custom averaging functions with the -avg_fn parameter. In the following example ema_model computes an exponential moving average.

                                                            -

                                                            Example:

                                                            -
                                                            >>> ema_avg = lambda averaged_model_parameter, model_parameter, num_averaged:\
                                                            ->>>         0.1 * averaged_model_parameter + 0.9 * model_parameter
                                                            ->>> ema_model = torch.optim.swa_utils.AveragedModel(model, avg_fn=ema_avg)
                                                            -
                                                            -
                                                            -
                                                            -
                                                            -

                                                            Putting it all together

                                                            -

                                                            In the example below, swa_model is the SWA model that accumulates the averages of the weights. -We train the model for a total of 300 epochs and we switch to the SWA learning rate schedule -and start to collect SWA averages of the parameters at epoch 160:

                                                            -
                                                            >>> loader, optimizer, model, loss_fn = ...
                                                            ->>> swa_model = torch.optim.swa_utils.AveragedModel(model)
                                                            ->>> scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=300)
                                                            ->>> swa_start = 160
                                                            ->>> swa_scheduler = SWALR(optimizer, swa_lr=0.05)
                                                            ->>>
                                                            ->>> for epoch in range(300):
                                                            ->>>       for input, target in loader:
                                                            ->>>           optimizer.zero_grad()
                                                            ->>>           loss_fn(model(input), target).backward()
                                                            ->>>           optimizer.step()
                                                            ->>>       if i > swa_start:
                                                            ->>>           swa_model.update_parameters(model)
                                                            ->>>           swa_scheduler.step()
                                                            ->>>       else:
                                                            ->>>           scheduler.step()
                                                            ->>>
                                                            ->>> # Update bn statistics for the swa_model at the end
                                                            ->>> torch.optim.swa_utils.update_bn(loader, swa_model)
                                                            ->>> # Use swa_model to make predictions on test data
                                                            ->>> preds = swa_model(test_input)
                                                            -
                                                            -
                                                            -
                                                            @@ -1723,14 +1614,6 @@

                                                            Putting it all together
                                                          • Algorithms
                                                          • How to adjust learning rate
                                                          • -
                                                          • Stochastic Weight Averaging -
                                                          • @@ -1983,4 +1866,4 @@

                                                            Resources

                                                            }) - + \ No newline at end of file diff --git a/docs/stable/quantization.html b/docs/stable/quantization.html index ff717cc61a94..038edb0de7c6 100644 --- a/docs/stable/quantization.html +++ b/docs/stable/quantization.html @@ -957,7 +957,7 @@

                                                            Top-level quantization APIs
                                                            -torch.quantization.prepare(model, inplace=False, white_list={<class 'torch.nn.modules.activation.ReLU6'>, <class 'torch.nn.intrinsic.qat.modules.conv_fused.ConvBn2d'>, <class 'torch.nn.modules.instancenorm.InstanceNorm2d'>, <class 'torch.nn.intrinsic.modules.fused.ConvReLU3d'>, <class 'torch.nn.modules.instancenorm.InstanceNorm3d'>, <class 'torch.nn.modules.conv.Conv3d'>, <class 'torch.nn.intrinsic.qat.modules.conv_fused.ConvReLU2d'>, <class 'torch.nn.modules.normalization.GroupNorm'>, <class 'torch.nn.qat.modules.linear.Linear'>, <class 'torch.nn.modules.batchnorm.BatchNorm3d'>, <class 'torch.nn.intrinsic.modules.fused.BNReLU3d'>, <class 'torch.nn.modules.rnn.RNNCell'>, <class 'torch.nn.modules.activation.ELU'>, <class 'torch.nn.intrinsic.qat.modules.conv_fused.ConvBnReLU2d'>, <class 'torch.nn.intrinsic.modules.fused.ConvBnReLU2d'>, <class 'torch.nn.modules.rnn.LSTM'>, <class 'torch.nn.intrinsic.modules.fused.ConvBn2d'>, <class 'torch.nn.modules.normalization.LayerNorm'>, <class 'torch.nn.modules.conv.Conv1d'>, <class 'torch.nn.modules.rnn.GRUCell'>, <class 'torch.nn.modules.linear.Linear'>, <class 'torch.nn.intrinsic.modules.fused.LinearReLU'>, <class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.conv.Conv2d'>, <class 'torch.nn.intrinsic.modules.fused.ConvReLU1d'>, <class 'torch.nn.intrinsic.modules.fused.ConvReLU2d'>, <class 'torch.nn.intrinsic.qat.modules.linear_relu.LinearReLU'>, <class 'torch.quantization.stubs.QuantStub'>, <class 'torch.nn.modules.batchnorm.BatchNorm2d'>, <class 'torch.nn.intrinsic.modules.fused.BNReLU2d'>, <class 'torch.nn.quantized.modules.functional_modules.FloatFunctional'>, <class 'torch.nn.modules.activation.Hardswish'>, <class 'torch.nn.modules.rnn.LSTMCell'>, <class 'torch.nn.modules.container.Sequential'>, <class 'torch.nn.qat.modules.conv.Conv2d'>, <class 'torch.nn.modules.instancenorm.InstanceNorm1d'>}, observer_non_leaf_module_list=None)[source]
                                                            +torch.quantization.prepare(model, inplace=False, white_list={<class 'torch.nn.intrinsic.qat.modules.conv_fused.ConvReLU2d'>, <class 'torch.nn.intrinsic.modules.fused.BNReLU2d'>, <class 'torch.nn.intrinsic.qat.modules.conv_fused.ConvBnReLU2d'>, <class 'torch.nn.modules.rnn.LSTM'>, <class 'torch.nn.modules.activation.ReLU'>, <class 'torch.nn.modules.conv.Conv2d'>, <class 'torch.nn.modules.instancenorm.InstanceNorm2d'>, <class 'torch.nn.intrinsic.qat.modules.linear_relu.LinearReLU'>, <class 'torch.nn.modules.rnn.LSTMCell'>, <class 'torch.nn.qat.modules.linear.Linear'>, <class 'torch.nn.quantized.modules.functional_modules.FloatFunctional'>, <class 'torch.nn.intrinsic.modules.fused.ConvReLU3d'>, <class 'torch.nn.modules.activation.ELU'>, <class 'torch.nn.modules.batchnorm.BatchNorm3d'>, <class 'torch.nn.modules.container.Sequential'>, <class 'torch.nn.modules.activation.ReLU6'>, <class 'torch.quantization.stubs.QuantStub'>, <class 'torch.nn.modules.linear.Linear'>, <class 'torch.nn.modules.conv.Conv1d'>, <class 'torch.nn.modules.normalization.GroupNorm'>, <class 'torch.nn.modules.activation.Hardswish'>, <class 'torch.nn.modules.instancenorm.InstanceNorm3d'>, <class 'torch.nn.modules.rnn.RNNCell'>, <class 'torch.nn.intrinsic.modules.fused.ConvBnReLU2d'>, <class 'torch.nn.intrinsic.qat.modules.conv_fused.ConvBn2d'>, <class 'torch.nn.intrinsic.modules.fused.ConvBn2d'>, <class 'torch.nn.modules.instancenorm.InstanceNorm1d'>, <class 'torch.nn.intrinsic.modules.fused.BNReLU3d'>, <class 'torch.nn.intrinsic.modules.fused.LinearReLU'>, <class 'torch.nn.modules.conv.Conv3d'>, <class 'torch.nn.qat.modules.conv.Conv2d'>, <class 'torch.nn.modules.normalization.LayerNorm'>, <class 'torch.nn.modules.rnn.GRUCell'>, <class 'torch.nn.intrinsic.modules.fused.ConvReLU1d'>, <class 'torch.nn.intrinsic.modules.fused.ConvReLU2d'>, <class 'torch.nn.modules.batchnorm.BatchNorm2d'>}, observer_non_leaf_module_list=None)[source]

                                                            Prepares a copy of the model for quantization calibration or quantization-aware training.

                                                            Quantization configuration should be assigned preemptively to individual submodules in .qconfig attribute.

                                                            @@ -1274,16 +1274,21 @@

                                                            Observersxminx_\text{min} - and xmaxx_\text{max} +

                                                            Given running min/max as xminx_\text{min} + + and xmaxx_\text{max} + , -scale ss - and zero point zz +scale ss + + and zero point zz + are computed as:

                                                            -

                                                            The running minimum/maximum xmin/maxx_\text{min/max} +

                                                            The running minimum/maximum xmin/maxx_\text{min/max} + is computed as:

                                                            -torch.nn.quantized.functional.linear(input: torch.Tensor, weight: torch.Tensor, bias: Optional[torch.Tensor] = None, scale: Optional[float] = None, zero_point: Optional[int] = None) → torch.Tensor[source]
                                                            +torch.nn.quantized.functional.linear(input, weight, bias=None, scale=None, zero_point=None)[source]

                                                            Applies a linear transformation to the incoming quantized data: -y=xAT+by = xA^T + b +y=xAT+by = xA^T + b + . See Linear

                                                            @@ -1921,14 +1938,18 @@

                                                            torch.nn.quantized
                                                            Shape:
                                                              -
                                                            • Input: (N,,in_features)(N, *, in\_features) +

                                                            • Input: (N,,in_features)(N, *, in\_features) + where * means any number of additional dimensions

                                                            • -
                                                            • Weight: (out_features,in_features)(out\_features, in\_features) +

                                                            • Weight: (out_features,in_features)(out\_features, in\_features) +

                                                            • -
                                                            • Bias: (out_features)(out\_features) +

                                                            • Bias: (out_features)(out\_features) +

                                                            • -
                                                            • Output: (N,,out_features)(N, *, out\_features) +

                                                            • Output: (N,,out_features)(N, *, out\_features) +

                                                            @@ -1944,11 +1965,14 @@

                                                            torch.nn.quantized
                                                            Parameters
                                                              -
                                                            • input – quantized input tensor of shape (minibatch,in_channels,iW)(\text{minibatch} , \text{in\_channels} , iW) +

                                                            • input – quantized input tensor of shape (minibatch,in_channels,iW)(\text{minibatch} , \text{in\_channels} , iW) +

                                                            • -
                                                            • weight – quantized filters of shape (out_channels,in_channelsgroups,iW)(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , iW) +

                                                            • weight – quantized filters of shape (out_channels,in_channelsgroups,iW)(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , iW) +

                                                            • -
                                                            • biasnon-quantized bias tensor of shape (out_channels)(\text{out\_channels}) +

                                                            • biasnon-quantized bias tensor of shape (out_channels)(\text{out\_channels}) + . The tensor type must be torch.float.

                                                            • stride – the stride of the convolving kernel. Can be a single number or a tuple (sW,). Default: 1

                                                            • @@ -1956,7 +1980,8 @@

                                                              torch.nn.quantizedin_channels\text{in\_channels} +
                                                            • groups – split input into groups, in_channels\text{in\_channels} + should be divisible by the number of groups. Default: 1

                                                            • padding_mode – the padding mode to use. Only “zeros” is supported for quantized convolution at the moment. Default: “zeros”

                                                            • @@ -1992,11 +2017,14 @@

                                                              torch.nn.quantized
                                                              Parameters
                                                                -
                                                              • input – quantized input tensor of shape (minibatch,in_channels,iH,iW)(\text{minibatch} , \text{in\_channels} , iH , iW) +

                                                              • input – quantized input tensor of shape (minibatch,in_channels,iH,iW)(\text{minibatch} , \text{in\_channels} , iH , iW) +

                                                              • -
                                                              • weight – quantized filters of shape (out_channels,in_channelsgroups,kH,kW)(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , kH , kW) +

                                                              • weight – quantized filters of shape (out_channels,in_channelsgroups,kH,kW)(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , kH , kW) +

                                                              • -
                                                              • biasnon-quantized bias tensor of shape (out_channels)(\text{out\_channels}) +

                                                              • biasnon-quantized bias tensor of shape (out_channels)(\text{out\_channels}) + . The tensor type must be torch.float.

                                                              • stride – the stride of the convolving kernel. Can be a single number or a tuple (sH, sW). Default: 1

                                                              • @@ -2004,7 +2032,8 @@

                                                                torch.nn.quantizedin_channels\text{in\_channels} +
                                                              • groups – split input into groups, in_channels\text{in\_channels} + should be divisible by the number of groups. Default: 1

                                                              • padding_mode – the padding mode to use. Only “zeros” is supported for quantized convolution at the moment. Default: “zeros”

                                                              • @@ -2041,13 +2070,16 @@

                                                                torch.nn.quantizedParameters
                                                                • input – quantized input tensor of shape -(minibatch,in_channels,iD,iH,iW)(\text{minibatch} , \text{in\_channels} , iD , iH , iW) +(minibatch,in_channels,iD,iH,iW)(\text{minibatch} , \text{in\_channels} , iD , iH , iW) +

                                                                • weight – quantized filters of shape -(out_channels,in_channelsgroups,kD,kH,kW)(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , kD , kH , kW) +(out_channels,in_channelsgroups,kD,kH,kW)(\text{out\_channels} , \frac{\text{in\_channels}}{\text{groups}} , kD , kH , kW) +

                                                                • biasnon-quantized bias tensor of shape -(out_channels)(\text{out\_channels}) +(out_channels)(\text{out\_channels}) + . The tensor type must be torch.float.

                                                                • stride – the stride of the convolving kernel. Can be a single number or a tuple (sD, sH, sW). Default: 1

                                                                • @@ -2055,7 +2087,8 @@

                                                                  torch.nn.quantizedin_channels\text{in\_channels} +
                                                                • groups – split input into groups, in_channels\text{in\_channels} + should be divisible by the number of groups. Default: 1

                                                                • padding_mode – the padding mode to use. Only “zeros” is supported for @@ -2097,7 +2130,7 @@

                                                                  torch.nn.quantized
                                                                  -torch.nn.quantized.functional.adaptive_avg_pool2d(input: Tensor, output_size: BroadcastingList2[int]) → Tensor[source]
                                                                  +torch.nn.quantized.functional.adaptive_avg_pool2d(input, output_size)[source]

                                                                  Applies a 2D adaptive average pooling over a quantized input signal composed of several quantized input planes.

                                                                  @@ -2116,9 +2149,11 @@

                                                                  torch.nn.quantized
                                                                  torch.nn.quantized.functional.avg_pool2d(input, kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None)[source]
                                                                  -

                                                                  Applies 2D average-pooling operation in kH×kWkH \times kW +

                                                                  Applies 2D average-pooling operation in kH×kWkH \times kW + regions by step size -sH×sWsH \times sW +sH×sWsH \times sW + steps. The number of output features is equal to the number of input planes.

                                                                  @@ -2129,7 +2164,8 @@

                                                                  torch.nn.quantized
                                                                  Parameters
                                                                    -
                                                                  • input – quantized input tensor (minibatch,in_channels,iH,iW)(\text{minibatch} , \text{in\_channels} , iH , iW) +

                                                                  • input – quantized input tensor (minibatch,in_channels,iH,iW)(\text{minibatch} , \text{in\_channels} , iH , iW) +

                                                                  • kernel_size – size of the pooling region. Can be a single number or a tuple (kH, kW)

                                                                  • @@ -2197,7 +2233,7 @@

                                                                    torch.nn.quantized
                                                                    -torch.nn.quantized.functional.hardswish(input: torch.Tensor, scale: float, zero_point: int) → torch.Tensor[source]
                                                                    +torch.nn.quantized.functional.hardswish(input, scale, zero_point)[source]

                                                                    This is the quantized version of hardswish().

                                                                    Parameters
                                                                    @@ -2340,8 +2376,10 @@

                                                                    ReLU
                                                                    class torch.nn.quantized.ReLU(inplace=False)[source]

                                                                    Applies quantized rectified linear unit function element-wise:

                                                                    -

                                                                    ReLU(x)=max(x0,x)\text{ReLU}(x)= \max(x_0, x) -, where x0x_0 +

                                                                    ReLU(x)=max(x0,x)\text{ReLU}(x)= \max(x_0, x) + +, where x0x_0 + is the zero point.

                                                                    Please see https://pytorch.org/docs/stable/nn.html#torch.nn.ReLU for more documentation on ReLU.

                                                                    @@ -2352,10 +2390,12 @@

                                                                    ReLU

                                                                    Shape:
                                                                      -
                                                                    • Input: (N,)(N, *) +

                                                                    • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                                                    • -
                                                                    • Output: (N,)(N, *) +

                                                                    • Output: (N,)(N, *) + , same shape as the input

                                                                    @@ -2376,10 +2416,13 @@

                                                                    ReLU6
                                                                    class torch.nn.quantized.ReLU6(inplace=False)[source]

                                                                    Applies the element-wise function:

                                                                    -

                                                                    ReLU6(x)=min(max(x0,x),q(6))\text{ReLU6}(x) = \min(\max(x_0, x), q(6)) -, where x0x_0 +

                                                                    ReLU6(x)=min(max(x0,x),q(6))\text{ReLU6}(x) = \min(\max(x_0, x), q(6)) + +, where x0x_0 + is the -zero_point, and q(6)q(6) +zero_point, and q(6)q(6) + is the quantized representation of number 6.

                                                                    Parameters
                                                                    @@ -2388,10 +2431,12 @@

                                                                    ReLU6

                                                                    Shape:
                                                                      -
                                                                    • Input: (N,)(N, *) +

                                                                    • Input: (N,)(N, *) + where * means, any number of additional dimensions

                                                                    • -
                                                                    • Output: (N,)(N, *) +

                                                                    • Output: (N,)(N, *) + , same shape as the input

                                                                    @@ -2744,9 +2789,11 @@

                                                                    Linear
                                                                    Variables
                                                                    • ~Linear.weight (Tensor) – the non-learnable quantized weights of the module of -shape (out_features,in_features)(\text{out\_features}, \text{in\_features}) +shape (out_features,in_features)(\text{out\_features}, \text{in\_features}) + .

                                                                    • -
                                                                    • ~Linear.bias (Tensor) – the non-learnable bias of the module of shape (out_features)(\text{out\_features}) +

                                                                    • ~Linear.bias (Tensor) – the non-learnable bias of the module of shape (out_features)(\text{out\_features}) + . If bias is True, the values are initialized to zero.

                                                                    • ~Linear.scalescale parameter of output Quantized Tensor, type: double

                                                                    • @@ -2893,10 +2940,12 @@

                                                                      Linear
                                                                      Variables
                                                                      • ~Linear.weight (Tensor) – the non-learnable quantized weights of the module which are of -shape (out_features,in_features)(\text{out\_features}, \text{in\_features}) +shape (out_features,in_features)(\text{out\_features}, \text{in\_features}) + .

                                                                      • ~Linear.bias (Tensor) – the non-learnable floating point bias of the module of shape -(out_features)(\text{out\_features}) +(out_features)(\text{out\_features}) + . If bias is True, the values are initialized to zero.

                                                                      diff --git a/docs/stable/searchindex.js b/docs/stable/searchindex.js index 061f3364c8b6..bae7f18819fd 100644 --- a/docs/stable/searchindex.js +++ b/docs/stable/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["__config__","amp","autograd","bottleneck","checkpoint","community/contribution_guide","community/governance","community/persons_of_interest","complex_numbers","cpp_extension","cpp_index","cuda","cudnn_persistent_rnn","data","distributed","distributions","dlpack","futures","generated/torch.Generator","generated/torch.abs","generated/torch.absolute","generated/torch.acos","generated/torch.acosh","generated/torch.add","generated/torch.addbmm","generated/torch.addcdiv","generated/torch.addcmul","generated/torch.addmm","generated/torch.addmv","generated/torch.addr","generated/torch.allclose","generated/torch.angle","generated/torch.arange","generated/torch.argmax","generated/torch.argmin","generated/torch.argsort","generated/torch.as_strided","generated/torch.as_tensor","generated/torch.asin","generated/torch.asinh","generated/torch.atan","generated/torch.atan2","generated/torch.atanh","generated/torch.baddbmm","generated/torch.bartlett_window","generated/torch.bernoulli","generated/torch.bincount","generated/torch.bitwise_and","generated/torch.bitwise_not","generated/torch.bitwise_or","generated/torch.bitwise_xor","generated/torch.blackman_window","generated/torch.block_diag","generated/torch.bmm","generated/torch.broadcast_tensors","generated/torch.bucketize","generated/torch.can_cast","generated/torch.cartesian_prod","generated/torch.cat","generated/torch.cdist","generated/torch.ceil","generated/torch.chain_matmul","generated/torch.cholesky","generated/torch.cholesky_inverse","generated/torch.cholesky_solve","generated/torch.chunk","generated/torch.clamp","generated/torch.combinations","generated/torch.compiled_with_cxx11_abi","generated/torch.conj","generated/torch.cos","generated/torch.cosh","generated/torch.cross","generated/torch.cummax","generated/torch.cummin","generated/torch.cumprod","generated/torch.cumsum","generated/torch.deg2rad","generated/torch.dequantize","generated/torch.det","generated/torch.diag","generated/torch.diag_embed","generated/torch.diagflat","generated/torch.diagonal","generated/torch.digamma","generated/torch.dist","generated/torch.div","generated/torch.dot","generated/torch.eig","generated/torch.einsum","generated/torch.empty","generated/torch.empty_like","generated/torch.empty_strided","generated/torch.enable_grad","generated/torch.eq","generated/torch.equal","generated/torch.erf","generated/torch.erfc","generated/torch.erfinv","generated/torch.exp","generated/torch.expm1","generated/torch.eye","generated/torch.fft","generated/torch.flatten","generated/torch.flip","generated/torch.fliplr","generated/torch.flipud","generated/torch.floor","generated/torch.floor_divide","generated/torch.fmod","generated/torch.frac","generated/torch.from_numpy","generated/torch.full","generated/torch.full_like","generated/torch.gather","generated/torch.ge","generated/torch.geqrf","generated/torch.ger","generated/torch.get_default_dtype","generated/torch.get_num_interop_threads","generated/torch.get_num_threads","generated/torch.get_rng_state","generated/torch.gt","generated/torch.hamming_window","generated/torch.hann_window","generated/torch.histc","generated/torch.ifft","generated/torch.imag","generated/torch.index_select","generated/torch.initial_seed","generated/torch.inverse","generated/torch.irfft","generated/torch.is_complex","generated/torch.is_floating_point","generated/torch.is_nonzero","generated/torch.is_storage","generated/torch.is_tensor","generated/torch.isclose","generated/torch.isfinite","generated/torch.isinf","generated/torch.isnan","generated/torch.istft","generated/torch.jit.ScriptFunction","generated/torch.jit.ScriptModule","generated/torch.jit.fork","generated/torch.jit.freeze","generated/torch.jit.ignore","generated/torch.jit.load","generated/torch.jit.save","generated/torch.jit.script","generated/torch.jit.trace","generated/torch.jit.trace_module","generated/torch.jit.unused","generated/torch.jit.wait","generated/torch.kthvalue","generated/torch.le","generated/torch.lerp","generated/torch.lgamma","generated/torch.linspace","generated/torch.load","generated/torch.lobpcg","generated/torch.log","generated/torch.log10","generated/torch.log1p","generated/torch.log2","generated/torch.logaddexp","generated/torch.logaddexp2","generated/torch.logcumsumexp","generated/torch.logdet","generated/torch.logical_and","generated/torch.logical_not","generated/torch.logical_or","generated/torch.logical_xor","generated/torch.logspace","generated/torch.logsumexp","generated/torch.lstsq","generated/torch.lt","generated/torch.lu","generated/torch.lu_solve","generated/torch.lu_unpack","generated/torch.manual_seed","generated/torch.masked_select","generated/torch.matmul","generated/torch.matrix_power","generated/torch.matrix_rank","generated/torch.max","generated/torch.mean","generated/torch.median","generated/torch.meshgrid","generated/torch.min","generated/torch.mm","generated/torch.mode","generated/torch.mul","generated/torch.multinomial","generated/torch.mv","generated/torch.mvlgamma","generated/torch.narrow","generated/torch.ne","generated/torch.neg","generated/torch.nn.AdaptiveAvgPool1d","generated/torch.nn.AdaptiveAvgPool2d","generated/torch.nn.AdaptiveAvgPool3d","generated/torch.nn.AdaptiveLogSoftmaxWithLoss","generated/torch.nn.AdaptiveMaxPool1d","generated/torch.nn.AdaptiveMaxPool2d","generated/torch.nn.AdaptiveMaxPool3d","generated/torch.nn.AlphaDropout","generated/torch.nn.AvgPool1d","generated/torch.nn.AvgPool2d","generated/torch.nn.AvgPool3d","generated/torch.nn.BCELoss","generated/torch.nn.BCEWithLogitsLoss","generated/torch.nn.BatchNorm1d","generated/torch.nn.BatchNorm2d","generated/torch.nn.BatchNorm3d","generated/torch.nn.Bilinear","generated/torch.nn.CELU","generated/torch.nn.CTCLoss","generated/torch.nn.ConstantPad1d","generated/torch.nn.ConstantPad2d","generated/torch.nn.ConstantPad3d","generated/torch.nn.Conv1d","generated/torch.nn.Conv2d","generated/torch.nn.Conv3d","generated/torch.nn.ConvTranspose1d","generated/torch.nn.ConvTranspose2d","generated/torch.nn.ConvTranspose3d","generated/torch.nn.CosineEmbeddingLoss","generated/torch.nn.CosineSimilarity","generated/torch.nn.CrossEntropyLoss","generated/torch.nn.DataParallel","generated/torch.nn.Dropout","generated/torch.nn.Dropout2d","generated/torch.nn.Dropout3d","generated/torch.nn.ELU","generated/torch.nn.Embedding","generated/torch.nn.EmbeddingBag","generated/torch.nn.Flatten","generated/torch.nn.Fold","generated/torch.nn.FractionalMaxPool2d","generated/torch.nn.GELU","generated/torch.nn.GRU","generated/torch.nn.GRUCell","generated/torch.nn.GroupNorm","generated/torch.nn.Hardshrink","generated/torch.nn.Hardsigmoid","generated/torch.nn.Hardswish","generated/torch.nn.Hardtanh","generated/torch.nn.HingeEmbeddingLoss","generated/torch.nn.Identity","generated/torch.nn.InstanceNorm1d","generated/torch.nn.InstanceNorm2d","generated/torch.nn.InstanceNorm3d","generated/torch.nn.KLDivLoss","generated/torch.nn.L1Loss","generated/torch.nn.LPPool1d","generated/torch.nn.LPPool2d","generated/torch.nn.LSTM","generated/torch.nn.LSTMCell","generated/torch.nn.LayerNorm","generated/torch.nn.LeakyReLU","generated/torch.nn.Linear","generated/torch.nn.LocalResponseNorm","generated/torch.nn.LogSigmoid","generated/torch.nn.LogSoftmax","generated/torch.nn.MSELoss","generated/torch.nn.MarginRankingLoss","generated/torch.nn.MaxPool1d","generated/torch.nn.MaxPool2d","generated/torch.nn.MaxPool3d","generated/torch.nn.MaxUnpool1d","generated/torch.nn.MaxUnpool2d","generated/torch.nn.MaxUnpool3d","generated/torch.nn.Module","generated/torch.nn.ModuleDict","generated/torch.nn.ModuleList","generated/torch.nn.MultiLabelMarginLoss","generated/torch.nn.MultiLabelSoftMarginLoss","generated/torch.nn.MultiMarginLoss","generated/torch.nn.MultiheadAttention","generated/torch.nn.NLLLoss","generated/torch.nn.PReLU","generated/torch.nn.PairwiseDistance","generated/torch.nn.ParameterDict","generated/torch.nn.ParameterList","generated/torch.nn.PixelShuffle","generated/torch.nn.PoissonNLLLoss","generated/torch.nn.RNN","generated/torch.nn.RNNBase","generated/torch.nn.RNNCell","generated/torch.nn.RReLU","generated/torch.nn.ReLU","generated/torch.nn.ReLU6","generated/torch.nn.ReflectionPad1d","generated/torch.nn.ReflectionPad2d","generated/torch.nn.ReplicationPad1d","generated/torch.nn.ReplicationPad2d","generated/torch.nn.ReplicationPad3d","generated/torch.nn.SELU","generated/torch.nn.Sequential","generated/torch.nn.Sigmoid","generated/torch.nn.SmoothL1Loss","generated/torch.nn.SoftMarginLoss","generated/torch.nn.Softmax","generated/torch.nn.Softmax2d","generated/torch.nn.Softmin","generated/torch.nn.Softplus","generated/torch.nn.Softshrink","generated/torch.nn.Softsign","generated/torch.nn.SyncBatchNorm","generated/torch.nn.Tanh","generated/torch.nn.Tanhshrink","generated/torch.nn.Threshold","generated/torch.nn.Transformer","generated/torch.nn.TransformerDecoder","generated/torch.nn.TransformerDecoderLayer","generated/torch.nn.TransformerEncoder","generated/torch.nn.TransformerEncoderLayer","generated/torch.nn.TripletMarginLoss","generated/torch.nn.Unfold","generated/torch.nn.Upsample","generated/torch.nn.UpsamplingBilinear2d","generated/torch.nn.UpsamplingNearest2d","generated/torch.nn.ZeroPad2d","generated/torch.nn.parallel.DistributedDataParallel","generated/torch.nn.parameter.Parameter","generated/torch.nn.utils.clip_grad_norm_","generated/torch.nn.utils.clip_grad_value_","generated/torch.nn.utils.parameters_to_vector","generated/torch.nn.utils.prune.BasePruningMethod","generated/torch.nn.utils.prune.CustomFromMask","generated/torch.nn.utils.prune.Identity","generated/torch.nn.utils.prune.L1Unstructured","generated/torch.nn.utils.prune.LnStructured","generated/torch.nn.utils.prune.PruningContainer","generated/torch.nn.utils.prune.RandomStructured","generated/torch.nn.utils.prune.RandomUnstructured","generated/torch.nn.utils.prune.custom_from_mask","generated/torch.nn.utils.prune.global_unstructured","generated/torch.nn.utils.prune.identity","generated/torch.nn.utils.prune.is_pruned","generated/torch.nn.utils.prune.l1_unstructured","generated/torch.nn.utils.prune.ln_structured","generated/torch.nn.utils.prune.random_structured","generated/torch.nn.utils.prune.random_unstructured","generated/torch.nn.utils.prune.remove","generated/torch.nn.utils.remove_spectral_norm","generated/torch.nn.utils.remove_weight_norm","generated/torch.nn.utils.rnn.PackedSequence","generated/torch.nn.utils.rnn.pack_padded_sequence","generated/torch.nn.utils.rnn.pack_sequence","generated/torch.nn.utils.rnn.pad_packed_sequence","generated/torch.nn.utils.rnn.pad_sequence","generated/torch.nn.utils.spectral_norm","generated/torch.nn.utils.vector_to_parameters","generated/torch.nn.utils.weight_norm","generated/torch.no_grad","generated/torch.nonzero","generated/torch.norm","generated/torch.normal","generated/torch.numel","generated/torch.ones","generated/torch.ones_like","generated/torch.orgqr","generated/torch.ormqr","generated/torch.pca_lowrank","generated/torch.pinverse","generated/torch.poisson","generated/torch.polygamma","generated/torch.pow","generated/torch.prod","generated/torch.promote_types","generated/torch.qr","generated/torch.quantize_per_channel","generated/torch.quantize_per_tensor","generated/torch.quasirandom.SobolEngine","generated/torch.rad2deg","generated/torch.rand","generated/torch.rand_like","generated/torch.randint","generated/torch.randint_like","generated/torch.randn","generated/torch.randn_like","generated/torch.randperm","generated/torch.range","generated/torch.real","generated/torch.reciprocal","generated/torch.remainder","generated/torch.renorm","generated/torch.repeat_interleave","generated/torch.reshape","generated/torch.result_type","generated/torch.rfft","generated/torch.roll","generated/torch.rot90","generated/torch.round","generated/torch.rsqrt","generated/torch.save","generated/torch.searchsorted","generated/torch.seed","generated/torch.set_default_dtype","generated/torch.set_default_tensor_type","generated/torch.set_flush_denormal","generated/torch.set_grad_enabled","generated/torch.set_num_interop_threads","generated/torch.set_num_threads","generated/torch.set_printoptions","generated/torch.set_rng_state","generated/torch.sigmoid","generated/torch.sign","generated/torch.sin","generated/torch.sinh","generated/torch.slogdet","generated/torch.solve","generated/torch.sort","generated/torch.sparse_coo_tensor","generated/torch.split","generated/torch.sqrt","generated/torch.square","generated/torch.squeeze","generated/torch.stack","generated/torch.std","generated/torch.std_mean","generated/torch.stft","generated/torch.sum","generated/torch.svd","generated/torch.svd_lowrank","generated/torch.symeig","generated/torch.t","generated/torch.take","generated/torch.tan","generated/torch.tanh","generated/torch.tensor","generated/torch.tensordot","generated/torch.topk","generated/torch.trace","generated/torch.transpose","generated/torch.trapz","generated/torch.triangular_solve","generated/torch.tril","generated/torch.tril_indices","generated/torch.triu","generated/torch.triu_indices","generated/torch.true_divide","generated/torch.trunc","generated/torch.unbind","generated/torch.unique","generated/torch.unique_consecutive","generated/torch.unsqueeze","generated/torch.vander","generated/torch.var","generated/torch.var_mean","generated/torch.view_as_complex","generated/torch.view_as_real","generated/torch.where","generated/torch.zeros","generated/torch.zeros_like","hub","index","jit","jit_builtin_functions","jit_language_reference","jit_python_reference","jit_unsupported","mobile_optimizer","model_zoo","multiprocessing","name_inference","named_tensor","nn","nn.functional","nn.init","notes/amp_examples","notes/autograd","notes/broadcasting","notes/cpu_threading_torchscript_inference","notes/cuda","notes/ddp","notes/extending","notes/faq","notes/large_scale_deployments","notes/multiprocessing","notes/randomness","notes/serialization","notes/windows","onnx","optim","packages","quantization","random","rpc","rpc/distributed_autograd","rpc/rref","sparse","storage","tensor_attributes","tensor_view","tensorboard","tensors","torch","torchvision/datasets","torchvision/index","torchvision/io","torchvision/models","torchvision/ops","torchvision/transforms","torchvision/utils","type_info"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.index":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["__config__.rst","amp.rst","autograd.rst","bottleneck.rst","checkpoint.rst","community/contribution_guide.rst","community/governance.rst","community/persons_of_interest.rst","complex_numbers.rst","cpp_extension.rst","cpp_index.rst","cuda.rst","cudnn_persistent_rnn.rst","data.rst","distributed.rst","distributions.rst","dlpack.rst","futures.rst","generated/torch.Generator.rst","generated/torch.abs.rst","generated/torch.absolute.rst","generated/torch.acos.rst","generated/torch.acosh.rst","generated/torch.add.rst","generated/torch.addbmm.rst","generated/torch.addcdiv.rst","generated/torch.addcmul.rst","generated/torch.addmm.rst","generated/torch.addmv.rst","generated/torch.addr.rst","generated/torch.allclose.rst","generated/torch.angle.rst","generated/torch.arange.rst","generated/torch.argmax.rst","generated/torch.argmin.rst","generated/torch.argsort.rst","generated/torch.as_strided.rst","generated/torch.as_tensor.rst","generated/torch.asin.rst","generated/torch.asinh.rst","generated/torch.atan.rst","generated/torch.atan2.rst","generated/torch.atanh.rst","generated/torch.baddbmm.rst","generated/torch.bartlett_window.rst","generated/torch.bernoulli.rst","generated/torch.bincount.rst","generated/torch.bitwise_and.rst","generated/torch.bitwise_not.rst","generated/torch.bitwise_or.rst","generated/torch.bitwise_xor.rst","generated/torch.blackman_window.rst","generated/torch.block_diag.rst","generated/torch.bmm.rst","generated/torch.broadcast_tensors.rst","generated/torch.bucketize.rst","generated/torch.can_cast.rst","generated/torch.cartesian_prod.rst","generated/torch.cat.rst","generated/torch.cdist.rst","generated/torch.ceil.rst","generated/torch.chain_matmul.rst","generated/torch.cholesky.rst","generated/torch.cholesky_inverse.rst","generated/torch.cholesky_solve.rst","generated/torch.chunk.rst","generated/torch.clamp.rst","generated/torch.combinations.rst","generated/torch.compiled_with_cxx11_abi.rst","generated/torch.conj.rst","generated/torch.cos.rst","generated/torch.cosh.rst","generated/torch.cross.rst","generated/torch.cummax.rst","generated/torch.cummin.rst","generated/torch.cumprod.rst","generated/torch.cumsum.rst","generated/torch.deg2rad.rst","generated/torch.dequantize.rst","generated/torch.det.rst","generated/torch.diag.rst","generated/torch.diag_embed.rst","generated/torch.diagflat.rst","generated/torch.diagonal.rst","generated/torch.digamma.rst","generated/torch.dist.rst","generated/torch.div.rst","generated/torch.dot.rst","generated/torch.eig.rst","generated/torch.einsum.rst","generated/torch.empty.rst","generated/torch.empty_like.rst","generated/torch.empty_strided.rst","generated/torch.enable_grad.rst","generated/torch.eq.rst","generated/torch.equal.rst","generated/torch.erf.rst","generated/torch.erfc.rst","generated/torch.erfinv.rst","generated/torch.exp.rst","generated/torch.expm1.rst","generated/torch.eye.rst","generated/torch.fft.rst","generated/torch.flatten.rst","generated/torch.flip.rst","generated/torch.fliplr.rst","generated/torch.flipud.rst","generated/torch.floor.rst","generated/torch.floor_divide.rst","generated/torch.fmod.rst","generated/torch.frac.rst","generated/torch.from_numpy.rst","generated/torch.full.rst","generated/torch.full_like.rst","generated/torch.gather.rst","generated/torch.ge.rst","generated/torch.geqrf.rst","generated/torch.ger.rst","generated/torch.get_default_dtype.rst","generated/torch.get_num_interop_threads.rst","generated/torch.get_num_threads.rst","generated/torch.get_rng_state.rst","generated/torch.gt.rst","generated/torch.hamming_window.rst","generated/torch.hann_window.rst","generated/torch.histc.rst","generated/torch.ifft.rst","generated/torch.imag.rst","generated/torch.index_select.rst","generated/torch.initial_seed.rst","generated/torch.inverse.rst","generated/torch.irfft.rst","generated/torch.is_complex.rst","generated/torch.is_floating_point.rst","generated/torch.is_nonzero.rst","generated/torch.is_storage.rst","generated/torch.is_tensor.rst","generated/torch.isclose.rst","generated/torch.isfinite.rst","generated/torch.isinf.rst","generated/torch.isnan.rst","generated/torch.istft.rst","generated/torch.jit.ScriptFunction.rst","generated/torch.jit.ScriptModule.rst","generated/torch.jit.fork.rst","generated/torch.jit.freeze.rst","generated/torch.jit.ignore.rst","generated/torch.jit.load.rst","generated/torch.jit.save.rst","generated/torch.jit.script.rst","generated/torch.jit.trace.rst","generated/torch.jit.trace_module.rst","generated/torch.jit.unused.rst","generated/torch.jit.wait.rst","generated/torch.kthvalue.rst","generated/torch.le.rst","generated/torch.lerp.rst","generated/torch.lgamma.rst","generated/torch.linspace.rst","generated/torch.load.rst","generated/torch.lobpcg.rst","generated/torch.log.rst","generated/torch.log10.rst","generated/torch.log1p.rst","generated/torch.log2.rst","generated/torch.logaddexp.rst","generated/torch.logaddexp2.rst","generated/torch.logcumsumexp.rst","generated/torch.logdet.rst","generated/torch.logical_and.rst","generated/torch.logical_not.rst","generated/torch.logical_or.rst","generated/torch.logical_xor.rst","generated/torch.logspace.rst","generated/torch.logsumexp.rst","generated/torch.lstsq.rst","generated/torch.lt.rst","generated/torch.lu.rst","generated/torch.lu_solve.rst","generated/torch.lu_unpack.rst","generated/torch.manual_seed.rst","generated/torch.masked_select.rst","generated/torch.matmul.rst","generated/torch.matrix_power.rst","generated/torch.matrix_rank.rst","generated/torch.max.rst","generated/torch.mean.rst","generated/torch.median.rst","generated/torch.meshgrid.rst","generated/torch.min.rst","generated/torch.mm.rst","generated/torch.mode.rst","generated/torch.mul.rst","generated/torch.multinomial.rst","generated/torch.mv.rst","generated/torch.mvlgamma.rst","generated/torch.narrow.rst","generated/torch.ne.rst","generated/torch.neg.rst","generated/torch.nn.AdaptiveAvgPool1d.rst","generated/torch.nn.AdaptiveAvgPool2d.rst","generated/torch.nn.AdaptiveAvgPool3d.rst","generated/torch.nn.AdaptiveLogSoftmaxWithLoss.rst","generated/torch.nn.AdaptiveMaxPool1d.rst","generated/torch.nn.AdaptiveMaxPool2d.rst","generated/torch.nn.AdaptiveMaxPool3d.rst","generated/torch.nn.AlphaDropout.rst","generated/torch.nn.AvgPool1d.rst","generated/torch.nn.AvgPool2d.rst","generated/torch.nn.AvgPool3d.rst","generated/torch.nn.BCELoss.rst","generated/torch.nn.BCEWithLogitsLoss.rst","generated/torch.nn.BatchNorm1d.rst","generated/torch.nn.BatchNorm2d.rst","generated/torch.nn.BatchNorm3d.rst","generated/torch.nn.Bilinear.rst","generated/torch.nn.CELU.rst","generated/torch.nn.CTCLoss.rst","generated/torch.nn.ConstantPad1d.rst","generated/torch.nn.ConstantPad2d.rst","generated/torch.nn.ConstantPad3d.rst","generated/torch.nn.Conv1d.rst","generated/torch.nn.Conv2d.rst","generated/torch.nn.Conv3d.rst","generated/torch.nn.ConvTranspose1d.rst","generated/torch.nn.ConvTranspose2d.rst","generated/torch.nn.ConvTranspose3d.rst","generated/torch.nn.CosineEmbeddingLoss.rst","generated/torch.nn.CosineSimilarity.rst","generated/torch.nn.CrossEntropyLoss.rst","generated/torch.nn.DataParallel.rst","generated/torch.nn.Dropout.rst","generated/torch.nn.Dropout2d.rst","generated/torch.nn.Dropout3d.rst","generated/torch.nn.ELU.rst","generated/torch.nn.Embedding.rst","generated/torch.nn.EmbeddingBag.rst","generated/torch.nn.Flatten.rst","generated/torch.nn.Fold.rst","generated/torch.nn.FractionalMaxPool2d.rst","generated/torch.nn.GELU.rst","generated/torch.nn.GRU.rst","generated/torch.nn.GRUCell.rst","generated/torch.nn.GroupNorm.rst","generated/torch.nn.Hardshrink.rst","generated/torch.nn.Hardsigmoid.rst","generated/torch.nn.Hardswish.rst","generated/torch.nn.Hardtanh.rst","generated/torch.nn.HingeEmbeddingLoss.rst","generated/torch.nn.Identity.rst","generated/torch.nn.InstanceNorm1d.rst","generated/torch.nn.InstanceNorm2d.rst","generated/torch.nn.InstanceNorm3d.rst","generated/torch.nn.KLDivLoss.rst","generated/torch.nn.L1Loss.rst","generated/torch.nn.LPPool1d.rst","generated/torch.nn.LPPool2d.rst","generated/torch.nn.LSTM.rst","generated/torch.nn.LSTMCell.rst","generated/torch.nn.LayerNorm.rst","generated/torch.nn.LeakyReLU.rst","generated/torch.nn.Linear.rst","generated/torch.nn.LocalResponseNorm.rst","generated/torch.nn.LogSigmoid.rst","generated/torch.nn.LogSoftmax.rst","generated/torch.nn.MSELoss.rst","generated/torch.nn.MarginRankingLoss.rst","generated/torch.nn.MaxPool1d.rst","generated/torch.nn.MaxPool2d.rst","generated/torch.nn.MaxPool3d.rst","generated/torch.nn.MaxUnpool1d.rst","generated/torch.nn.MaxUnpool2d.rst","generated/torch.nn.MaxUnpool3d.rst","generated/torch.nn.Module.rst","generated/torch.nn.ModuleDict.rst","generated/torch.nn.ModuleList.rst","generated/torch.nn.MultiLabelMarginLoss.rst","generated/torch.nn.MultiLabelSoftMarginLoss.rst","generated/torch.nn.MultiMarginLoss.rst","generated/torch.nn.MultiheadAttention.rst","generated/torch.nn.NLLLoss.rst","generated/torch.nn.PReLU.rst","generated/torch.nn.PairwiseDistance.rst","generated/torch.nn.ParameterDict.rst","generated/torch.nn.ParameterList.rst","generated/torch.nn.PixelShuffle.rst","generated/torch.nn.PoissonNLLLoss.rst","generated/torch.nn.RNN.rst","generated/torch.nn.RNNBase.rst","generated/torch.nn.RNNCell.rst","generated/torch.nn.RReLU.rst","generated/torch.nn.ReLU.rst","generated/torch.nn.ReLU6.rst","generated/torch.nn.ReflectionPad1d.rst","generated/torch.nn.ReflectionPad2d.rst","generated/torch.nn.ReplicationPad1d.rst","generated/torch.nn.ReplicationPad2d.rst","generated/torch.nn.ReplicationPad3d.rst","generated/torch.nn.SELU.rst","generated/torch.nn.Sequential.rst","generated/torch.nn.Sigmoid.rst","generated/torch.nn.SmoothL1Loss.rst","generated/torch.nn.SoftMarginLoss.rst","generated/torch.nn.Softmax.rst","generated/torch.nn.Softmax2d.rst","generated/torch.nn.Softmin.rst","generated/torch.nn.Softplus.rst","generated/torch.nn.Softshrink.rst","generated/torch.nn.Softsign.rst","generated/torch.nn.SyncBatchNorm.rst","generated/torch.nn.Tanh.rst","generated/torch.nn.Tanhshrink.rst","generated/torch.nn.Threshold.rst","generated/torch.nn.Transformer.rst","generated/torch.nn.TransformerDecoder.rst","generated/torch.nn.TransformerDecoderLayer.rst","generated/torch.nn.TransformerEncoder.rst","generated/torch.nn.TransformerEncoderLayer.rst","generated/torch.nn.TripletMarginLoss.rst","generated/torch.nn.Unfold.rst","generated/torch.nn.Upsample.rst","generated/torch.nn.UpsamplingBilinear2d.rst","generated/torch.nn.UpsamplingNearest2d.rst","generated/torch.nn.ZeroPad2d.rst","generated/torch.nn.parallel.DistributedDataParallel.rst","generated/torch.nn.parameter.Parameter.rst","generated/torch.nn.utils.clip_grad_norm_.rst","generated/torch.nn.utils.clip_grad_value_.rst","generated/torch.nn.utils.parameters_to_vector.rst","generated/torch.nn.utils.prune.BasePruningMethod.rst","generated/torch.nn.utils.prune.CustomFromMask.rst","generated/torch.nn.utils.prune.Identity.rst","generated/torch.nn.utils.prune.L1Unstructured.rst","generated/torch.nn.utils.prune.LnStructured.rst","generated/torch.nn.utils.prune.PruningContainer.rst","generated/torch.nn.utils.prune.RandomStructured.rst","generated/torch.nn.utils.prune.RandomUnstructured.rst","generated/torch.nn.utils.prune.custom_from_mask.rst","generated/torch.nn.utils.prune.global_unstructured.rst","generated/torch.nn.utils.prune.identity.rst","generated/torch.nn.utils.prune.is_pruned.rst","generated/torch.nn.utils.prune.l1_unstructured.rst","generated/torch.nn.utils.prune.ln_structured.rst","generated/torch.nn.utils.prune.random_structured.rst","generated/torch.nn.utils.prune.random_unstructured.rst","generated/torch.nn.utils.prune.remove.rst","generated/torch.nn.utils.remove_spectral_norm.rst","generated/torch.nn.utils.remove_weight_norm.rst","generated/torch.nn.utils.rnn.PackedSequence.rst","generated/torch.nn.utils.rnn.pack_padded_sequence.rst","generated/torch.nn.utils.rnn.pack_sequence.rst","generated/torch.nn.utils.rnn.pad_packed_sequence.rst","generated/torch.nn.utils.rnn.pad_sequence.rst","generated/torch.nn.utils.spectral_norm.rst","generated/torch.nn.utils.vector_to_parameters.rst","generated/torch.nn.utils.weight_norm.rst","generated/torch.no_grad.rst","generated/torch.nonzero.rst","generated/torch.norm.rst","generated/torch.normal.rst","generated/torch.numel.rst","generated/torch.ones.rst","generated/torch.ones_like.rst","generated/torch.orgqr.rst","generated/torch.ormqr.rst","generated/torch.pca_lowrank.rst","generated/torch.pinverse.rst","generated/torch.poisson.rst","generated/torch.polygamma.rst","generated/torch.pow.rst","generated/torch.prod.rst","generated/torch.promote_types.rst","generated/torch.qr.rst","generated/torch.quantize_per_channel.rst","generated/torch.quantize_per_tensor.rst","generated/torch.quasirandom.SobolEngine.rst","generated/torch.rad2deg.rst","generated/torch.rand.rst","generated/torch.rand_like.rst","generated/torch.randint.rst","generated/torch.randint_like.rst","generated/torch.randn.rst","generated/torch.randn_like.rst","generated/torch.randperm.rst","generated/torch.range.rst","generated/torch.real.rst","generated/torch.reciprocal.rst","generated/torch.remainder.rst","generated/torch.renorm.rst","generated/torch.repeat_interleave.rst","generated/torch.reshape.rst","generated/torch.result_type.rst","generated/torch.rfft.rst","generated/torch.roll.rst","generated/torch.rot90.rst","generated/torch.round.rst","generated/torch.rsqrt.rst","generated/torch.save.rst","generated/torch.searchsorted.rst","generated/torch.seed.rst","generated/torch.set_default_dtype.rst","generated/torch.set_default_tensor_type.rst","generated/torch.set_flush_denormal.rst","generated/torch.set_grad_enabled.rst","generated/torch.set_num_interop_threads.rst","generated/torch.set_num_threads.rst","generated/torch.set_printoptions.rst","generated/torch.set_rng_state.rst","generated/torch.sigmoid.rst","generated/torch.sign.rst","generated/torch.sin.rst","generated/torch.sinh.rst","generated/torch.slogdet.rst","generated/torch.solve.rst","generated/torch.sort.rst","generated/torch.sparse_coo_tensor.rst","generated/torch.split.rst","generated/torch.sqrt.rst","generated/torch.square.rst","generated/torch.squeeze.rst","generated/torch.stack.rst","generated/torch.std.rst","generated/torch.std_mean.rst","generated/torch.stft.rst","generated/torch.sum.rst","generated/torch.svd.rst","generated/torch.svd_lowrank.rst","generated/torch.symeig.rst","generated/torch.t.rst","generated/torch.take.rst","generated/torch.tan.rst","generated/torch.tanh.rst","generated/torch.tensor.rst","generated/torch.tensordot.rst","generated/torch.topk.rst","generated/torch.trace.rst","generated/torch.transpose.rst","generated/torch.trapz.rst","generated/torch.triangular_solve.rst","generated/torch.tril.rst","generated/torch.tril_indices.rst","generated/torch.triu.rst","generated/torch.triu_indices.rst","generated/torch.true_divide.rst","generated/torch.trunc.rst","generated/torch.unbind.rst","generated/torch.unique.rst","generated/torch.unique_consecutive.rst","generated/torch.unsqueeze.rst","generated/torch.vander.rst","generated/torch.var.rst","generated/torch.var_mean.rst","generated/torch.view_as_complex.rst","generated/torch.view_as_real.rst","generated/torch.where.rst","generated/torch.zeros.rst","generated/torch.zeros_like.rst","hub.rst","index.rst","jit.rst","jit_builtin_functions.rst","jit_language_reference.rst","jit_python_reference.rst","jit_unsupported.rst","mobile_optimizer.rst","model_zoo.rst","multiprocessing.rst","name_inference.rst","named_tensor.rst","nn.rst","nn.functional.rst","nn.init.rst","notes/amp_examples.rst","notes/autograd.rst","notes/broadcasting.rst","notes/cpu_threading_torchscript_inference.rst","notes/cuda.rst","notes/ddp.rst","notes/extending.rst","notes/faq.rst","notes/large_scale_deployments.rst","notes/multiprocessing.rst","notes/randomness.rst","notes/serialization.rst","notes/windows.rst","onnx.rst","optim.rst","packages.rst","quantization.rst","random.rst","rpc.rst","rpc/distributed_autograd.rst","rpc/rref.rst","sparse.rst","storage.rst","tensor_attributes.rst","tensor_view.rst","tensorboard.rst","tensors.rst","torch.rst","torchvision/datasets.rst","torchvision/index.rst","torchvision/io.rst","torchvision/models.rst","torchvision/ops.rst","torchvision/transforms.rst","torchvision/utils.rst","type_info.rst"],objects:{"":{PYTORCH_JIT:[459,5,1,"-"],torchvision:[501,3,0,"-"]},"torch.BoolTensor":{all:[498,1,1,""],any:[498,1,1,""]},"torch.FloatStorage":{"byte":[494,1,1,""],"char":[494,1,1,""],"double":[494,1,1,""],"float":[494,1,1,""],"int":[494,1,1,""],"long":[494,1,1,""],"new":[494,1,1,""],"short":[494,1,1,""],bfloat16:[494,1,1,""],bool:[494,1,1,""],clone:[494,1,1,""],complex_double:[494,1,1,""],complex_float:[494,1,1,""],copy_:[494,1,1,""],cpu:[494,1,1,""],cuda:[494,1,1,""],data_ptr:[494,1,1,""],device:[494,2,1,""],dtype:[494,2,1,""],element_size:[494,1,1,""],fill_:[494,1,1,""],from_buffer:[494,1,1,""],from_file:[494,1,1,""],half:[494,1,1,""],is_cuda:[494,2,1,""],is_pinned:[494,1,1,""],is_shared:[494,1,1,""],is_sparse:[494,2,1,""],pin_memory:[494,1,1,""],resize_:[494,1,1,""],share_memory_:[494,1,1,""],size:[494,1,1,""],tolist:[494,1,1,""],type:[494,1,1,""]},"torch.Generator":{device:[18,2,1,""],get_state:[18,1,1,""],initial_seed:[18,1,1,""],manual_seed:[18,1,1,""],seed:[18,1,1,""],set_state:[18,1,1,""]},"torch.Tensor":{"byte":[498,1,1,""],"char":[498,1,1,""],"double":[498,1,1,""],"float":[498,1,1,""],"int":[498,1,1,""],"long":[498,1,1,""],"short":[498,1,1,""],"var":[498,1,1,""],T:[498,2,1,""],abs:[498,1,1,""],abs_:[498,1,1,""],absolute:[498,1,1,""],absolute_:[498,1,1,""],acos:[498,1,1,""],acos_:[498,1,1,""],acosh:[498,1,1,""],acosh_:[498,1,1,""],add:[498,1,1,""],add_:[498,1,1,""],addbmm:[498,1,1,""],addbmm_:[498,1,1,""],addcdiv:[498,1,1,""],addcdiv_:[498,1,1,""],addcmul:[498,1,1,""],addcmul_:[498,1,1,""],addmm:[498,1,1,""],addmm_:[498,1,1,""],addmv:[498,1,1,""],addmv_:[498,1,1,""],addr:[498,1,1,""],addr_:[498,1,1,""],align_as:[468,1,1,""],align_to:[468,1,1,""],allclose:[498,1,1,""],angle:[498,1,1,""],apply_:[498,1,1,""],argmax:[498,1,1,""],argmin:[498,1,1,""],argsort:[498,1,1,""],as_strided:[498,1,1,""],as_subclass:[498,1,1,""],asin:[498,1,1,""],asin_:[498,1,1,""],asinh:[498,1,1,""],asinh_:[498,1,1,""],atan2:[498,1,1,""],atan2_:[498,1,1,""],atan:[498,1,1,""],atan_:[498,1,1,""],atanh:[498,1,1,""],atanh_:[498,1,1,""],backward:[2,1,1,""],baddbmm:[498,1,1,""],baddbmm_:[498,1,1,""],bernoulli:[498,1,1,""],bernoulli_:[498,1,1,""],bfloat16:[498,1,1,""],bincount:[498,1,1,""],bitwise_and:[498,1,1,""],bitwise_and_:[498,1,1,""],bitwise_not:[498,1,1,""],bitwise_not_:[498,1,1,""],bitwise_or:[498,1,1,""],bitwise_or_:[498,1,1,""],bitwise_xor:[498,1,1,""],bitwise_xor_:[498,1,1,""],bmm:[498,1,1,""],bool:[498,1,1,""],cauchy_:[498,1,1,""],ceil:[498,1,1,""],ceil_:[498,1,1,""],cholesky:[498,1,1,""],cholesky_inverse:[498,1,1,""],cholesky_solve:[498,1,1,""],chunk:[498,1,1,""],clamp:[498,1,1,""],clamp_:[498,1,1,""],clone:[498,1,1,""],conj:[498,1,1,""],contiguous:[498,1,1,""],copy_:[498,1,1,""],cos:[498,1,1,""],cos_:[498,1,1,""],cosh:[498,1,1,""],cosh_:[498,1,1,""],cpu:[498,1,1,""],cross:[498,1,1,""],cuda:[498,1,1,""],cummax:[498,1,1,""],cummin:[498,1,1,""],cumprod:[498,1,1,""],cumsum:[498,1,1,""],data_ptr:[498,1,1,""],deg2rad:[498,1,1,""],dense_dim:[498,1,1,""],dequantize:[498,1,1,""],det:[498,1,1,""],detach:[2,1,1,""],detach_:[2,1,1,""],device:[498,2,1,""],diag:[498,1,1,""],diag_embed:[498,1,1,""],diagflat:[498,1,1,""],diagonal:[498,1,1,""],digamma:[498,1,1,""],digamma_:[498,1,1,""],dim:[498,1,1,""],dist:[498,1,1,""],div:[498,1,1,""],div_:[498,1,1,""],dot:[498,1,1,""],eig:[498,1,1,""],element_size:[498,1,1,""],eq:[498,1,1,""],eq_:[498,1,1,""],equal:[498,1,1,""],erf:[498,1,1,""],erf_:[498,1,1,""],erfc:[498,1,1,""],erfc_:[498,1,1,""],erfinv:[498,1,1,""],erfinv_:[498,1,1,""],exp:[498,1,1,""],exp_:[498,1,1,""],expand:[498,1,1,""],expand_as:[498,1,1,""],expm1:[498,1,1,""],expm1_:[498,1,1,""],exponential_:[498,1,1,""],fft:[498,1,1,""],fill_:[498,1,1,""],fill_diagonal_:[498,1,1,""],flatten:[498,1,1,""],flip:[498,1,1,""],fliplr:[498,1,1,""],flipud:[498,1,1,""],floor:[498,1,1,""],floor_:[498,1,1,""],floor_divide:[498,1,1,""],floor_divide_:[498,1,1,""],fmod:[498,1,1,""],fmod_:[498,1,1,""],frac:[498,1,1,""],frac_:[498,1,1,""],gather:[498,1,1,""],ge:[498,1,1,""],ge_:[498,1,1,""],geometric_:[498,1,1,""],geqrf:[498,1,1,""],ger:[498,1,1,""],get_device:[498,1,1,""],grad:[2,2,1,""],gt:[498,1,1,""],gt_:[498,1,1,""],half:[498,1,1,""],hardshrink:[498,1,1,""],histc:[498,1,1,""],ifft:[498,1,1,""],imag:[498,2,1,""],index_add:[498,1,1,""],index_add_:[498,1,1,""],index_copy:[498,1,1,""],index_copy_:[498,1,1,""],index_fill:[498,1,1,""],index_fill_:[498,1,1,""],index_put:[498,1,1,""],index_put_:[498,1,1,""],index_select:[498,1,1,""],indices:[498,1,1,""],int_repr:[498,1,1,""],inverse:[498,1,1,""],irfft:[498,1,1,""],is_complex:[498,1,1,""],is_contiguous:[498,1,1,""],is_cuda:[498,2,1,""],is_floating_point:[498,1,1,""],is_leaf:[2,2,1,""],is_meta:[498,2,1,""],is_pinned:[498,1,1,""],is_quantized:[498,2,1,""],is_set_to:[498,1,1,""],is_shared:[498,1,1,""],is_signed:[498,1,1,""],is_sparse:[498,2,1,""],isclose:[498,1,1,""],isfinite:[498,1,1,""],isinf:[498,1,1,""],isnan:[498,1,1,""],istft:[498,1,1,""],item:[498,1,1,""],kthvalue:[498,1,1,""],le:[498,1,1,""],le_:[498,1,1,""],lerp:[498,1,1,""],lerp_:[498,1,1,""],lgamma:[498,1,1,""],lgamma_:[498,1,1,""],log10:[498,1,1,""],log10_:[498,1,1,""],log1p:[498,1,1,""],log1p_:[498,1,1,""],log2:[498,1,1,""],log2_:[498,1,1,""],log:[498,1,1,""],log_:[498,1,1,""],log_normal_:[498,1,1,""],logaddexp2:[498,1,1,""],logaddexp:[498,1,1,""],logcumsumexp:[498,1,1,""],logdet:[498,1,1,""],logical_and:[498,1,1,""],logical_and_:[498,1,1,""],logical_not:[498,1,1,""],logical_not_:[498,1,1,""],logical_or:[498,1,1,""],logical_or_:[498,1,1,""],logical_xor:[498,1,1,""],logical_xor_:[498,1,1,""],logsumexp:[498,1,1,""],lstsq:[498,1,1,""],lt:[498,1,1,""],lt_:[498,1,1,""],lu:[498,1,1,""],lu_solve:[498,1,1,""],map_:[498,1,1,""],masked_fill:[498,1,1,""],masked_fill_:[498,1,1,""],masked_scatter:[498,1,1,""],masked_scatter_:[498,1,1,""],masked_select:[498,1,1,""],matmul:[498,1,1,""],matrix_power:[498,1,1,""],max:[498,1,1,""],mean:[498,1,1,""],median:[498,1,1,""],min:[498,1,1,""],mm:[498,1,1,""],mode:[498,1,1,""],mul:[498,1,1,""],mul_:[498,1,1,""],multinomial:[498,1,1,""],mv:[498,1,1,""],mvlgamma:[498,1,1,""],mvlgamma_:[498,1,1,""],names:[468,2,1,""],narrow:[498,1,1,""],narrow_copy:[498,1,1,""],ndim:[498,2,1,""],ndimension:[498,1,1,""],ne:[498,1,1,""],ne_:[498,1,1,""],neg:[498,1,1,""],neg_:[498,1,1,""],nelement:[498,1,1,""],new_empty:[498,1,1,""],new_full:[498,1,1,""],new_ones:[498,1,1,""],new_tensor:[498,1,1,""],new_zeros:[498,1,1,""],nonzero:[498,1,1,""],norm:[498,1,1,""],normal_:[498,1,1,""],numel:[498,1,1,""],numpy:[498,1,1,""],orgqr:[498,1,1,""],ormqr:[498,1,1,""],permute:[498,1,1,""],pin_memory:[498,1,1,""],pinverse:[498,1,1,""],polygamma:[498,1,1,""],polygamma_:[498,1,1,""],pow:[498,1,1,""],pow_:[498,1,1,""],prod:[498,1,1,""],put_:[498,1,1,""],q_per_channel_axis:[498,1,1,""],q_per_channel_scales:[498,1,1,""],q_per_channel_zero_points:[498,1,1,""],q_scale:[498,1,1,""],q_zero_point:[498,1,1,""],qr:[498,1,1,""],qscheme:[498,1,1,""],rad2deg:[498,1,1,""],random_:[498,1,1,""],real:[498,2,1,""],reciprocal:[498,1,1,""],reciprocal_:[498,1,1,""],record_stream:[498,1,1,""],refine_names:[468,1,1,""],register_hook:[2,1,1,""],remainder:[498,1,1,""],remainder_:[498,1,1,""],rename:[468,1,1,""],rename_:[468,1,1,""],renorm:[498,1,1,""],renorm_:[498,1,1,""],repeat:[498,1,1,""],repeat_interleave:[498,1,1,""],requires_grad:[2,2,1,""],requires_grad_:[498,1,1,""],reshape:[498,1,1,""],reshape_as:[498,1,1,""],resize_:[498,1,1,""],resize_as_:[498,1,1,""],retain_grad:[2,1,1,""],rfft:[498,1,1,""],roll:[498,1,1,""],rot90:[498,1,1,""],round:[498,1,1,""],round_:[498,1,1,""],rsqrt:[498,1,1,""],rsqrt_:[498,1,1,""],scatter:[498,1,1,""],scatter_:[498,1,1,""],scatter_add:[498,1,1,""],scatter_add_:[498,1,1,""],select:[498,1,1,""],set_:[498,1,1,""],share_memory_:[498,1,1,""],sigmoid:[498,1,1,""],sigmoid_:[498,1,1,""],sign:[498,1,1,""],sign_:[498,1,1,""],sin:[498,1,1,""],sin_:[498,1,1,""],sinh:[498,1,1,""],sinh_:[498,1,1,""],size:[498,1,1,""],slogdet:[498,1,1,""],solve:[498,1,1,""],sort:[498,1,1,""],sparse_dim:[498,1,1,""],sparse_mask:[498,1,1,""],split:[498,1,1,""],sqrt:[498,1,1,""],sqrt_:[498,1,1,""],square:[498,1,1,""],square_:[498,1,1,""],squeeze:[498,1,1,""],squeeze_:[498,1,1,""],std:[498,1,1,""],stft:[498,1,1,""],storage:[498,1,1,""],storage_offset:[498,1,1,""],storage_type:[498,1,1,""],stride:[498,1,1,""],sub:[498,1,1,""],sub_:[498,1,1,""],sum:[498,1,1,""],sum_to_size:[498,1,1,""],svd:[498,1,1,""],symeig:[498,1,1,""],t:[498,1,1,""],t_:[498,1,1,""],take:[498,1,1,""],tan:[498,1,1,""],tan_:[498,1,1,""],tanh:[498,1,1,""],tanh_:[498,1,1,""],to:[498,1,1,""],to_mkldnn:[498,1,1,""],to_sparse:[498,1,1,""],tolist:[498,1,1,""],topk:[498,1,1,""],trace:[498,1,1,""],transpose:[498,1,1,""],transpose_:[498,1,1,""],triangular_solve:[498,1,1,""],tril:[498,1,1,""],tril_:[498,1,1,""],triu:[498,1,1,""],triu_:[498,1,1,""],true_divide:[498,1,1,""],true_divide_:[498,1,1,""],trunc:[498,1,1,""],trunc_:[498,1,1,""],type:[498,1,1,""],type_as:[498,1,1,""],unbind:[498,1,1,""],unflatten:[468,1,1,""],unfold:[498,1,1,""],uniform_:[498,1,1,""],unique:[498,1,1,""],unique_consecutive:[498,1,1,""],unsqueeze:[498,1,1,""],unsqueeze_:[498,1,1,""],values:[498,1,1,""],view:[498,1,1,""],view_as:[498,1,1,""],where:[498,1,1,""],zero_:[498,1,1,""]},"torch.__config__":{parallel_info:[0,4,1,""],show:[0,4,1,""]},"torch.autograd":{Function:[2,0,1,""],backward:[2,4,1,""],detect_anomaly:[2,0,1,""],enable_grad:[2,0,1,""],grad:[2,4,1,""],gradcheck:[2,4,1,""],gradgradcheck:[2,4,1,""],no_grad:[2,0,1,""],set_detect_anomaly:[2,0,1,""],set_grad_enabled:[2,0,1,""]},"torch.autograd.Function":{backward:[2,1,1,""],forward:[2,1,1,""]},"torch.autograd.function":{_ContextMethodMixin:[2,0,1,""]},"torch.autograd.function._ContextMethodMixin":{mark_dirty:[2,1,1,""],mark_non_differentiable:[2,1,1,""],save_for_backward:[2,1,1,""]},"torch.autograd.functional":{hessian:[2,4,1,""],hvp:[2,4,1,""],jacobian:[2,4,1,""],jvp:[2,4,1,""],vhp:[2,4,1,""],vjp:[2,4,1,""]},"torch.autograd.profiler":{emit_nvtx:[2,0,1,""],load_nvprof:[2,4,1,""],profile:[2,0,1,""]},"torch.autograd.profiler.profile":{export_chrome_trace:[2,1,1,""],key_averages:[2,1,1,""],self_cpu_time_total:[2,1,1,""],table:[2,1,1,""],total_average:[2,1,1,""]},"torch.cuda":{Event:[11,0,1,""],Stream:[11,0,1,""],amp:[1,3,0,"-"],current_blas_handle:[11,4,1,""],current_device:[11,4,1,""],current_stream:[11,4,1,""],default_stream:[11,4,1,""],device:[11,0,1,""],device_count:[11,4,1,""],device_of:[11,0,1,""],empty_cache:[11,4,1,""],get_arch_list:[11,4,1,""],get_device_capability:[11,4,1,""],get_device_name:[11,4,1,""],get_gencode_flags:[11,4,1,""],get_rng_state:[11,4,1,""],get_rng_state_all:[11,4,1,""],init:[11,4,1,""],initial_seed:[11,4,1,""],ipc_collect:[11,4,1,""],is_available:[11,4,1,""],is_initialized:[11,4,1,""],manual_seed:[11,4,1,""],manual_seed_all:[11,4,1,""],max_memory_allocated:[11,4,1,""],max_memory_cached:[11,4,1,""],max_memory_reserved:[11,4,1,""],memory_allocated:[11,4,1,""],memory_cached:[11,4,1,""],memory_reserved:[11,4,1,""],memory_snapshot:[11,4,1,""],memory_stats:[11,4,1,""],memory_summary:[11,4,1,""],reset_max_memory_allocated:[11,4,1,""],reset_max_memory_cached:[11,4,1,""],seed:[11,4,1,""],seed_all:[11,4,1,""],set_device:[11,4,1,""],set_rng_state:[11,4,1,""],set_rng_state_all:[11,4,1,""],stream:[11,4,1,""],synchronize:[11,4,1,""]},"torch.cuda.Event":{elapsed_time:[11,1,1,""],from_ipc_handle:[11,1,1,""],ipc_handle:[11,1,1,""],query:[11,1,1,""],record:[11,1,1,""],synchronize:[11,1,1,""],wait:[11,1,1,""]},"torch.cuda.Stream":{query:[11,1,1,""],record_event:[11,1,1,""],synchronize:[11,1,1,""],wait_event:[11,1,1,""],wait_stream:[11,1,1,""]},"torch.cuda.amp":{GradScaler:[1,0,1,""],autocast:[1,0,1,""],custom_bwd:[1,4,1,""],custom_fwd:[1,4,1,""]},"torch.cuda.amp.GradScaler":{get_backoff_factor:[1,1,1,""],get_growth_factor:[1,1,1,""],get_growth_interval:[1,1,1,""],get_scale:[1,1,1,""],is_enabled:[1,1,1,""],load_state_dict:[1,1,1,""],scale:[1,1,1,""],set_backoff_factor:[1,1,1,""],set_growth_factor:[1,1,1,""],set_growth_interval:[1,1,1,""],state_dict:[1,1,1,""],step:[1,1,1,""],unscale_:[1,1,1,""],update:[1,1,1,""]},"torch.cuda.comm":{broadcast:[11,4,1,""],broadcast_coalesced:[11,4,1,""],gather:[11,4,1,""],reduce_add:[11,4,1,""],scatter:[11,4,1,""]},"torch.cuda.nvtx":{mark:[11,4,1,""],range_pop:[11,4,1,""],range_push:[11,4,1,""]},"torch.distributed":{Backend:[14,0,1,""],ReduceOp:[14,0,1,""],all_gather:[14,4,1,""],all_gather_multigpu:[14,4,1,""],all_reduce:[14,4,1,""],all_reduce_multigpu:[14,4,1,""],all_to_all:[14,4,1,""],autograd:[490,3,0,"-"],barrier:[14,4,1,""],broadcast:[14,4,1,""],broadcast_multigpu:[14,4,1,""],gather:[14,4,1,""],get_backend:[14,4,1,""],get_rank:[14,4,1,""],get_world_size:[14,4,1,""],init_process_group:[14,4,1,""],irecv:[14,4,1,""],is_available:[14,4,1,""],is_initialized:[14,4,1,""],is_mpi_available:[14,4,1,""],is_nccl_available:[14,4,1,""],isend:[14,4,1,""],launch:[14,3,0,"-"],new_group:[14,4,1,""],optim:[490,3,0,"-"],recv:[14,4,1,""],reduce:[14,4,1,""],reduce_multigpu:[14,4,1,""],reduce_op:[14,0,1,""],reduce_scatter:[14,4,1,""],reduce_scatter_multigpu:[14,4,1,""],rpc:[490,3,0,"-"],scatter:[14,4,1,""],send:[14,4,1,""]},"torch.distributed.autograd":{backward:[490,4,1,""],context:[490,0,1,""],get_gradients:[490,4,1,""]},"torch.distributed.optim":{DistributedOptimizer:[490,0,1,""]},"torch.distributed.optim.DistributedOptimizer":{step:[490,1,1,""]},"torch.distributed.rpc":{BackendType:[490,0,1,""],ProcessGroupRpcBackendOptions:[490,0,1,""],RRef:[490,0,1,""],RpcBackendOptions:[490,0,1,""],TensorPipeRpcBackendOptions:[490,0,1,""],WorkerInfo:[490,0,1,""],get_worker_info:[490,4,1,""],init_rpc:[490,4,1,""],remote:[490,4,1,""],rpc_async:[490,4,1,""],rpc_sync:[490,4,1,""],shutdown:[490,4,1,""]},"torch.distributed.rpc.ProcessGroupRpcBackendOptions":{init_method:[490,1,1,""],num_send_recv_threads:[490,1,1,""],rpc_timeout:[490,1,1,""]},"torch.distributed.rpc.RRef":{confirmed_by_owner:[490,1,1,""],is_owner:[490,1,1,""],local_value:[490,1,1,""],owner:[490,1,1,""],owner_name:[490,1,1,""],remote:[490,1,1,""],rpc_async:[490,1,1,""],rpc_sync:[490,1,1,""],to_here:[490,1,1,""]},"torch.distributed.rpc.RpcBackendOptions":{init_method:[490,1,1,""],rpc_timeout:[490,1,1,""]},"torch.distributed.rpc.TensorPipeRpcBackendOptions":{init_method:[490,1,1,""],num_worker_threads:[490,1,1,""],rpc_timeout:[490,1,1,""]},"torch.distributed.rpc.WorkerInfo":{id:[490,1,1,""],name:[490,1,1,""]},"torch.distributed.rpc.functions":{async_execution:[490,4,1,""]},"torch.distributions":{constraint_registry:[15,3,0,"-"],constraints:[15,3,0,"-"],kl:[15,3,0,"-"],transforms:[15,3,0,"-"]},"torch.distributions.bernoulli":{Bernoulli:[15,0,1,""]},"torch.distributions.bernoulli.Bernoulli":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.beta":{Beta:[15,0,1,""]},"torch.distributions.beta.Beta":{arg_constraints:[15,2,1,""],concentration0:[15,1,1,""],concentration1:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.binomial":{Binomial:[15,0,1,""]},"torch.distributions.binomial.Binomial":{arg_constraints:[15,2,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.categorical":{Categorical:[15,0,1,""]},"torch.distributions.categorical.Categorical":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.cauchy":{Cauchy:[15,0,1,""]},"torch.distributions.cauchy.Cauchy":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.chi2":{Chi2:[15,0,1,""]},"torch.distributions.chi2.Chi2":{arg_constraints:[15,2,1,""],df:[15,1,1,""],expand:[15,1,1,""]},"torch.distributions.constraint_registry":{ConstraintRegistry:[15,0,1,""]},"torch.distributions.constraint_registry.ConstraintRegistry":{register:[15,1,1,""]},"torch.distributions.constraints":{Constraint:[15,0,1,""],cat:[15,2,1,""],dependent_property:[15,2,1,""],greater_than:[15,2,1,""],greater_than_eq:[15,2,1,""],half_open_interval:[15,2,1,""],integer_interval:[15,2,1,""],interval:[15,2,1,""],less_than:[15,2,1,""],stack:[15,2,1,""]},"torch.distributions.constraints.Constraint":{check:[15,1,1,""]},"torch.distributions.continuous_bernoulli":{ContinuousBernoulli:[15,0,1,""]},"torch.distributions.continuous_bernoulli.ContinuousBernoulli":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.dirichlet":{Dirichlet:[15,0,1,""]},"torch.distributions.dirichlet.Dirichlet":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.distribution":{Distribution:[15,0,1,""]},"torch.distributions.distribution.Distribution":{arg_constraints:[15,1,1,""],batch_shape:[15,1,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],event_shape:[15,1,1,""],expand:[15,1,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],perplexity:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],sample_n:[15,1,1,""],stddev:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.exp_family":{ExponentialFamily:[15,0,1,""]},"torch.distributions.exp_family.ExponentialFamily":{entropy:[15,1,1,""]},"torch.distributions.exponential":{Exponential:[15,0,1,""]},"torch.distributions.exponential.Exponential":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.fishersnedecor":{FisherSnedecor:[15,0,1,""]},"torch.distributions.fishersnedecor.FisherSnedecor":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.gamma":{Gamma:[15,0,1,""]},"torch.distributions.gamma.Gamma":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.geometric":{Geometric:[15,0,1,""]},"torch.distributions.geometric.Geometric":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.gumbel":{Gumbel:[15,0,1,""]},"torch.distributions.gumbel.Gumbel":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.half_cauchy":{HalfCauchy:[15,0,1,""]},"torch.distributions.half_cauchy.HalfCauchy":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],scale:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.half_normal":{HalfNormal:[15,0,1,""]},"torch.distributions.half_normal.HalfNormal":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],scale:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.independent":{Independent:[15,0,1,""]},"torch.distributions.independent.Independent":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,1,1,""],has_rsample:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.kl":{kl_divergence:[15,4,1,""],register_kl:[15,4,1,""]},"torch.distributions.laplace":{Laplace:[15,0,1,""]},"torch.distributions.laplace.Laplace":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.log_normal":{LogNormal:[15,0,1,""]},"torch.distributions.log_normal.LogNormal":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],loc:[15,1,1,""],mean:[15,1,1,""],scale:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.lowrank_multivariate_normal":{LowRankMultivariateNormal:[15,0,1,""]},"torch.distributions.lowrank_multivariate_normal.LowRankMultivariateNormal":{arg_constraints:[15,2,1,""],covariance_matrix:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],precision_matrix:[15,2,1,""],rsample:[15,1,1,""],scale_tril:[15,2,1,""],support:[15,2,1,""],variance:[15,2,1,""]},"torch.distributions.mixture_same_family":{MixtureSameFamily:[15,0,1,""]},"torch.distributions.mixture_same_family.MixtureSameFamily":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],component_distribution:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],mixture_distribution:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.multinomial":{Multinomial:[15,0,1,""]},"torch.distributions.multinomial.Multinomial":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,1,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.multivariate_normal":{MultivariateNormal:[15,0,1,""]},"torch.distributions.multivariate_normal.MultivariateNormal":{arg_constraints:[15,2,1,""],covariance_matrix:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],precision_matrix:[15,2,1,""],rsample:[15,1,1,""],scale_tril:[15,2,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.negative_binomial":{NegativeBinomial:[15,0,1,""]},"torch.distributions.negative_binomial.NegativeBinomial":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.normal":{Normal:[15,0,1,""]},"torch.distributions.normal.Normal":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.one_hot_categorical":{OneHotCategorical:[15,0,1,""]},"torch.distributions.one_hot_categorical.OneHotCategorical":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,1,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,1,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.pareto":{Pareto:[15,0,1,""]},"torch.distributions.pareto.Pareto":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],mean:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.poisson":{Poisson:[15,0,1,""]},"torch.distributions.poisson.Poisson":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.relaxed_bernoulli":{LogitRelaxedBernoulli:[15,0,1,""],RelaxedBernoulli:[15,0,1,""]},"torch.distributions.relaxed_bernoulli.LogitRelaxedBernoulli":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],rsample:[15,1,1,""],support:[15,2,1,""]},"torch.distributions.relaxed_bernoulli.RelaxedBernoulli":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],logits:[15,1,1,""],probs:[15,1,1,""],support:[15,2,1,""],temperature:[15,1,1,""]},"torch.distributions.relaxed_categorical":{RelaxedOneHotCategorical:[15,0,1,""]},"torch.distributions.relaxed_categorical.RelaxedOneHotCategorical":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],logits:[15,1,1,""],probs:[15,1,1,""],support:[15,2,1,""],temperature:[15,1,1,""]},"torch.distributions.studentT":{StudentT:[15,0,1,""]},"torch.distributions.studentT.StudentT":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.transformed_distribution":{TransformedDistribution:[15,0,1,""]},"torch.distributions.transformed_distribution.TransformedDistribution":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,1,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""]},"torch.distributions.transforms":{AbsTransform:[15,0,1,""],AffineTransform:[15,0,1,""],CatTransform:[15,0,1,""],ComposeTransform:[15,0,1,""],ExpTransform:[15,0,1,""],LowerCholeskyTransform:[15,0,1,""],PowerTransform:[15,0,1,""],SigmoidTransform:[15,0,1,""],SoftmaxTransform:[15,0,1,""],StackTransform:[15,0,1,""],StickBreakingTransform:[15,0,1,""],TanhTransform:[15,0,1,""],Transform:[15,0,1,""]},"torch.distributions.transforms.Transform":{inv:[15,1,1,""],log_abs_det_jacobian:[15,1,1,""],sign:[15,1,1,""]},"torch.distributions.uniform":{Uniform:[15,0,1,""]},"torch.distributions.uniform.Uniform":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],stddev:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.von_mises":{VonMises:[15,0,1,""]},"torch.distributions.von_mises.VonMises":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,2,1,""]},"torch.distributions.weibull":{Weibull:[15,0,1,""]},"torch.distributions.weibull.Weibull":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],mean:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.futures":{Future:[17,0,1,""],collect_all:[17,4,1,""],wait_all:[17,4,1,""]},"torch.futures.Future":{set_result:[17,1,1,""],then:[17,1,1,""],wait:[17,1,1,""]},"torch.hub":{download_url_to_file:[457,4,1,""],get_dir:[457,4,1,""],help:[457,4,1,""],list:[457,4,1,""],load:[457,4,1,""],load_state_dict_from_url:[457,4,1,""],set_dir:[457,4,1,""]},"torch.jit":{"export":[459,4,1,""],ScriptFunction:[142,0,1,""],ScriptModule:[143,0,1,""],fork:[144,4,1,""],freeze:[145,4,1,""],ignore:[146,4,1,""],is_scripting:[461,4,1,""],load:[147,4,1,""],save:[148,4,1,""],script:[149,4,1,""],supported_ops:[460,3,0,"-"],trace:[150,4,1,""],trace_module:[151,4,1,""],unsupported_tensor_ops:[463,3,0,"-"],unused:[152,4,1,""],wait:[153,4,1,""]},"torch.jit.ScriptFunction":{get_debug_state:[142,1,1,""],save:[142,1,1,""],save_to_buffer:[142,1,1,""]},"torch.jit.ScriptModule":{"double":[143,1,1,""],"float":[143,1,1,""],add_module:[143,1,1,""],apply:[143,1,1,""],bfloat16:[143,1,1,""],buffers:[143,1,1,""],children:[143,1,1,""],code:[143,1,1,""],code_with_constants:[143,1,1,""],cpu:[143,1,1,""],cuda:[143,1,1,""],eval:[143,1,1,""],extra_repr:[143,1,1,""],graph:[143,1,1,""],half:[143,1,1,""],inlined_graph:[143,1,1,""],load_state_dict:[143,1,1,""],modules:[143,1,1,""],named_buffers:[143,1,1,""],named_children:[143,1,1,""],named_modules:[143,1,1,""],named_parameters:[143,1,1,""],parameters:[143,1,1,""],register_backward_hook:[143,1,1,""],register_buffer:[143,1,1,""],register_forward_hook:[143,1,1,""],register_forward_pre_hook:[143,1,1,""],register_parameter:[143,1,1,""],requires_grad_:[143,1,1,""],save:[143,1,1,""],state_dict:[143,1,1,""],to:[143,1,1,""],train:[143,1,1,""],type:[143,1,1,""],zero_grad:[143,1,1,""]},"torch.multiprocessing":{SpawnContext:[466,0,1,""],get_all_sharing_strategies:[466,4,1,""],get_sharing_strategy:[466,4,1,""],set_sharing_strategy:[466,4,1,""],spawn:[466,4,1,""]},"torch.multiprocessing.SpawnContext":{join:[466,1,1,""]},"torch.nn":{AdaptiveAvgPool1d:[199,0,1,""],AdaptiveAvgPool2d:[200,0,1,""],AdaptiveAvgPool3d:[201,0,1,""],AdaptiveLogSoftmaxWithLoss:[202,0,1,""],AdaptiveMaxPool1d:[203,0,1,""],AdaptiveMaxPool2d:[204,0,1,""],AdaptiveMaxPool3d:[205,0,1,""],AlphaDropout:[206,0,1,""],AvgPool1d:[207,0,1,""],AvgPool2d:[208,0,1,""],AvgPool3d:[209,0,1,""],BCELoss:[210,0,1,""],BCEWithLogitsLoss:[211,0,1,""],BatchNorm1d:[212,0,1,""],BatchNorm2d:[213,0,1,""],BatchNorm3d:[214,0,1,""],Bilinear:[215,0,1,""],CELU:[216,0,1,""],CTCLoss:[217,0,1,""],ConstantPad1d:[218,0,1,""],ConstantPad2d:[219,0,1,""],ConstantPad3d:[220,0,1,""],Conv1d:[221,0,1,""],Conv2d:[222,0,1,""],Conv3d:[223,0,1,""],ConvTranspose1d:[224,0,1,""],ConvTranspose2d:[225,0,1,""],ConvTranspose3d:[226,0,1,""],CosineEmbeddingLoss:[227,0,1,""],CosineSimilarity:[228,0,1,""],CrossEntropyLoss:[229,0,1,""],DataParallel:[230,0,1,""],Dropout2d:[232,0,1,""],Dropout3d:[233,0,1,""],Dropout:[231,0,1,""],ELU:[234,0,1,""],Embedding:[235,0,1,""],EmbeddingBag:[236,0,1,""],Flatten:[237,0,1,""],Fold:[238,0,1,""],FractionalMaxPool2d:[239,0,1,""],GELU:[240,0,1,""],GRU:[241,0,1,""],GRUCell:[242,0,1,""],GroupNorm:[243,0,1,""],Hardshrink:[244,0,1,""],Hardsigmoid:[245,0,1,""],Hardswish:[246,0,1,""],Hardtanh:[247,0,1,""],HingeEmbeddingLoss:[248,0,1,""],Identity:[249,0,1,""],InstanceNorm1d:[250,0,1,""],InstanceNorm2d:[251,0,1,""],InstanceNorm3d:[252,0,1,""],KLDivLoss:[253,0,1,""],L1Loss:[254,0,1,""],LPPool1d:[255,0,1,""],LPPool2d:[256,0,1,""],LSTM:[257,0,1,""],LSTMCell:[258,0,1,""],LayerNorm:[259,0,1,""],LeakyReLU:[260,0,1,""],Linear:[261,0,1,""],LocalResponseNorm:[262,0,1,""],LogSigmoid:[263,0,1,""],LogSoftmax:[264,0,1,""],MSELoss:[265,0,1,""],MarginRankingLoss:[266,0,1,""],MaxPool1d:[267,0,1,""],MaxPool2d:[268,0,1,""],MaxPool3d:[269,0,1,""],MaxUnpool1d:[270,0,1,""],MaxUnpool2d:[271,0,1,""],MaxUnpool3d:[272,0,1,""],Module:[273,0,1,""],ModuleDict:[274,0,1,""],ModuleList:[275,0,1,""],MultiLabelMarginLoss:[276,0,1,""],MultiLabelSoftMarginLoss:[277,0,1,""],MultiMarginLoss:[278,0,1,""],MultiheadAttention:[279,0,1,""],NLLLoss:[280,0,1,""],PReLU:[281,0,1,""],PairwiseDistance:[282,0,1,""],ParameterDict:[283,0,1,""],ParameterList:[284,0,1,""],PixelShuffle:[285,0,1,""],PoissonNLLLoss:[286,0,1,""],RNN:[287,0,1,""],RNNBase:[288,0,1,""],RNNCell:[289,0,1,""],RReLU:[290,0,1,""],ReLU6:[292,0,1,""],ReLU:[291,0,1,""],ReflectionPad1d:[293,0,1,""],ReflectionPad2d:[294,0,1,""],ReplicationPad1d:[295,0,1,""],ReplicationPad2d:[296,0,1,""],ReplicationPad3d:[297,0,1,""],SELU:[298,0,1,""],Sequential:[299,0,1,""],Sigmoid:[300,0,1,""],SmoothL1Loss:[301,0,1,""],SoftMarginLoss:[302,0,1,""],Softmax2d:[304,0,1,""],Softmax:[303,0,1,""],Softmin:[305,0,1,""],Softplus:[306,0,1,""],Softshrink:[307,0,1,""],Softsign:[308,0,1,""],SyncBatchNorm:[309,0,1,""],Tanh:[310,0,1,""],Tanhshrink:[311,0,1,""],Threshold:[312,0,1,""],Transformer:[313,0,1,""],TransformerDecoder:[314,0,1,""],TransformerDecoderLayer:[315,0,1,""],TransformerEncoder:[316,0,1,""],TransformerEncoderLayer:[317,0,1,""],TripletMarginLoss:[318,0,1,""],Unfold:[319,0,1,""],Upsample:[320,0,1,""],UpsamplingBilinear2d:[321,0,1,""],UpsamplingNearest2d:[322,0,1,""],ZeroPad2d:[323,0,1,""],intrinsic:[488,3,0,"-"],qat:[488,3,0,"-"],quantized:[488,3,0,"-"]},"torch.nn.AdaptiveLogSoftmaxWithLoss":{log_prob:[202,1,1,""],predict:[202,1,1,""]},"torch.nn.Embedding":{from_pretrained:[235,1,1,""]},"torch.nn.EmbeddingBag":{from_pretrained:[236,1,1,""]},"torch.nn.Flatten":{"double":[237,1,1,""],"float":[237,1,1,""],add_module:[237,1,1,""],apply:[237,1,1,""],bfloat16:[237,1,1,""],buffers:[237,1,1,""],children:[237,1,1,""],cpu:[237,1,1,""],cuda:[237,1,1,""],eval:[237,1,1,""],extra_repr:[237,1,1,""],half:[237,1,1,""],load_state_dict:[237,1,1,""],modules:[237,1,1,""],named_buffers:[237,1,1,""],named_children:[237,1,1,""],named_modules:[237,1,1,""],named_parameters:[237,1,1,""],parameters:[237,1,1,""],register_backward_hook:[237,1,1,""],register_buffer:[237,1,1,""],register_forward_hook:[237,1,1,""],register_forward_pre_hook:[237,1,1,""],register_parameter:[237,1,1,""],requires_grad_:[237,1,1,""],state_dict:[237,1,1,""],to:[237,1,1,""],train:[237,1,1,""],type:[237,1,1,""],zero_grad:[237,1,1,""]},"torch.nn.Module":{"double":[273,1,1,""],"float":[273,1,1,""],add_module:[273,1,1,""],apply:[273,1,1,""],bfloat16:[273,1,1,""],buffers:[273,1,1,""],children:[273,1,1,""],cpu:[273,1,1,""],cuda:[273,1,1,""],dump_patches:[273,2,1,""],eval:[273,1,1,""],extra_repr:[273,1,1,""],half:[273,1,1,""],load_state_dict:[273,1,1,""],modules:[273,1,1,""],named_buffers:[273,1,1,""],named_children:[273,1,1,""],named_modules:[273,1,1,""],named_parameters:[273,1,1,""],parameters:[273,1,1,""],register_backward_hook:[273,1,1,""],register_buffer:[273,1,1,""],register_forward_hook:[273,1,1,""],register_forward_pre_hook:[273,1,1,""],register_parameter:[273,1,1,""],requires_grad_:[273,1,1,""],state_dict:[273,1,1,""],to:[273,1,1,""],train:[273,1,1,""],type:[273,1,1,""],zero_grad:[273,1,1,""]},"torch.nn.ModuleDict":{clear:[274,1,1,""],items:[274,1,1,""],keys:[274,1,1,""],pop:[274,1,1,""],update:[274,1,1,""],values:[274,1,1,""]},"torch.nn.ModuleList":{append:[275,1,1,""],extend:[275,1,1,""],insert:[275,1,1,""]},"torch.nn.MultiheadAttention":{forward:[279,1,1,""]},"torch.nn.ParameterDict":{clear:[283,1,1,""],items:[283,1,1,""],keys:[283,1,1,""],pop:[283,1,1,""],update:[283,1,1,""],values:[283,1,1,""]},"torch.nn.ParameterList":{append:[284,1,1,""],extend:[284,1,1,""]},"torch.nn.RNNBase":{flatten_parameters:[288,1,1,""]},"torch.nn.SyncBatchNorm":{convert_sync_batchnorm:[309,1,1,""]},"torch.nn.Transformer":{forward:[313,1,1,""],generate_square_subsequent_mask:[313,1,1,""]},"torch.nn.TransformerDecoder":{forward:[314,1,1,""]},"torch.nn.TransformerDecoderLayer":{forward:[315,1,1,""]},"torch.nn.TransformerEncoder":{forward:[316,1,1,""]},"torch.nn.TransformerEncoderLayer":{forward:[317,1,1,""]},"torch.nn.functional":{adaptive_avg_pool1d:[470,4,1,""],adaptive_avg_pool2d:[470,4,1,""],adaptive_avg_pool3d:[470,4,1,""],adaptive_max_pool1d:[470,4,1,""],adaptive_max_pool2d:[470,4,1,""],adaptive_max_pool3d:[470,4,1,""],affine_grid:[470,4,1,""],alpha_dropout:[470,4,1,""],avg_pool1d:[470,4,1,""],avg_pool2d:[470,4,1,""],avg_pool3d:[470,4,1,""],batch_norm:[470,4,1,""],bilinear:[470,4,1,""],binary_cross_entropy:[470,4,1,""],binary_cross_entropy_with_logits:[470,4,1,""],celu:[470,4,1,""],conv1d:[470,4,1,""],conv2d:[470,4,1,""],conv3d:[470,4,1,""],conv_transpose1d:[470,4,1,""],conv_transpose2d:[470,4,1,""],conv_transpose3d:[470,4,1,""],cosine_embedding_loss:[470,4,1,""],cosine_similarity:[470,4,1,""],cross_entropy:[470,4,1,""],ctc_loss:[470,4,1,""],dropout2d:[470,4,1,""],dropout3d:[470,4,1,""],dropout:[470,4,1,""],elu:[470,4,1,""],elu_:[470,4,1,""],embedding:[470,4,1,""],embedding_bag:[470,4,1,""],feature_alpha_dropout:[470,4,1,""],fold:[470,4,1,""],gelu:[470,4,1,""],glu:[470,4,1,""],grid_sample:[470,4,1,""],gumbel_softmax:[470,4,1,""],hardshrink:[470,4,1,""],hardsigmoid:[470,4,1,""],hardswish:[470,4,1,""],hardtanh:[470,4,1,""],hardtanh_:[470,4,1,""],hinge_embedding_loss:[470,4,1,""],instance_norm:[470,4,1,""],interpolate:[470,4,1,""],kl_div:[470,4,1,""],l1_loss:[470,4,1,""],layer_norm:[470,4,1,""],leaky_relu:[470,4,1,""],leaky_relu_:[470,4,1,""],linear:[470,4,1,""],local_response_norm:[470,4,1,""],log_softmax:[470,4,1,""],logsigmoid:[470,4,1,""],lp_pool1d:[470,4,1,""],lp_pool2d:[470,4,1,""],margin_ranking_loss:[470,4,1,""],max_pool1d:[470,4,1,""],max_pool2d:[470,4,1,""],max_pool3d:[470,4,1,""],max_unpool1d:[470,4,1,""],max_unpool2d:[470,4,1,""],max_unpool3d:[470,4,1,""],mse_loss:[470,4,1,""],multi_margin_loss:[470,4,1,""],multilabel_margin_loss:[470,4,1,""],multilabel_soft_margin_loss:[470,4,1,""],nll_loss:[470,4,1,""],normalize:[470,4,1,""],one_hot:[470,4,1,""],pad:[470,4,1,""],pairwise_distance:[470,4,1,""],pdist:[470,4,1,""],pixel_shuffle:[470,4,1,""],poisson_nll_loss:[470,4,1,""],prelu:[470,4,1,""],relu6:[470,4,1,""],relu:[470,4,1,""],relu_:[470,4,1,""],rrelu:[470,4,1,""],rrelu_:[470,4,1,""],selu:[470,4,1,""],sigmoid:[470,4,1,""],smooth_l1_loss:[470,4,1,""],soft_margin_loss:[470,4,1,""],softmax:[470,4,1,""],softmin:[470,4,1,""],softplus:[470,4,1,""],softshrink:[470,4,1,""],softsign:[470,4,1,""],tanh:[470,4,1,""],tanhshrink:[470,4,1,""],threshold:[470,4,1,""],threshold_:[470,4,1,""],triplet_margin_loss:[470,4,1,""],unfold:[470,4,1,""],upsample:[470,4,1,""],upsample_bilinear:[470,4,1,""],upsample_nearest:[470,4,1,""]},"torch.nn.init":{calculate_gain:[471,4,1,""],constant_:[471,4,1,""],dirac_:[471,4,1,""],eye_:[471,4,1,""],kaiming_normal_:[471,4,1,""],kaiming_uniform_:[471,4,1,""],normal_:[471,4,1,""],ones_:[471,4,1,""],orthogonal_:[471,4,1,""],sparse_:[471,4,1,""],uniform_:[471,4,1,""],xavier_normal_:[471,4,1,""],xavier_uniform_:[471,4,1,""],zeros_:[471,4,1,""]},"torch.nn.intrinsic":{ConvBn1d:[488,0,1,""],ConvBn2d:[488,0,1,""],ConvBnReLU1d:[488,0,1,""],ConvBnReLU2d:[488,0,1,""],ConvReLU1d:[488,0,1,""],ConvReLU2d:[488,0,1,""],ConvReLU3d:[488,0,1,""],LinearReLU:[488,0,1,""],qat:[488,3,0,"-"],quantized:[488,3,0,"-"]},"torch.nn.intrinsic.qat":{ConvBn2d:[488,0,1,""],ConvBnReLU2d:[488,0,1,""],ConvReLU2d:[488,0,1,""],LinearReLU:[488,0,1,""]},"torch.nn.intrinsic.quantized":{ConvReLU2d:[488,0,1,""],ConvReLU3d:[488,0,1,""],LinearReLU:[488,0,1,""]},"torch.nn.parallel":{DistributedDataParallel:[324,0,1,""],data_parallel:[470,4,1,""]},"torch.nn.parallel.DistributedDataParallel":{no_sync:[324,1,1,""]},"torch.nn.parameter":{Parameter:[325,0,1,""]},"torch.nn.qat":{Conv2d:[488,0,1,""],Linear:[488,0,1,""]},"torch.nn.qat.Conv2d":{from_float:[488,1,1,""]},"torch.nn.qat.Linear":{from_float:[488,1,1,""]},"torch.nn.quantized":{BatchNorm2d:[488,0,1,""],BatchNorm3d:[488,0,1,""],Conv1d:[488,0,1,""],Conv2d:[488,0,1,""],Conv3d:[488,0,1,""],DeQuantize:[488,0,1,""],ELU:[488,0,1,""],FloatFunctional:[488,0,1,""],GroupNorm:[488,0,1,""],Hardswish:[488,0,1,""],InstanceNorm1d:[488,0,1,""],InstanceNorm2d:[488,0,1,""],InstanceNorm3d:[488,0,1,""],LayerNorm:[488,0,1,""],Linear:[488,0,1,""],QFunctional:[488,0,1,""],Quantize:[488,0,1,""],ReLU6:[488,0,1,""],ReLU:[488,0,1,""],dynamic:[488,3,0,"-"],functional:[488,3,0,"-"]},"torch.nn.quantized.Conv1d":{from_float:[488,1,1,""]},"torch.nn.quantized.Conv2d":{from_float:[488,1,1,""]},"torch.nn.quantized.Conv3d":{from_float:[488,1,1,""]},"torch.nn.quantized.Linear":{from_float:[488,1,1,""]},"torch.nn.quantized.dynamic":{LSTM:[488,0,1,""],Linear:[488,0,1,""]},"torch.nn.quantized.dynamic.Linear":{from_float:[488,1,1,""]},"torch.nn.quantized.functional":{adaptive_avg_pool2d:[488,4,1,""],avg_pool2d:[488,4,1,""],conv1d:[488,4,1,""],conv2d:[488,4,1,""],conv3d:[488,4,1,""],hardswish:[488,4,1,""],interpolate:[488,4,1,""],linear:[488,4,1,""],max_pool2d:[488,4,1,""],relu:[488,4,1,""],upsample:[488,4,1,""],upsample_bilinear:[488,4,1,""],upsample_nearest:[488,4,1,""]},"torch.nn.utils":{clip_grad_norm_:[326,4,1,""],clip_grad_value_:[327,4,1,""],parameters_to_vector:[328,4,1,""],remove_spectral_norm:[346,4,1,""],remove_weight_norm:[347,4,1,""],spectral_norm:[353,4,1,""],vector_to_parameters:[354,4,1,""],weight_norm:[355,4,1,""]},"torch.nn.utils.prune":{BasePruningMethod:[329,0,1,""],CustomFromMask:[330,0,1,""],Identity:[331,0,1,""],L1Unstructured:[332,0,1,""],LnStructured:[333,0,1,""],PruningContainer:[334,0,1,""],RandomStructured:[335,0,1,""],RandomUnstructured:[336,0,1,""],custom_from_mask:[337,4,1,""],global_unstructured:[338,4,1,""],identity:[339,4,1,""],is_pruned:[340,4,1,""],l1_unstructured:[341,4,1,""],ln_structured:[342,4,1,""],random_structured:[343,4,1,""],random_unstructured:[344,4,1,""],remove:[345,4,1,""]},"torch.nn.utils.prune.BasePruningMethod":{apply:[329,1,1,""],apply_mask:[329,1,1,""],compute_mask:[329,1,1,""],prune:[329,1,1,""],remove:[329,1,1,""]},"torch.nn.utils.prune.CustomFromMask":{apply:[330,1,1,""],apply_mask:[330,1,1,""],prune:[330,1,1,""],remove:[330,1,1,""]},"torch.nn.utils.prune.Identity":{apply:[331,1,1,""],apply_mask:[331,1,1,""],prune:[331,1,1,""],remove:[331,1,1,""]},"torch.nn.utils.prune.L1Unstructured":{apply:[332,1,1,""],apply_mask:[332,1,1,""],prune:[332,1,1,""],remove:[332,1,1,""]},"torch.nn.utils.prune.LnStructured":{apply:[333,1,1,""],apply_mask:[333,1,1,""],compute_mask:[333,1,1,""],prune:[333,1,1,""],remove:[333,1,1,""]},"torch.nn.utils.prune.PruningContainer":{add_pruning_method:[334,1,1,""],apply:[334,1,1,""],apply_mask:[334,1,1,""],compute_mask:[334,1,1,""],prune:[334,1,1,""],remove:[334,1,1,""]},"torch.nn.utils.prune.RandomStructured":{apply:[335,1,1,""],apply_mask:[335,1,1,""],compute_mask:[335,1,1,""],prune:[335,1,1,""],remove:[335,1,1,""]},"torch.nn.utils.prune.RandomUnstructured":{apply:[336,1,1,""],apply_mask:[336,1,1,""],prune:[336,1,1,""],remove:[336,1,1,""]},"torch.nn.utils.rnn":{PackedSequence:[348,0,1,""],pack_padded_sequence:[349,4,1,""],pack_sequence:[350,4,1,""],pad_packed_sequence:[351,4,1,""],pad_sequence:[352,4,1,""]},"torch.nn.utils.rnn.PackedSequence":{batch_sizes:[348,2,1,""],count:[348,1,1,""],data:[348,2,1,""],index:[348,1,1,""],is_cuda:[348,1,1,""],is_pinned:[348,1,1,""],sorted_indices:[348,2,1,""],to:[348,1,1,""],unsorted_indices:[348,2,1,""]},"torch.onnx":{"export":[485,4,1,""],export_to_pretty_string:[485,4,1,""],is_in_onnx_export:[485,4,1,""],register_custom_op_symbolic:[485,4,1,""],select_model_mode_for_export:[485,4,1,""]},"torch.onnx.operators":{shape_as_tensor:[485,4,1,""]},"torch.optim":{ASGD:[486,0,1,""],Adadelta:[486,0,1,""],Adagrad:[486,0,1,""],Adam:[486,0,1,""],AdamW:[486,0,1,""],Adamax:[486,0,1,""],LBFGS:[486,0,1,""],Optimizer:[486,0,1,""],RMSprop:[486,0,1,""],Rprop:[486,0,1,""],SGD:[486,0,1,""],SparseAdam:[486,0,1,""]},"torch.optim.ASGD":{step:[486,1,1,""]},"torch.optim.Adadelta":{step:[486,1,1,""]},"torch.optim.Adagrad":{step:[486,1,1,""]},"torch.optim.Adam":{step:[486,1,1,""]},"torch.optim.AdamW":{step:[486,1,1,""]},"torch.optim.Adamax":{step:[486,1,1,""]},"torch.optim.LBFGS":{step:[486,1,1,""]},"torch.optim.Optimizer":{add_param_group:[486,1,1,""],load_state_dict:[486,1,1,""],state_dict:[486,1,1,""],step:[486,1,1,""],zero_grad:[486,1,1,""]},"torch.optim.RMSprop":{step:[486,1,1,""]},"torch.optim.Rprop":{step:[486,1,1,""]},"torch.optim.SGD":{step:[486,1,1,""]},"torch.optim.SparseAdam":{step:[486,1,1,""]},"torch.optim.lr_scheduler":{CosineAnnealingLR:[486,0,1,""],CosineAnnealingWarmRestarts:[486,0,1,""],CyclicLR:[486,0,1,""],ExponentialLR:[486,0,1,""],LambdaLR:[486,0,1,""],MultiStepLR:[486,0,1,""],MultiplicativeLR:[486,0,1,""],OneCycleLR:[486,0,1,""],ReduceLROnPlateau:[486,0,1,""],StepLR:[486,0,1,""]},"torch.optim.lr_scheduler.CosineAnnealingWarmRestarts":{step:[486,1,1,""]},"torch.optim.lr_scheduler.CyclicLR":{get_lr:[486,1,1,""]},"torch.optim.lr_scheduler.LambdaLR":{load_state_dict:[486,1,1,""],state_dict:[486,1,1,""]},"torch.optim.lr_scheduler.MultiplicativeLR":{load_state_dict:[486,1,1,""],state_dict:[486,1,1,""]},"torch.quantization":{DeQuantStub:[488,0,1,""],FakeQuantize:[488,0,1,""],HistogramObserver:[488,0,1,""],MinMaxObserver:[488,0,1,""],MovingAverageMinMaxObserver:[488,0,1,""],MovingAveragePerChannelMinMaxObserver:[488,0,1,""],NoopObserver:[488,0,1,""],ObserverBase:[488,0,1,""],PerChannelMinMaxObserver:[488,0,1,""],QConfig:[488,0,1,""],QConfigDynamic:[488,0,1,""],QuantStub:[488,0,1,""],QuantWrapper:[488,0,1,""],RecordingObserver:[488,0,1,""],add_observer_:[488,4,1,""],add_quant_dequant:[488,4,1,""],convert:[488,4,1,""],default_eval_fn:[488,4,1,""],fuse_modules:[488,4,1,""],get_observer_dict:[488,4,1,""],prepare:[488,4,1,""],prepare_qat:[488,4,1,""],propagate_qconfig_:[488,4,1,""],quantize:[488,4,1,""],quantize_dynamic:[488,4,1,""],quantize_qat:[488,4,1,""],swap_module:[488,4,1,""]},"torch.quantization.ObserverBase":{with_args:[488,1,1,""]},"torch.quasirandom":{SobolEngine:[375,0,1,""]},"torch.quasirandom.SobolEngine":{draw:[375,1,1,""],fast_forward:[375,1,1,""],reset:[375,1,1,""]},"torch.random":{fork_rng:[489,4,1,""],get_rng_state:[489,4,1,""],initial_seed:[489,4,1,""],manual_seed:[489,4,1,""],seed:[489,4,1,""],set_rng_state:[489,4,1,""]},"torch.sparse":{FloatTensor:[493,0,1,""],addmm:[493,4,1,""],mm:[493,4,1,""],sum:[493,4,1,""]},"torch.sparse.FloatTensor":{_indices:[493,1,1,""],_nnz:[493,1,1,""],_values:[493,1,1,""],add:[493,1,1,""],add_:[493,1,1,""],clone:[493,1,1,""],coalesce:[493,1,1,""],dim:[493,1,1,""],div:[493,1,1,""],div_:[493,1,1,""],get_device:[493,1,1,""],hspmm:[493,1,1,""],is_coalesced:[493,1,1,""],mm:[493,1,1,""],mul:[493,1,1,""],mul_:[493,1,1,""],narrow_copy:[493,1,1,""],resizeAs_:[493,1,1,""],size:[493,1,1,""],spadd:[493,1,1,""],spmm:[493,1,1,""],sspaddmm:[493,1,1,""],sspmm:[493,1,1,""],sub:[493,1,1,""],sub_:[493,1,1,""],t_:[493,1,1,""],to_dense:[493,1,1,""],transpose:[493,1,1,""],transpose_:[493,1,1,""],zero_:[493,1,1,""]},"torch.torch":{default_generator:[499,2,1,""],device:[495,0,1,""],dtype:[495,0,1,""],finfo:[507,0,1,""],iinfo:[507,0,1,""],layout:[495,0,1,""],memory_format:[495,0,1,""]},"torch.utils":{data:[13,3,0,"-"],model_zoo:[465,3,0,"-"]},"torch.utils.checkpoint":{checkpoint:[4,4,1,""],checkpoint_sequential:[4,4,1,""]},"torch.utils.cpp_extension":{BuildExtension:[9,4,1,""],CUDAExtension:[9,4,1,""],CppExtension:[9,4,1,""],check_compiler_abi_compatibility:[9,4,1,""],include_paths:[9,4,1,""],is_ninja_available:[9,4,1,""],load:[9,4,1,""],load_inline:[9,4,1,""],verify_ninja_availability:[9,4,1,""]},"torch.utils.data":{BatchSampler:[13,0,1,""],ChainDataset:[13,0,1,""],ConcatDataset:[13,0,1,""],DataLoader:[13,0,1,""],Dataset:[13,0,1,""],IterableDataset:[13,0,1,""],RandomSampler:[13,0,1,""],Sampler:[13,0,1,""],SequentialSampler:[13,0,1,""],Subset:[13,0,1,""],SubsetRandomSampler:[13,0,1,""],TensorDataset:[13,0,1,""],WeightedRandomSampler:[13,0,1,""],get_worker_info:[13,4,1,""],random_split:[13,4,1,""]},"torch.utils.data.distributed":{DistributedSampler:[13,0,1,""]},"torch.utils.dlpack":{from_dlpack:[16,4,1,""],to_dlpack:[16,4,1,""]},"torch.utils.mobile_optimizer":{optimize_for_mobile:[464,4,1,""]},"torch.utils.model_zoo":{load_url:[465,4,1,""]},"torch.utils.tensorboard.writer":{SummaryWriter:[497,0,1,""]},"torch.utils.tensorboard.writer.SummaryWriter":{__init__:[497,1,1,""],add_audio:[497,1,1,""],add_custom_scalars:[497,1,1,""],add_embedding:[497,1,1,""],add_figure:[497,1,1,""],add_graph:[497,1,1,""],add_histogram:[497,1,1,""],add_hparams:[497,1,1,""],add_image:[497,1,1,""],add_images:[497,1,1,""],add_mesh:[497,1,1,""],add_pr_curve:[497,1,1,""],add_scalar:[497,1,1,""],add_scalars:[497,1,1,""],add_text:[497,1,1,""],add_video:[497,1,1,""],close:[497,1,1,""],flush:[497,1,1,""]},"torchvision.datasets":{CIFAR100:[500,0,1,""],CIFAR10:[500,0,1,""],CelebA:[500,0,1,""],Cityscapes:[500,0,1,""],CocoCaptions:[500,0,1,""],CocoDetection:[500,0,1,""],DatasetFolder:[500,0,1,""],EMNIST:[500,0,1,""],FakeData:[500,0,1,""],FashionMNIST:[500,0,1,""],Flickr30k:[500,0,1,""],Flickr8k:[500,0,1,""],HMDB51:[500,0,1,""],ImageFolder:[500,0,1,""],ImageNet:[500,0,1,""],KMNIST:[500,0,1,""],Kinetics400:[500,0,1,""],LSUN:[500,0,1,""],MNIST:[500,0,1,""],PhotoTour:[500,0,1,""],QMNIST:[500,0,1,""],SBDataset:[500,0,1,""],SBU:[500,0,1,""],STL10:[500,0,1,""],SVHN:[500,0,1,""],UCF101:[500,0,1,""],USPS:[500,0,1,""],VOCDetection:[500,0,1,""],VOCSegmentation:[500,0,1,""]},"torchvision.datasets.CIFAR10":{__getitem__:[500,1,1,""]},"torchvision.datasets.Cityscapes":{__getitem__:[500,1,1,""]},"torchvision.datasets.CocoCaptions":{__getitem__:[500,1,1,""]},"torchvision.datasets.CocoDetection":{__getitem__:[500,1,1,""]},"torchvision.datasets.DatasetFolder":{__getitem__:[500,1,1,""]},"torchvision.datasets.Flickr30k":{__getitem__:[500,1,1,""]},"torchvision.datasets.Flickr8k":{__getitem__:[500,1,1,""]},"torchvision.datasets.ImageFolder":{__getitem__:[500,1,1,""]},"torchvision.datasets.LSUN":{__getitem__:[500,1,1,""]},"torchvision.datasets.PhotoTour":{__getitem__:[500,1,1,""]},"torchvision.datasets.SBU":{__getitem__:[500,1,1,""]},"torchvision.datasets.STL10":{__getitem__:[500,1,1,""]},"torchvision.datasets.SVHN":{__getitem__:[500,1,1,""]},"torchvision.datasets.USPS":{__getitem__:[500,1,1,""]},"torchvision.datasets.VOCDetection":{__getitem__:[500,1,1,""]},"torchvision.datasets.VOCSegmentation":{__getitem__:[500,1,1,""]},"torchvision.io":{read_video:[502,4,1,""],read_video_timestamps:[502,4,1,""],write_video:[502,4,1,""]},"torchvision.models":{alexnet:[503,4,1,""],densenet121:[503,4,1,""],densenet161:[503,4,1,""],densenet169:[503,4,1,""],densenet201:[503,4,1,""],googlenet:[503,4,1,""],inception_v3:[503,4,1,""],mnasnet0_5:[503,4,1,""],mnasnet0_75:[503,4,1,""],mnasnet1_0:[503,4,1,""],mnasnet1_3:[503,4,1,""],mobilenet_v2:[503,4,1,""],resnet101:[503,4,1,""],resnet152:[503,4,1,""],resnet18:[503,4,1,""],resnet34:[503,4,1,""],resnet50:[503,4,1,""],resnext101_32x8d:[503,4,1,""],resnext50_32x4d:[503,4,1,""],shufflenet_v2_x0_5:[503,4,1,""],shufflenet_v2_x1_0:[503,4,1,""],shufflenet_v2_x1_5:[503,4,1,""],shufflenet_v2_x2_0:[503,4,1,""],squeezenet1_0:[503,4,1,""],squeezenet1_1:[503,4,1,""],vgg11:[503,4,1,""],vgg11_bn:[503,4,1,""],vgg13:[503,4,1,""],vgg13_bn:[503,4,1,""],vgg16:[503,4,1,""],vgg16_bn:[503,4,1,""],vgg19:[503,4,1,""],vgg19_bn:[503,4,1,""],wide_resnet101_2:[503,4,1,""],wide_resnet50_2:[503,4,1,""]},"torchvision.models.detection":{fasterrcnn_resnet50_fpn:[503,4,1,""],keypointrcnn_resnet50_fpn:[503,4,1,""],maskrcnn_resnet50_fpn:[503,4,1,""]},"torchvision.models.segmentation":{deeplabv3_resnet101:[503,4,1,""],deeplabv3_resnet50:[503,4,1,""],fcn_resnet101:[503,4,1,""],fcn_resnet50:[503,4,1,""]},"torchvision.models.video":{mc3_18:[503,4,1,""],r2plus1d_18:[503,4,1,""],r3d_18:[503,4,1,""]},"torchvision.ops":{DeformConv2d:[504,0,1,""],FeaturePyramidNetwork:[504,0,1,""],MultiScaleRoIAlign:[504,0,1,""],PSRoIAlign:[504,0,1,""],PSRoIPool:[504,0,1,""],RoIAlign:[504,0,1,""],RoIPool:[504,0,1,""],deform_conv2d:[504,4,1,""],nms:[504,4,1,""],ps_roi_align:[504,4,1,""],ps_roi_pool:[504,4,1,""],roi_align:[504,4,1,""],roi_pool:[504,4,1,""]},"torchvision.transforms":{CenterCrop:[505,0,1,""],ColorJitter:[505,0,1,""],Compose:[505,0,1,""],FiveCrop:[505,0,1,""],Grayscale:[505,0,1,""],Lambda:[505,0,1,""],LinearTransformation:[505,0,1,""],Normalize:[505,0,1,""],Pad:[505,0,1,""],RandomAffine:[505,0,1,""],RandomApply:[505,0,1,""],RandomChoice:[505,0,1,""],RandomCrop:[505,0,1,""],RandomErasing:[505,0,1,""],RandomGrayscale:[505,0,1,""],RandomHorizontalFlip:[505,0,1,""],RandomOrder:[505,0,1,""],RandomPerspective:[505,0,1,""],RandomResizedCrop:[505,0,1,""],RandomRotation:[505,0,1,""],RandomSizedCrop:[505,0,1,""],RandomVerticalFlip:[505,0,1,""],Resize:[505,0,1,""],Scale:[505,0,1,""],TenCrop:[505,0,1,""],ToPILImage:[505,0,1,""],ToTensor:[505,0,1,""],functional:[505,3,0,"-"]},"torchvision.transforms.Normalize":{__call__:[505,1,1,""]},"torchvision.transforms.ToPILImage":{__call__:[505,1,1,""]},"torchvision.transforms.ToTensor":{__call__:[505,1,1,""]},"torchvision.transforms.functional":{adjust_brightness:[505,4,1,""],adjust_contrast:[505,4,1,""],adjust_gamma:[505,4,1,""],adjust_hue:[505,4,1,""],adjust_saturation:[505,4,1,""],affine:[505,4,1,""],center_crop:[505,4,1,""],convert_image_dtype:[505,4,1,""],crop:[505,4,1,""],erase:[505,4,1,""],five_crop:[505,4,1,""],hflip:[505,4,1,""],normalize:[505,4,1,""],pad:[505,4,1,""],perspective:[505,4,1,""],pil_to_tensor:[505,4,1,""],resize:[505,4,1,""],resized_crop:[505,4,1,""],rotate:[505,4,1,""],ten_crop:[505,4,1,""],to_grayscale:[505,4,1,""],to_pil_image:[505,4,1,""],to_tensor:[505,4,1,""],vflip:[505,4,1,""]},"torchvision.utils":{make_grid:[506,4,1,""],save_image:[506,4,1,""]},torch:{"var":[450,4,1,""],BoolTensor:[498,0,1,""],FloatStorage:[494,0,1,""],Generator:[18,0,1,""],Tensor:[498,0,1,""],__config__:[0,3,0,"-"],abs:[19,4,1,""],absolute:[20,4,1,""],acos:[21,4,1,""],acosh:[22,4,1,""],add:[23,4,1,""],addbmm:[24,4,1,""],addcdiv:[25,4,1,""],addcmul:[26,4,1,""],addmm:[27,4,1,""],addmv:[28,4,1,""],addr:[29,4,1,""],allclose:[30,4,1,""],angle:[31,4,1,""],arange:[32,4,1,""],argmax:[33,4,1,""],argmin:[34,4,1,""],argsort:[35,4,1,""],as_strided:[36,4,1,""],as_tensor:[37,4,1,""],asin:[38,4,1,""],asinh:[39,4,1,""],atan2:[41,4,1,""],atan:[40,4,1,""],atanh:[42,4,1,""],autograd:[2,3,0,"-"],baddbmm:[43,4,1,""],bartlett_window:[44,4,1,""],bernoulli:[45,4,1,""],bincount:[46,4,1,""],bitwise_and:[47,4,1,""],bitwise_not:[48,4,1,""],bitwise_or:[49,4,1,""],bitwise_xor:[50,4,1,""],blackman_window:[51,4,1,""],block_diag:[52,4,1,""],bmm:[53,4,1,""],broadcast_tensors:[54,4,1,""],bucketize:[55,4,1,""],can_cast:[56,4,1,""],cartesian_prod:[57,4,1,""],cat:[58,4,1,""],cdist:[59,4,1,""],ceil:[60,4,1,""],chain_matmul:[61,4,1,""],cholesky:[62,4,1,""],cholesky_inverse:[63,4,1,""],cholesky_solve:[64,4,1,""],chunk:[65,4,1,""],clamp:[66,4,1,""],combinations:[67,4,1,""],compiled_with_cxx11_abi:[68,4,1,""],conj:[69,4,1,""],cos:[70,4,1,""],cosh:[71,4,1,""],cross:[72,4,1,""],cuda:[11,3,0,"-"],cummax:[73,4,1,""],cummin:[74,4,1,""],cumprod:[75,4,1,""],cumsum:[76,4,1,""],deg2rad:[77,4,1,""],dequantize:[78,4,1,""],det:[79,4,1,""],diag:[80,4,1,""],diag_embed:[81,4,1,""],diagflat:[82,4,1,""],diagonal:[83,4,1,""],digamma:[84,4,1,""],dist:[85,4,1,""],distributed:[14,3,0,"-"],distributions:[15,3,0,"-"],div:[86,4,1,""],dot:[87,4,1,""],eig:[88,4,1,""],einsum:[89,4,1,""],empty:[90,4,1,""],empty_like:[91,4,1,""],empty_strided:[92,4,1,""],enable_grad:[93,0,1,""],eq:[94,4,1,""],equal:[95,4,1,""],erf:[96,4,1,""],erfc:[97,4,1,""],erfinv:[98,4,1,""],exp:[99,4,1,""],expm1:[100,4,1,""],eye:[101,4,1,""],fft:[102,4,1,""],flatten:[103,4,1,""],flip:[104,4,1,""],fliplr:[105,4,1,""],flipud:[106,4,1,""],floor:[107,4,1,""],floor_divide:[108,4,1,""],fmod:[109,4,1,""],frac:[110,4,1,""],from_numpy:[111,4,1,""],full:[112,4,1,""],full_like:[113,4,1,""],futures:[17,3,0,"-"],gather:[114,4,1,""],ge:[115,4,1,""],geqrf:[116,4,1,""],ger:[117,4,1,""],get_default_dtype:[118,4,1,""],get_num_interop_threads:[119,4,1,""],get_num_threads:[120,4,1,""],get_rng_state:[121,4,1,""],gt:[122,4,1,""],hamming_window:[123,4,1,""],hann_window:[124,4,1,""],histc:[125,4,1,""],hub:[457,3,0,"-"],ifft:[126,4,1,""],imag:[127,4,1,""],index_select:[128,4,1,""],initial_seed:[129,4,1,""],inverse:[130,4,1,""],irfft:[131,4,1,""],is_complex:[132,4,1,""],is_floating_point:[133,4,1,""],is_nonzero:[134,4,1,""],is_storage:[135,4,1,""],is_tensor:[136,4,1,""],isclose:[137,4,1,""],isfinite:[138,4,1,""],isinf:[139,4,1,""],isnan:[140,4,1,""],istft:[141,4,1,""],jit:[459,3,0,"-"],kthvalue:[154,4,1,""],le:[155,4,1,""],lerp:[156,4,1,""],lgamma:[157,4,1,""],linspace:[158,4,1,""],load:[159,4,1,""],lobpcg:[160,4,1,""],log10:[162,4,1,""],log1p:[163,4,1,""],log2:[164,4,1,""],log:[161,4,1,""],logaddexp2:[166,4,1,""],logaddexp:[165,4,1,""],logcumsumexp:[167,4,1,""],logdet:[168,4,1,""],logical_and:[169,4,1,""],logical_not:[170,4,1,""],logical_or:[171,4,1,""],logical_xor:[172,4,1,""],logspace:[173,4,1,""],logsumexp:[174,4,1,""],lstsq:[175,4,1,""],lt:[176,4,1,""],lu:[177,4,1,""],lu_solve:[178,4,1,""],lu_unpack:[179,4,1,""],manual_seed:[180,4,1,""],masked_select:[181,4,1,""],matmul:[182,4,1,""],matrix_power:[183,4,1,""],matrix_rank:[184,4,1,""],max:[185,4,1,""],mean:[186,4,1,""],median:[187,4,1,""],meshgrid:[188,4,1,""],min:[189,4,1,""],mm:[190,4,1,""],mode:[191,4,1,""],mul:[192,4,1,""],multinomial:[193,4,1,""],multiprocessing:[466,3,0,"-"],mv:[194,4,1,""],mvlgamma:[195,4,1,""],narrow:[196,4,1,""],ne:[197,4,1,""],neg:[198,4,1,""],no_grad:[356,0,1,""],nonzero:[357,4,1,""],norm:[358,4,1,""],normal:[359,4,1,""],numel:[360,4,1,""],ones:[361,4,1,""],ones_like:[362,4,1,""],onnx:[485,3,0,"-"],optim:[486,3,0,"-"],orgqr:[363,4,1,""],ormqr:[364,4,1,""],pca_lowrank:[365,4,1,""],pinverse:[366,4,1,""],poisson:[367,4,1,""],polygamma:[368,4,1,""],pow:[369,4,1,""],prod:[370,4,1,""],promote_types:[371,4,1,""],qr:[372,4,1,""],quantization:[488,3,0,"-"],quantize_per_channel:[373,4,1,""],quantize_per_tensor:[374,4,1,""],rad2deg:[376,4,1,""],rand:[377,4,1,""],rand_like:[378,4,1,""],randint:[379,4,1,""],randint_like:[380,4,1,""],randn:[381,4,1,""],randn_like:[382,4,1,""],random:[489,3,0,"-"],randperm:[383,4,1,""],range:[384,4,1,""],real:[385,4,1,""],reciprocal:[386,4,1,""],remainder:[387,4,1,""],renorm:[388,4,1,""],repeat_interleave:[389,4,1,""],reshape:[390,4,1,""],result_type:[391,4,1,""],rfft:[392,4,1,""],roll:[393,4,1,""],rot90:[394,4,1,""],round:[395,4,1,""],rsqrt:[396,4,1,""],save:[397,4,1,""],searchsorted:[398,4,1,""],seed:[399,4,1,""],set_default_dtype:[400,4,1,""],set_default_tensor_type:[401,4,1,""],set_flush_denormal:[402,4,1,""],set_grad_enabled:[403,0,1,""],set_num_interop_threads:[404,4,1,""],set_num_threads:[405,4,1,""],set_printoptions:[406,4,1,""],set_rng_state:[407,4,1,""],sigmoid:[408,4,1,""],sign:[409,4,1,""],sin:[410,4,1,""],sinh:[411,4,1,""],slogdet:[412,4,1,""],solve:[413,4,1,""],sort:[414,4,1,""],sparse_coo_tensor:[415,4,1,""],split:[416,4,1,""],sqrt:[417,4,1,""],square:[418,4,1,""],squeeze:[419,4,1,""],stack:[420,4,1,""],std:[421,4,1,""],std_mean:[422,4,1,""],stft:[423,4,1,""],sum:[424,4,1,""],svd:[425,4,1,""],svd_lowrank:[426,4,1,""],symeig:[427,4,1,""],t:[428,4,1,""],take:[429,4,1,""],tan:[430,4,1,""],tanh:[431,4,1,""],tensor:[432,4,1,""],tensordot:[433,4,1,""],topk:[434,4,1,""],trace:[435,4,1,""],transpose:[436,4,1,""],trapz:[437,4,1,""],triangular_solve:[438,4,1,""],tril:[439,4,1,""],tril_indices:[440,4,1,""],triu:[441,4,1,""],triu_indices:[442,4,1,""],true_divide:[443,4,1,""],trunc:[444,4,1,""],unbind:[445,4,1,""],unique:[446,4,1,""],unique_consecutive:[447,4,1,""],unsqueeze:[448,4,1,""],vander:[449,4,1,""],var_mean:[451,4,1,""],view_as_complex:[452,4,1,""],view_as_real:[453,4,1,""],where:[454,4,1,""],zeros:[455,4,1,""],zeros_like:[456,4,1,""]},torchvision:{get_image_backend:[501,4,1,""],set_image_backend:[501,4,1,""],set_video_backend:[501,4,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","module","Python module"],"4":["py","function","Python function"],"5":["std","envvar","environment variable"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute","3":"py:module","4":"py:function","5":"std:envvar"},terms:{"00000e":[90,178,413],"0000e":[92,165,173,366,498],"0303j":8,"041m":2,"048m":2,"0545e":498,"0633j":[127,385,498],"0705e":92,"0949e":498,"10k":500,"10x7":[200,204],"1239e":92,"1269e":165,"13x12":239,"1421j":8,"1428e":91,"148m":2,"1548e":366,"1681j":8,"16x112x112":503,"17m1129830":160,"1918j":8,"1921e":[130,366],"1_batch_16":497,"1cycl":486,"1e4":486,"1e6":486,"1hr":5,"1mb":11,"1st":[15,474],"1x1":503,"20l":[143,237,273],"224x224":503,"2352e":366,"2gb":[457,485],"2nd":[15,281,304,470,474,498],"2x2":473,"2x3":[319,493],"3121e":366,"3136j":453,"32x4d":503,"32x8d":503,"3487j":8,"3493e":91,"3553j":[127,385,498],"3839j":453,"3842e":62,"3rd":[474,486,498,501],"3x4":319,"3xhxw":497,"4064e":91,"427l":500,"483m":2,"4842e":[92,498],"4901e":366,"4th":[474,500],"4us":2,"50k":500,"50x":503,"5390e":366,"54_":497,"5751e":91,"5765e":498,"5772j":452,"5874j":8,"5955e":91,"5c106cde":[457,465],"5mb":503,"5x2":493,"5x7":[200,204],"5x7x9":[201,205],"60k":500,"60s":490,"6391e":366,"640l":500,"6503e":425,"6531e":425,"6623j":452,"6699j":453,"727m":2,"7497j":452,"7567e":366,"7896j":[127,385,498],"7981j":8,"7x7":[200,204],"7x7x7":[201,205],"7x9x8":[201,205],"8000e":91,"8119j":[127,385,498],"816u":2,"8182e":498,"88131e":402,"8b3f7e2e7a0f2aba0e629e23d89f07c7fc0e6a5":485,"9073e":[130,319],"9120j":452,"9407e":366,"9451j":453,"9683e":92,"9802e":[179,366],"\u2102":473,"\u211d":473,"abstract":[13,15,329,477,488,490],"boolean":[2,11,15,47,48,49,50,67,137,138,139,140,160,181,212,213,214,235,236,243,250,251,252,259,309,427,434,461,462,470,478,486,495,498,500,505],"break":[2,5,15,406,462,483,486],"byte":[11,15,142,159,279,461,462,467,486,494,498],"case":[1,2,3,8,9,10,11,13,14,32,44,46,66,79,89,130,131,134,143,150,159,160,165,168,175,177,193,202,207,208,209,210,211,221,222,223,225,226,227,229,232,233,236,237,238,241,244,245,246,247,248,253,254,255,256,257,260,265,267,268,269,273,280,281,287,290,301,307,312,319,324,357,390,398,412,415,426,443,454,457,466,467,468,470,471,472,473,474,475,476,478,479,481,483,485,486,488,489,490,491,492,493,496,497,498,500,504,505,507],"catch":459,"char":[467,494,498],"ciss\u00e9":202,"class":[1,2,10,11,13,14,15,17,18,93,142,143,144,145,146,148,149,150,151,152,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,329,330,331,332,333,334,335,336,348,356,375,403,460,462,466,468,470,472,478,479,481,482,483,485,486,488,490,491,493,494,495,497,498,500,503,504,505,507],"const":[480,485],"default":[1,4,8,9,11,14,30,32,37,44,51,53,55,59,62,63,64,72,75,76,81,82,83,90,91,92,101,102,112,113,118,123,124,126,131,137,141,143,145,149,150,151,158,159,160,173,177,184,185,187,191,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,222,223,224,225,226,227,228,229,230,231,234,235,236,237,238,239,241,242,243,244,247,248,250,251,252,253,254,255,256,257,258,259,260,261,262,265,266,267,268,269,270,271,272,273,276,277,278,279,280,281,282,286,287,289,290,291,292,298,301,302,306,307,309,312,313,315,317,318,319,320,324,325,329,330,331,332,333,334,335,336,349,350,352,353,355,357,358,361,362,365,366,370,375,377,378,379,380,381,382,383,384,389,392,397,398,400,401,406,415,423,424,425,426,427,432,437,438,440,442,443,446,447,449,455,456,457,459,464,465,466,470,471,472,473,475,476,477,478,479,484,485,486,488,489,490,493,494,497,498,499,500,502,503,504,505,506,507],"enum":[14,485,490,505],"export":[2,10,11,14,16,144,146,149,152,349,350,459,461,478,490,503],"final":[14,15,24,27,28,43,57,67,159,241,257,287,459,461,462,467,478,488,491,492,503,505,506],"float":[1,2,8,13,15,25,30,32,44,45,51,56,59,85,94,109,115,118,122,123,124,133,137,138,139,140,143,150,151,155,156,158,160,165,173,176,184,193,197,202,206,216,218,219,220,227,228,231,232,233,234,235,236,237,239,243,244,247,248,250,251,252,255,256,259,260,262,266,273,278,281,282,286,288,290,293,294,295,296,307,309,312,313,318,320,321,322,326,327,332,333,335,336,338,341,342,343,344,351,352,353,358,359,366,369,373,374,384,387,388,400,401,402,406,437,443,459,460,461,462,466,467,469,470,471,472,478,479,482,485,486,488,490,493,494,495,497,498,502,504,505,506,507],"function":[1,4,5,8,9,10,11,13,17,18,30,36,44,51,53,59,61,81,83,84,87,89,93,96,97,98,102,116,117,123,124,126,130,131,136,141,142,143,144,146,148,149,150,152,157,159,160,163,165,173,177,182,185,187,189,190,191,194,195,206,210,216,217,218,219,220,227,231,234,237,240,241,242,244,245,246,247,248,255,256,257,258,260,263,264,266,273,278,281,287,290,291,292,293,294,295,296,297,300,303,305,306,307,308,309,310,311,313,315,317,318,319,321,323,324,338,348,349,352,356,359,362,363,364,365,366,368,372,375,384,387,392,403,413,423,425,427,437,446,447,452,453,456,457,458,462,465,466,468,471,474,476,477,478,479,480,482,486,489,490,491,492,495,497,498,499,500,501,502,503],"herv\u00e9":202,"import":[2,5,6,9,11,13,14,17,52,141,144,145,146,147,148,149,150,151,152,273,324,350,351,352,358,459,461,462,466,472,473,475,476,477,478,479,480,481,482,485,486,488,490,491,492,495,497,498,500,503,505],"int":[1,11,13,14,15,18,33,34,35,36,44,46,51,56,58,65,67,72,73,74,75,76,80,81,82,83,90,92,101,102,103,112,114,119,120,123,124,125,126,128,131,141,143,144,154,158,160,167,173,174,180,183,185,186,187,189,191,193,195,196,199,200,201,202,203,204,205,207,208,209,215,217,218,219,220,221,222,223,224,225,226,228,229,230,235,236,237,238,239,242,243,250,251,252,255,256,258,259,261,262,264,267,268,269,270,271,272,273,275,278,280,281,284,285,288,289,293,294,295,296,297,303,305,306,309,313,318,319,320,321,322,323,324,326,327,332,333,335,336,338,341,342,343,344,351,353,355,358,359,360,361,365,368,370,373,374,375,377,379,380,381,383,388,389,390,391,392,393,394,404,405,414,416,419,420,421,422,423,424,426,433,434,436,437,439,440,441,442,443,445,446,447,448,449,450,451,455,459,460,461,462,466,467,470,484,485,486,488,489,490,493,494,495,497,498,500,502,503,504,505,506,507],"j\u00e9gou":202,"long":[2,5,6,13,112,129,191,217,229,257,258,280,371,440,442,446,466,467,468,470,474,478,479,481,485,488,489,494,495,497,498],"new":[1,2,4,6,11,13,14,15,17,21,22,23,37,38,39,40,41,42,55,60,70,71,77,81,86,99,100,105,106,107,127,128,137,138,139,140,143,149,161,162,163,164,181,192,196,198,212,213,214,237,241,250,251,252,273,274,279,283,309,329,333,334,335,337,338,339,341,342,343,344,352,376,385,386,390,395,396,397,398,400,401,408,409,410,411,417,418,420,429,430,431,444,448,452,453,457,459,461,464,466,467,468,470,473,476,478,480,481,483,484,486,488,492,494,496,497,498,504],"return":[0,1,2,4,8,9,11,13,14,15,16,17,18,21,22,23,32,33,34,35,36,37,38,39,40,41,42,44,45,46,51,52,55,57,60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,78,80,81,82,83,85,86,88,90,91,92,93,94,99,100,101,102,105,106,107,108,111,112,113,115,116,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,196,197,198,202,203,204,205,210,211,227,228,229,230,236,237,239,248,253,254,264,265,266,267,268,269,273,274,275,276,277,278,280,283,284,286,301,302,303,304,305,309,318,324,326,328,329,330,331,332,333,334,335,336,337,339,340,341,342,343,344,348,349,350,351,352,353,355,356,357,358,359,360,361,362,363,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,388,389,390,391,392,395,396,398,399,402,408,409,410,411,412,413,414,415,417,418,419,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452,453,454,455,456,457,459,462,464,465,466,468,470,471,472,473,475,476,478,480,484,485,486,488,489,490,491,493,494,495,496,498,499,500,502,503,504,505,507],"short":[141,217,257,258,406,423,461,467,470,474,488,490,494,495,498,505],"static":[2,459,460,461,480,485,488,490,494],"super":[13,144,145,149,150,151,152,273,274,275,283,284,285,459,461,462,478,485,486],"switch":[8,13,397,466,470,473,483,503],"throw":[17,134,177,351,490,498],"transient":492,"true":[1,2,4,9,11,13,14,15,25,30,37,44,46,47,49,50,51,55,56,62,63,64,67,86,88,93,94,95,102,114,115,122,123,124,126,131,132,133,134,135,136,137,138,139,140,141,143,146,150,151,152,154,155,160,169,170,171,172,174,176,177,179,181,184,185,186,187,189,191,193,197,202,203,204,205,206,207,208,209,210,211,212,213,214,215,217,221,222,223,224,225,226,227,229,231,232,233,235,236,237,239,241,242,243,248,250,251,252,253,254,255,256,257,258,259,261,265,266,267,268,269,270,271,272,273,276,277,278,279,280,282,286,287,288,289,301,302,309,313,318,320,321,324,325,340,348,349,350,351,352,353,355,356,357,364,365,370,372,375,392,397,398,402,403,406,414,421,422,423,424,425,427,432,434,438,443,446,447,449,450,451,454,457,460,461,465,466,467,468,470,472,473,474,476,477,478,479,480,482,485,486,488,489,490,491,493,494,495,496,497,498,499,500,503,504,505,506],"try":[3,5,14,46,146,150,217,221,222,223,224,225,226,320,324,457,459,462,470,473,478,479,481,485,486,490,498,505],"var":[2,212,213,214,243,250,251,252,259,309,460,467,498],"void":[18,480],"while":[1,6,13,14,15,41,143,144,150,151,202,237,250,251,252,273,279,313,324,337,338,339,341,342,343,344,358,372,462,468,470,472,473,476,479,481,486,488,490,492,496,497,498,505],AND:[47,169],Abs:485,And:[73,74,154,185,187,189,217,473,484,488,505],But:[2,5,150,473,478,479,496,498],Doing:10,For:[1,2,3,4,5,6,8,9,10,11,13,14,15,24,25,26,27,28,29,43,47,48,49,50,53,75,76,102,114,126,131,143,148,149,150,151,160,167,174,182,183,185,187,189,190,202,206,210,211,218,219,220,221,222,223,224,225,226,230,236,237,238,241,257,273,276,277,278,286,287,293,294,295,296,297,306,319,323,324,348,349,350,352,392,415,419,452,453,457,459,463,467,468,470,472,473,474,475,476,478,479,481,485,486,488,490,491,492,493,494,495,496,497,498,500,503,505],Going:503,Has:[248,266,278,320,373,374,420,470,488],IDs:489,Its:[143,237,273,477,486],NFS:14,NMS:504,NOT:[14,48,170,329,330,331,332,333,334,335,336,345,485,492,493],Not:[459,461,462,478,488],One:[9,14,52,320,379,380,459,468,470,474,475,478,480,482,486,492,497,500,503],Ops:[3,476,498],PRs:[5,6],RHS:178,Such:[9,13,425,427,449],That:[175,464,478,479,490,505],The:[1,2,4,6,8,9,10,11,13,14,15,16,17,18,22,23,25,26,27,28,30,41,42,44,45,46,47,48,49,50,51,56,57,63,67,80,81,82,83,85,86,88,89,90,92,94,96,97,98,102,109,111,115,122,123,124,125,126,127,128,131,141,143,144,146,147,148,149,150,151,155,156,158,159,160,173,174,175,176,177,178,180,181,182,184,185,187,189,192,193,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,217,221,222,223,224,225,226,227,229,230,235,236,237,238,239,241,242,243,247,248,250,251,252,253,254,256,257,258,259,261,264,265,266,268,269,273,276,278,280,286,287,289,290,301,309,312,313,318,319,320,324,326,327,328,329,330,331,332,333,334,335,336,339,345,351,353,355,357,358,359,365,366,369,372,375,377,379,381,385,387,389,392,393,397,400,401,406,407,415,419,425,426,427,429,432,433,434,436,437,439,440,441,442,448,449,452,454,457,459,460,461,462,463,464,465,466,467,468,470,471,472,473,474,475,476,477,478,479,480,481,483,484,485,486,488,489,490,491,492,494,495,497,498,499,500,501,502,503,504,505,506,507],Then:[2,238,319,474,477,478,483,485,486,490,491,505],There:[2,5,6,14,89,230,457,459,461,468,473,476,478,479,480,481,482,483,484,485,488,490,492,498,499],These:[1,9,10,13,14,15,141,143,202,459,460,461,467,468,469,472,477,478,485,490,491,493,495,499,500,503,505],Use:[2,11,13,14,86,102,126,131,152,230,303,309,324,392,467,468,470,481,488,490,491,497,498,505],Used:[13,18,400,488,495],Useful:[11,203,204,205,239,267,268,269,495,498],Uses:[11,462],Using:[2,13,15,136,150,232,233,285,324,459,478,481,485,486,490],WITH:485,Will:[7,14,415,461,468,488,505],With:[13,15,151,212,213,214,222,223,225,226,235,250,251,252,259,309,320,462,470,476,478,485,486,488,490,497],Yes:485,__and__:460,__array_function__:478,__background__:503,__bool__:460,__bytes__:462,__call__:505,__config__:[458,475],__constants__:[459,461],__del__:462,__dict__:486,__file__:[457,484],__float__:460,__format__:462,__getitem__:[13,500],__hash__:462,__hex__:460,__iand__:460,__ilshift__:460,__init__:[2,13,15,144,145,149,150,151,152,273,274,275,283,284,459,461,478,479,485,497,505],__int__:460,__ior__:460,__irshift__:460,__iter__:[13,462],__ixor__:460,__len__:[13,460,500],__lshift__:460,__main__:[13,474,477,481,484,491],__matmul__:1,__name__:[13,477,478,481,484,491],__new__:[461,462],__oct__:460,__or__:460,__pow__:1,__r:462,__rdiv__:1,__repr__:478,__rpow__:1,__rshift__:460,__rtruediv__:1,__slots__:462,__str__:460,__torch__:460,__xor__:460,_audio_channel:500,_audio_sampl:500,_back:[220,297,470],_bottom:[219,220,294,296,297,323,470],_call:15,_caller:489,_cat:15,_channel:[221,222,223,224,225,226,243,470,488],_class:202,_compilation_unit:[150,151],_contextmethodmixin:2,_dependentproperti:15,_devices_kw:489,_dim:235,_direct:[241,287],_ext:484,_extra_fil:[142,143,147,148,480],_factor:[285,320,321,322],_featur:[202,215,261,470,488],_fft:423,_force_outplac:[150,151],_fork:475,_formatt:406,_forward_cl:2,_frames_up:149,_front:[220,297,470],_glibcxx_use_cxx11_abi:68,_greaterthan:15,_greaterthaneq:15,_growth_track:1,_halfopeninterv:15,_if_scalar_type_a:485,_in:471,_index:280,_indic:[415,493],_instanc:15,_integerinterv:15,_interv:15,_invers:15,_key_padding_mask:313,_layer:[241,287],_left:[218,219,220,293,294,295,296,297,323,470],_length:[44,51,123,124,141,217,423],_lessthan:15,_like:498,_load_from_state_dict:273,_log_api_usage_onc:480,_mask:[313,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345],_metadata:[273,478],_mode:471,_module_class:[150,151],_nn:460,_nnz:493,_onnx_master_opset:485,_onnx_stable_opset:485,_orig:[329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345],_out:471,_overrid:478,_pad:[224,225,226],_precomputed_metadata:500,_random_sampl:[239,460],_rcb:149,_resnet18:457,_retain_param_nam:485,_right:[218,219,220,293,294,295,296,297,323,470],_run_process:491,_safe_foo:9,_sampl:193,_scalar:485,_set_rpc_timeout:490,_shape:259,_size:[207,208,209,221,222,223,224,225,226,238,241,242,255,256,257,258,267,268,269,270,271,272,287,289,319],_slope:[260,470,471],_stack:15,_stacklevel:[460,470],_sync_param:477,_tensor:498,_tensor_str:406,_top:[219,220,294,296,297,323,470],_use_new_zipfile_seri:[397,483],_valu:[202,327,415,478,493],_video_height:500,_video_min_dimens:500,_video_width:500,_wait:475,_weight:[235,236],_with_arg:488,a3c:481,a_big:[425,427],a_dict:461,a_float32:1,a_i:318,a_l:179,a_lu:[177,178,179],a_tupl:461,a_u:179,aaa:497,abbrevi:11,abc:348,abi:[9,10],abil:[6,397,480,483],abl:[5,148,313,366,459,467,478,485,488,490],abnorm:[466,481],about:[2,6,11,13,348,457,459,461,473,475,478,479,480,481,485,490,491,492,496,498,504,505],abov:[2,10,14,15,44,51,80,81,82,83,123,124,160,210,238,306,319,359,379,380,406,423,437,439,440,441,442,457,459,461,473,474,475,476,478,482,485,486,491,492,500,505],abridg:479,abruptli:466,abs:[15,20,59,62,130,160,291,313,319,355,358,365,460,467,468,470,485,486,498,503],abs_:[460,467,498],absent:477,absolut:[2,6,8,9,19,30,137,254,301,332,333,335,336,338,341,342,343,344,412,460,470,485,498,505],absolute_:[460,498],abstransform:15,acc:503,acceler:[5,212,213,214,309,486],accept:[2,5,6,14,111,143,145,229,237,273,280,334,348,349,468,478,485,486,488,490,495,497,498],access:[2,6,13,14,143,144,150,202,237,273,349,459,460,462,464,466,468,473,476,479,480,490,495,496,498,507],accident:5,accimag:501,accommod:[270,271,272],accompani:5,accomplish:5,accord:[2,45,54,181,193,202,236,329,330,331,332,333,334,335,336,416,468,471,484,485,486,492,500,503,504],accordingli:[473,490,498,500,503,505],accordinli:490,account:[3,324,475],accumul:[1,2,24,324,459,460,473,477,479,490,491,498],accumulategrad:[2,473],accur:[11,163,375,476,485,491],accuraci:[1,472,488,497,503],achiev:[13,14,15,217,280,470,480,485,490,492],ack:492,acknowledg:492,aco:[1,460,467,485,498],acos_:[460,467,498],acosh:[460,467,498],acosh_:[460,467,498],acquaint:5,acquir:492,across:[2,11,13,14,33,34,148,150,229,230,238,262,281,309,319,324,334,338,372,459,467,470,473,476,477,479,480,481,482,488,490,491,494,497,498,500],act:[15,211,274,275,284,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,488,505],action:[6,15,473,476,492,500,503],activ:[2,4,5,11,206,232,233,243,259,274,290,313,315,317,464,466,478,488,490],activation_post_process:488,active_byt:11,actual:[2,150,224,225,226,339,457,461,467,473,476,477,478,481,484,485,486,488],actual_input_1:485,acycl:473,adadelta:486,adagrad:[235,486,490],adam:[6,7,15,486],adamax:486,adamw:486,adapt:[199,200,201,202,203,204,205,231,375,470,486,488,504],adaptive_avg_pool1d:[460,478,485],adaptive_avg_pool2d:[460,478,485,488],adaptive_avg_pool3d:[460,478,485],adaptive_max_pool1d:[460,478,485],adaptive_max_pool1d_with_indic:[460,478],adaptive_max_pool2d:[460,485],adaptive_max_pool2d_with_indic:460,adaptive_max_pool3d:[460,485],adaptive_max_pool3d_with_indic:460,adaptiveavgpool1d:470,adaptiveavgpool2d:[470,488],adaptiveavgpool3d:470,adaptivelogsoftmaxwithloss:463,adaptivemaxpool1d:470,adaptivemaxpool2d:[200,470],adaptivemaxpool3d:[201,470],add:[1,2,5,8,10,11,17,24,25,26,29,143,149,202,217,221,222,223,224,225,226,237,273,275,279,280,284,286,324,329,330,331,332,333,334,335,336,457,459,460,461,467,470,472,474,475,478,480,485,486,488,490,491,492,493,495,496,497,498,503,504],add_:[2,460,467,474,493,498],add_argu:[14,476],add_audio:497,add_bias_kv:279,add_custom_scalar:497,add_embed:497,add_figur:497,add_graph:497,add_histogram:497,add_hparam:497,add_imag:497,add_mesh:497,add_modul:[143,237,273],add_observer_:488,add_param_group:486,add_pr_curv:497,add_pruning_method:334,add_quant_dequ:488,add_relu:488,add_scalar:[488,497],add_text:497,add_video:497,add_zero_attn:[279,460],addbmm:[1,43,460,498],addbmm_:[460,498],addcdiv:[1,460,498],addcdiv_:[460,498],addcmul:[1,460,498],addcmul_:[460,498],added:[5,9,17,23,24,25,26,27,28,29,43,143,207,208,209,212,213,214,221,222,223,224,225,226,237,238,243,250,251,252,259,267,268,269,270,271,272,273,279,286,299,309,313,319,324,325,334,459,461,470,480,485,486,488,493,497,498,504],adder:2,addglobalcallback:480,adding:[13,14,32,165,211,280,337,338,339,341,342,343,344,457,459,461,468,472,478,485,486,488,498],addit:[1,2,5,6,9,10,11,15,141,143,145,202,210,211,212,213,214,215,216,224,225,226,234,236,237,240,244,245,246,247,250,251,252,253,254,260,261,262,263,264,265,270,271,272,273,281,286,290,291,292,298,300,301,302,303,305,306,307,308,309,310,311,312,313,324,425,446,447,452,459,461,467,468,470,475,476,478,480,481,482,484,486,488,490,491,492,493,496,498],addition:[2,13,14,15,145,202,250,251,252,479,482,498,499,505],addmm:[1,460,467,485,493,498],addmm_:[1,460,467,498],addmv:[1,460,467,498],addmv_:[460,467,498],addr:[1,460,498],addr_:[460,498],address:[2,13,14,466,490,491,498,503],adequ:488,adher:6,adjac:[32,52,232,233,384],adjust:[14,247,475,505],adjust_bright:505,adjust_contrast:505,adjust_gamma:505,adjust_hu:505,adjust_satur:505,admit:476,adopt:[6,488],advanc:[4,10,313,315,317,357,468,473,476,481,485,496,497],advantag:[14,211,479,490],adventur:485,adversari:353,advic:5,advis:[32,36,481,498],advisori:5,aeroplan:503,affect:[1,2,5,11,93,118,143,237,273,320,356,403,470,472,488,494],affin:[15,212,213,214,243,250,251,252,259,309,470,473,488,498,505],affine_grid:460,affine_grid_gener:460,affinetransform:15,aforement:481,afram:502,after:[1,2,5,9,11,13,14,89,134,143,182,230,237,273,276,324,329,333,335,457,461,466,470,471,472,476,477,479,480,481,483,486,488,490,491,492,495,497,498,504,505],afterward:[2,235],again:[1,4,13,14,193,500],against:[2,3,14,32,150,151,488,505],agent:490,aggreg:[14,236,338,470,503],aggress:[2,141,473],agnost:[468,470],agre:492,ahead:[5,488],aid:[5,473],aidan:[313,315,317],ail:7,ailzhang:7,aim:[5,468],airplan:503,aka:[2,482,495],akin:480,alban:7,alband:7,alex:7,alexandr:449,alfredo:7,algebra:7,algorithm:[5,12,15,18,46,61,141,160,217,221,222,223,224,225,226,238,241,257,287,319,320,365,425,426,470,488,490,498],alia:[15,20,348,498],alias:[461,478],alican:7,alicanb:7,align:[209,217,253,268,269,320,467,470,486,488,504],align_a:[460,467,468],align_corn:[320,321,460,470,488],align_tensor:460,align_to:[460,467,468],aliv:[479,481,490,491,492],all:[1,2,4,5,6,8,9,10,11,13,14,15,17,18,24,30,33,34,45,52,57,58,66,67,89,141,143,147,148,149,150,159,177,185,186,187,188,189,195,202,209,211,215,217,219,220,221,222,223,224,225,226,230,235,236,237,238,241,242,243,248,253,254,257,258,261,265,269,270,271,272,273,274,275,276,277,278,279,280,281,283,284,287,289,293,294,295,296,297,301,309,313,315,317,318,319,323,324,326,334,338,348,352,357,359,370,415,419,420,421,422,423,424,425,427,439,440,441,442,445,447,450,451,452,457,459,460,461,464,466,467,468,470,472,473,475,476,477,478,479,481,482,484,485,486,488,489,490,491,492,493,494,495,497,498,500,503,504,505,506],all_gath:14,all_gather_multigpu:14,all_reduc:14,all_reduce_multigpu:14,all_to_al:14,allclos:[2,372,427,460,485,498],alloc:[2,3,8,11,15,90,92,432,466,473,476,477,495,498],allocated_byt:11,allow:[1,2,5,6,8,9,10,13,14,15,56,67,146,152,165,230,273,276,279,313,324,327,357,457,461,467,468,472,473,474,475,476,477,478,480,481,485,486,488,490,495,496,497,498,500],allow_unreach:2,allow_unus:[2,460],allreduc:477,almost:[126,131,484,500],alon:461,along:[1,9,11,13,14,15,24,35,65,104,114,128,154,196,203,204,205,228,239,264,267,268,269,303,305,333,335,342,343,352,357,388,389,393,414,416,420,434,437,445,457,461,470,474,478,479,480,486,488,498],alongsid:[143,237,273],alpha:[15,23,24,27,28,29,43,123,206,216,234,262,298,460,470,478,485,486,488,493,498],alpha_dropout:460,alpha_dropout_:460,alpha_f:485,alphabet:[89,470,490,500],alphadropout:470,alreadi:[1,2,8,11,13,14,37,143,159,237,273,324,348,445,446,457,459,465,467,468,472,478,481,485,486,488,491,492,494,496,498,500],also:[1,2,4,5,6,8,9,10,11,13,14,15,17,44,51,75,76,93,118,123,124,143,144,145,150,188,202,210,212,213,214,221,222,223,224,225,226,229,236,237,238,241,257,273,280,287,299,301,309,319,324,337,339,341,342,343,344,356,366,381,397,401,419,425,446,447,454,457,459,461,464,466,467,468,470,471,472,473,475,476,477,478,479,480,481,482,484,485,486,488,490,491,493,496,497,498,499,500,505],alter:472,altern:[2,13,147,159,299,362,456,457,462,470,472,484,488],although:[5,15,224,225,226,281,472,478],alwai:[1,2,11,13,14,44,51,59,80,123,124,148,150,175,210,230,235,250,251,252,306,324,348,366,372,398,432,443,446,466,474,475,476,477,478,480,485,489,490,492,493,495,498,506],amazonaw:[457,465,484],ambigu:[15,134,224,225,226,238,270,271,272,320],among:[11,13,14,15,230,359,485],amount:[2,3,5,11,141,221,222,223,224,225,226,238,262,276,319,332,333,335,336,338,340,341,342,343,344,345,468,473,475,476,479,490,505,506],amp:[458,472],amplitud:486,amsgrad:486,an_error:461,anaconda:484,analog:[30,425,443,486],analysi:[365,462],analyt:[2,15],analyz:[477,478],ancestor:492,anchor:[318,460,470],andrea:160,andrew:160,angl:[15,41,77,260,376,460,498,505],ani:[1,2,3,4,5,6,8,11,13,14,15,17,32,54,57,58,142,143,145,148,149,150,199,200,201,203,204,205,206,210,211,215,216,230,231,234,237,238,240,244,245,246,247,248,249,253,254,260,261,263,264,265,273,281,286,290,291,292,298,299,300,301,302,303,305,306,307,308,309,310,311,312,313,319,324,329,330,331,332,333,334,335,336,339,349,350,352,384,397,404,406,459,460,461,464,466,467,468,470,472,473,475,476,478,480,481,482,483,485,486,488,490,491,492,497,498,505],anm:89,ann_fil:500,anneal:486,anneal_strategi:486,annfil:500,annot:[2,459,461,462,490,500],annotation_path:500,anoth:[2,5,11,13,14,274,283,459,461,472,475,476,478,481,484,485,491,492,498,499,504],another_forward:459,another_input:324,answer:[5,6,211,340,488],anticip:4,anymor:[2,14,324,498],anyon:6,anystr:461,anyth:[4,5,14,149,459,488],anywher:472,aoa:484,apart:8,apaszk:[6,7],api:[6,8,11,14,17,148,149,457,458,464,466,467,473,476,477,485,490,491,493,497,498,500,501],aplli:505,appear:[1,3,14,15,89,105,106,159,191,325,389,425,427,459,467,468,478,486],append:[2,14,17,83,182,242,258,275,284,289,324,461,473,475,481,484,485,497,498,503],appl:503,appli:[1,2,4,15,81,83,143,160,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,222,223,224,225,226,227,229,234,237,239,240,241,243,244,245,246,247,248,250,251,252,253,254,255,256,257,259,260,261,262,263,264,265,266,267,268,269,273,276,277,278,280,281,286,287,290,291,292,298,300,301,302,303,304,305,306,307,308,309,310,311,313,318,321,322,324,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,348,349,353,355,358,369,373,374,423,446,447,448,459,466,468,470,472,473,478,485,486,488,490,491,498,504,505],applic:[11,14,15,230,315,317,324,473,475,476,477,478,480,482,488,490,491,492,498,505],apply_:[463,498],apply_mask:[329,330,331,332,333,334,335,336],apprear:89,appreci:5,approach:[14,59,397,459,466,473,488,490],appropri:[1,5,14,15,150,177,229,273,280,462,468,490,491,492,503],approv:6,approx:426,approxim:[1,2,160,202,286,306,365,426,470,477,478,486],apr:141,arang:[8,13,14,29,54,104,105,106,117,154,156,157,293,294,295,296,320,321,322,358,359,369,384,390,394,416,424,433,434,435,460,470,485,497,498],arbitrari:[2,14,102,159,230,235,254,265,301,319,348,392,425,470,473,480,485,498,499,505],arbitrarili:[144,470],arccosin:21,architectur:[313,402,501,503],architecutr:11,archiv:480,arcsin:38,arctang:[40,41],area:[5,6,470,505],aren:[1,467,491],arg0:2,arg1:[2,14],arg2:14,arg3:14,arg:[1,2,3,4,9,14,15,17,66,143,144,177,188,210,211,227,229,237,241,248,249,253,254,257,265,266,273,276,277,278,280,286,287,299,301,302,309,318,324,329,334,348,446,447,457,460,462,466,468,470,473,476,477,478,481,483,485,488,490,491,492,494,498,500,505],arg_constraint:15,arg_nam:460,argmax:[185,202,460,485,498],argmin:[189,460,485,498],argpars:[14,476],argsort:[460,498,504],argument:[1,2,3,4,9,11,13,14,15,17,18,22,23,24,27,28,29,32,39,42,43,53,77,80,81,82,83,86,90,92,94,108,112,115,122,126,131,138,139,143,144,150,151,155,159,160,165,166,176,182,193,197,212,213,214,217,221,222,223,224,225,226,229,236,237,238,247,249,250,251,252,270,271,272,273,274,280,281,283,309,319,321,322,329,333,334,338,342,348,361,376,377,379,381,384,403,426,427,433,438,439,440,441,442,443,446,455,457,460,461,463,466,467,468,470,472,474,476,477,478,479,480,485,486,488,489,490,494,495,497,498,500,506,507],argumentpars:[14,476],ari:485,aris:15,arithmet:[61,391,392,462,467,468,488,495],arm:[464,488],armand:202,around:[2,5,6,8,11,14,17,459,466,476,490,498,504,505],arr:485,arrai:[13,37,46,105,106,111,159,175,238,241,242,257,258,389,406,449,459,462,470,485,488,494,497,498,500],arrang:[52,500],array_lik:[37,415,432,498],arriv:[490,492],arrow:492,art:375,articul:6,artifact:480,artifici:2,arxiv:[15,290,291,313,355,365,426,488,503,505],as_strid:[92,460,488,496,498],as_strided_:460,as_subclass:[463,498],as_tensor:[432,460,478,497,498],as_tupl:[357,454],asap:466,ascend:[35,414,427,437,446],ascent:15,ascii:[11,159],asd932_:500,asgd:486,ashish:[313,315,317],asin:[1,460,467,485,498],asin_:[460,467,498],asinh:[460,467,498],asinh_:[460,467,498],ask:[14,458],aspect:[5,478,505],assembl:[8,13],assert:[13,15,144,145,461,462,485],assert_allclos:459,assert_int_or_pair:460,assign:[1,2,5,13,14,202,229,273,280,325,459,462,472,478,479,485,488,491,492,496,497,500],assign_x:461,assist:477,associ:[2,11,89,143,159,217,237,273,459,467,468,470,482,485,490,491,495,498],assp:141,assum:[1,8,13,14,15,150,184,217,266,320,324,352,365,426,438,459,461,467,470,473,478,480,485,486,490,491,492,503,505],assumpt:[217,473,477,490,491,505],ast_1:[228,470],ast_2:[228,470],astensor:505,astyp:485,asuhan:7,asymmetr:[469,488],async:[2,14,462,480,494,498],async_add:490,async_add_chain:490,async_execut:490,async_op:14,asyncexecutionclass:490,asynchron:[3,17,143,144,153,237,273,462,475,477,490,494,497,498],atan2:[1,460,467,498],atan2_:[460,467,498],atan:[460,467,485,498],atan_:[460,467,498],atanh:[460,467,498],atanh_:[460,467,498],aten:[193,459,475,484],aten_thread:475,atol:[2,30,137,459,460,478,498],atom:[462,482],atomicadd:482,attach:[17,457,459,461,467,478,488,491,498],attempt:[2,9,145,148,177,459,467,468,472,476,484,490],attend:[279,313],attent:[5,279,313,315,317,484,496],attn:[315,317],attn_mask:[279,460],attn_output:279,attn_output_weight:279,attr1:485,attr1_f:485,attr2:485,attr2_i:485,attr:[253,309,324,358,470,485,500],attribut:[1,2,8,13,14,142,143,144,145,148,149,160,230,237,273,313,324,325,349,458,460,462,472,473,476,478,485,488,490,498,500,507],attributeerror:478,audio:[497,500,502],audio_fp:502,aug_add_x:461,augment:[10,462,505],author:472,auto:[14,210,211,497],autocastmodel:1,autoencod:15,autograd:[1,3,4,5,15,32,44,51,90,91,92,101,112,113,123,124,131,143,158,173,237,273,324,361,362,377,378,379,380,381,382,383,384,405,415,432,455,456,458,460,463,470,477,479,480,485,498],autograd_context_id:491,autograd_hook:477,autograd_message_id:491,autograd_tensor:2,autom:[459,485],automat:[9,11,14,150,188,324,325,406,457,458,461,465,467,468,473,474,476,478,481,485,488,490,497,498],aux_logit:503,aux_loss:503,auxiliari:[457,480,503],avail:[2,9,10,11,13,14,53,102,126,131,177,313,320,365,392,423,426,457,461,466,470,476,478,484,485,488,490,500,505],averag:[2,14,143,199,200,201,207,208,209,210,211,212,213,214,227,229,236,237,248,253,254,255,256,265,266,273,276,277,278,280,286,301,302,309,318,324,470,477,486,488],averaging_const:488,avg:[2,505],avg_pool1d:[460,485],avg_pool2d:[460,485,488],avg_pool3d:[460,485,488],avgpool1d:470,avgpool2d:[470,488],avgpool3d:470,avi:500,avmgithub:7,avoid:[1,2,6,13,15,18,32,131,159,228,254,265,282,286,301,319,392,423,432,446,468,470,473,475,476,479,482,485,488,490,491,496,497,498,505],avx2:488,awai:[468,470],await:[462,490],awar:[5,468,473,488,491,498,503],axbc:348,axes:485,axi:[104,114,373,389,393,394,460,485,488,498,505],b_float32:1,b_hf:257,b_hg:257,b_hh:[241,242,257,258,287,289,460],b_hi:257,b_hn:241,b_ho:257,b_hr:241,b_hz:241,b_if:257,b_ig:257,b_ih:[241,242,257,258,287,289,460],b_ii:257,b_in:241,b_io:257,b_ir:241,b_iz:241,back:[1,159,457,459,478,481,485,490,493,505],backbon:503,backcompat:474,backend:[2,9,46,102,126,131,217,221,222,223,224,225,226,324,392,459,460,461,464,470,475,476,482,485,488,498,501],backend_str:14,backendtyp:490,background:[46,217,221,222,223,224,225,226,470,481,490,498,500,503],backoff:1,backoff_factor:1,backpack:503,backprop:366,backpropag:[2,15,479,486],backward:[1,2,4,6,15,79,88,93,143,168,210,211,217,229,230,237,241,254,257,265,273,280,286,287,318,324,325,356,366,412,425,427,460,468,470,471,472,477,478,479,480,481,482,486,488,490,493,498],bad:466,baddbmm:[1,460,485,498],baddbmm_:[460,498],bag:[236,470],bai:7,balanc:[18,500],ball:503,balnta:318,banana:503,band:[14,505],bandwidth:[14,488,490],bao:7,bar:[5,144,147,148,457,459,461,465,485,503],bare:9,barrier:14,bartlett:44,bartlett_window:[460,463],base:[2,5,6,9,10,11,13,15,156,162,164,166,173,230,273,276,277,278,313,315,317,324,329,333,335,369,375,397,403,425,426,440,442,460,470,473,475,477,478,483,485,486,488,490,491,496,497,498,500,504,505],base_distribut:15,base_lr:486,base_momentum:486,base_se:13,basebal:503,basedistribut:15,basep:15,basepruningmethod:[334,340],baseq:15,basi:[15,160,480,486,488,490],basic:[2,5,160,324,462,469,486,488,491,496,497],bat:503,batch1:[24,43,460,498],batch2:[24,43,460,498],batch:[15,24,43,53,59,62,64,79,81,83,89,102,126,130,131,160,168,177,178,182,183,210,211,212,213,214,217,221,222,227,229,230,232,233,235,236,238,241,242,243,248,250,251,252,253,254,257,258,259,265,266,276,277,278,279,280,286,287,289,301,302,309,313,314,315,316,317,318,319,324,348,349,351,352,365,366,372,392,412,413,419,423,425,426,427,438,439,441,467,468,470,472,476,479,481,482,485,486,488,497,500,503,504,505,506],batch_first:[241,257,287,288,349,351,352,460,479],batch_ndx:13,batch_norm:460,batch_norm_backward_elemt:460,batch_norm_backward_reduc:460,batch_norm_elemt:460,batch_norm_gather_stat:460,batch_norm_gather_stats_with_count:460,batch_norm_stat:460,batch_norm_update_stat:460,batch_per_it:472,batch_sampl:13,batch_shap:15,batch_siz:[13,15,348,350,351,460,479,497,500,504],batch_sz:504,batchmean:[253,470],batchnorm1d:[309,470,488],batchnorm2d:[230,464,470],batchnorm3d:[309,470],batchnorm:[143,237,273,309,324,464,485,488],batchsampl:13,batchsiz:[253,470],batchwis:282,bbb:497,bbox:500,bceloss:[1,211,470],bcewithlogit:1,bcewithlogitsloss:[1,470],bckenstler:486,bddppq:7,beam:459,bear:503,becaus:[1,2,3,4,5,13,15,141,147,159,212,213,214,221,222,223,224,225,226,230,309,325,398,423,459,463,466,467,468,473,474,476,477,479,480,482,485,486,488,490,492,497,498,503],becom:[1,2,5,6,13,15,126,221,222,223,224,225,226,241,257,278,287,470,473,477,485,486,488,490,498],bed:503,bedroom_train:500,been:[1,2,8,11,14,15,93,144,145,159,241,247,257,287,329,333,335,375,466,467,468,470,472,475,481,484,486,490,492,497,503,504],befor:[1,2,5,11,13,14,15,75,76,105,106,143,230,236,237,238,273,275,309,319,353,355,370,393,398,404,405,423,424,438,443,446,459,461,466,470,472,473,476,477,478,480,484,485,486,488,490,491,492,493,497,498,504],beforehand:5,begin:[1,5,11,13,14,32,44,66,89,175,209,210,211,227,241,242,244,245,246,247,248,253,254,257,258,260,265,268,269,280,281,290,301,307,312,324,406,423,446,454,470,472,473,478,480,485,486,488,498],behav:[9,10,150,461,488,498],behavior:[2,5,9,14,25,36,54,57,67,86,92,131,143,148,150,159,182,230,237,253,273,309,320,324,357,390,457,459,462,463,467,470,473,474,476,485,486,488,490,496,498,503,504,505],behaviour:[2,30,470],behind:[491,500],being:[2,6,13,15,101,137,143,145,210,211,227,229,235,236,237,239,241,248,253,254,257,265,266,273,276,277,278,280,286,287,301,302,318,324,329,330,331,332,333,334,335,336,372,423,438,459,467,468,470,472,478,479,481,482,485,488,490,491,498,505],belair:7,believ:1,belong:[4,11,14,15,55,476,486,505],below:[1,2,9,13,14,15,80,81,82,83,131,143,151,184,224,225,226,229,237,270,271,272,273,280,301,320,357,439,440,441,442,459,461,463,466,467,470,472,473,476,477,478,481,484,485,488,490,491,492,496,505],ben:239,bench:503,benchmark:[460,476,482],benefit:[5,14,466,486],benefiti:14,bengio:471,bernoulli:[206,231,232,233,241,257,460,467,470,498,499],bernoulli_:[460,467,498,499],bert:313,besid:[14,477,497],bessel:[421,422,450,451],best:[1,2,5,10,13,14,15,58,150,151,458,459,461,466,472,473,478,479,486,490],beta:[2,8,24,27,28,29,43,123,212,213,214,243,250,251,252,259,262,306,309,460,464,470,485,486,488,490,493,495,498],better:[5,6,11,13,136,150,273,303,375,398,470,472,475,484,485,488,497],between:[1,2,5,11,14,15,27,28,29,32,41,53,59,125,141,143,158,173,210,211,217,221,222,223,224,225,226,228,232,233,237,238,254,265,267,268,269,273,276,277,278,282,302,303,318,319,324,329,330,331,332,333,334,335,336,338,341,342,343,344,367,379,380,384,420,423,437,459,461,462,466,470,472,473,475,476,481,482,486,488,490,492,494,497,498,500,503,504,505],bewar:5,beyond:[6,393,479,486,492],bfg:486,bfloat16:[2,143,237,273,463,467,494,495,498],bfloat16tensor:[495,498],bia:[6,143,202,215,221,222,223,224,225,226,237,241,242,257,258,259,261,273,279,287,288,289,337,339,341,353,355,460,464,470,478,488,497,504],bias:[212,213,214,241,242,243,250,251,252,257,258,259,287,289,309,421,422,450,451],bias_:488,bias_defin:460,bias_g:460,bias_hh:[242,258,289],bias_hh_l:[241,257,287],bias_ih:[242,258,289],bias_ih_l:[241,257,287],bias_k:460,bias_mask:[337,339],bias_v:460,bicub:[320,470,505],bicycl:503,bidirect:[241,257,287,288,460,485],big:[5,415],bij:89,biject:15,biject_to:15,bik:89,bilenear:488,bilinear:[1,89,320,321,460,488,505],bin:[46,125,460,488,497,498,504],binari:[1,10,15,45,181,210,211,279,337,338,339,340,341,342,343,344,462,467,468,470,480,485,497,498,500,503],binary16:[495,498],binary_cross_entropi:460,binary_cross_entropy_with_logit:460,binaryio:506,bincount:[460,482,498],bind:[9,11,458,462,485,501],binomi:460,bird:503,bit:[5,18,399,484,488,489,495,498,507],bitshift:485,bitwidth:[469,488],bitwis:[14,47,48,49,50,462],bitwise_and:[460,498],bitwise_and_:[460,498],bitwise_not:[460,467,498],bitwise_not_:[460,467,498],bitwise_or:[460,498],bitwise_or_:[460,498],bitwise_xor:[460,498],bitwise_xor_:[460,498],bivari:15,bjk:89,bl_flip:505,bla:475,black:505,blacklist:464,blackman:51,blackman_window:[460,463],blank:[217,460,462,470],blob:[480,485,497],blobnam:497,block0:[459,485],block1:459,block:[5,11,13,14,17,52,160,221,222,223,224,225,226,238,276,319,459,461,466,469,470,473,477,485,490,503],block_diag:460,blog:5,blogpost:496,blow:479,blue:500,bmatrix:473,bmm:[1,178,179,460,467,498],bn1:488,bnmodul:488,bnrelu2d:488,bnrelu3d:488,board:6,boat:503,bodi:[149,459,461,462],boil:5,book:503,bool:[1,2,4,9,11,13,14,15,30,32,33,34,35,44,47,48,49,50,51,53,55,56,62,63,64,88,90,91,92,95,101,102,111,112,113,114,123,124,126,131,132,133,134,137,138,139,141,143,150,151,154,158,160,169,170,171,172,173,174,177,179,184,185,186,187,189,191,193,202,203,204,205,206,207,208,209,210,211,215,216,217,221,222,223,224,225,226,227,229,231,232,233,234,235,236,237,239,242,243,247,248,250,251,252,253,254,255,256,258,259,260,261,265,266,267,268,269,273,276,277,278,279,280,282,286,288,289,290,291,292,298,301,302,309,312,318,320,324,325,349,350,351,352,358,361,362,365,370,372,375,377,378,379,380,381,382,383,384,392,398,402,403,414,415,421,422,423,424,425,432,434,438,443,446,447,449,450,451,455,456,457,459,460,461,463,465,466,467,468,470,485,486,488,489,490,494,495,497,498,500,503,504,505,506],bool_tensor:495,booltensor:[94,115,122,140,155,176,181,197,279,313,454,495,498],bootcamp:5,bootstrap:484,bor:14,border:[470,505],both:[2,8,11,13,14,15,43,88,109,125,138,141,143,154,182,207,208,212,213,214,218,221,222,223,224,225,226,237,238,243,250,251,252,257,258,259,267,268,269,273,309,319,320,324,387,423,427,443,459,461,467,468,469,470,474,478,482,485,486,488,490,492,493,498,500,502,503,505],bottl:503,bottleneck:[458,503],bottom:[2,470,505],bound:[3,10,55,66,290,383,398,462,470,471,483,486,498,500,504],boundari:[55,218,219,220,293,294,295,296,297,320,323,398,460,470,486,488,490,500],bowen:7,bowenbao:7,bowl:503,box:[468,477,500,503,504,505],bozkurt:7,bparam:160,bptt:479,br_flip:505,bracket:491,brain:[495,498],branch:[5,457,461,503],brand:14,bregman:15,breviti:[2,485],brief:[14,324,466,490],bright:[500,505],brightness_factor:505,bring:[470,490],broadcast:[11,14,15,23,24,25,26,27,28,29,41,43,53,54,85,86,87,94,108,109,115,117,122,155,156,176,181,182,185,189,190,192,194,197,279,324,369,387,389,433,454,458,467,468,477,485,498],broadcast_buff:324,broadcast_coalesc:11,broadcast_multigpu:14,broadcast_tensor:460,broadcast_warn:474,broadcastinglist1:470,broadcastinglist2:[470,488],broadcastinglist3:470,broader:[6,480,499],broccoli:503,broken:[5,11,13],brokenpipeerror:484,bsize:497,bucket0:477,bucket1:477,bucket:[202,324,398,460,477],bucket_cap_mb:[324,477],buf:[143,237,273],buffer:[2,3,11,13,143,147,148,154,159,230,237,273,324,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345,397,414,434,461,473,477,478],buffer_s:11,bug:[1,6,177,472,481],bugfix:5,build:[2,9,10,14,15,313,459,469,470,473,488,491,497,505],build_directori:9,build_ext:9,buildextens:9,built:[5,14,68,473,475,481,486],builtin:[159,459,461,462,490,492],bulk:13,bump:273,bundl:480,bus:503,bvar:160,bwd:1,bxor:14,byclass:500,bymerg:500,bypass:476,byte_arrai:159,bytecod:13,bytesio:[147,148,159,397],bytesliter:462,bytetensor:[11,18,94,121,279,313,407,489,495,498],bz2:500,c10:480,c10_log_api_usage_onc:480,c10d:[14,477],c655:160,c676:160,c99:484,c_0:[257,258],c_1:258,c_float32:1,c_j:[207,208,209,267,268,269],c_n:257,c_t:257,cach:[11,15,102,126,131,325,392,466,479,498,503],cache_s:15,caffe2:[485,497],cake:503,calcul:[2,4,13,53,59,79,81,93,141,165,166,168,207,208,209,212,213,214,217,224,225,226,238,243,250,251,252,259,309,319,320,324,334,353,356,358,366,403,412,421,422,427,440,442,450,451,470,473,474,477,484,486,488],calculate_gain:[463,471],calculate_qparam:488,calib_data:488,calibr:[1,472,488],call:[1,2,9,10,11,13,14,15,116,134,143,144,146,148,149,159,160,206,212,213,214,230,231,232,233,237,238,270,271,272,273,280,281,309,319,324,334,337,338,339,341,342,343,344,353,355,356,363,364,368,381,404,405,423,433,457,459,462,466,468,470,472,475,476,477,478,479,480,481,484,485,486,488,490,491,492,495,496,497,498,503,506,507],callabl:[2,13,15,17,143,144,149,150,159,160,237,273,457,459,461,462,486,488,490,498,500],callback:[17,480,490],calle:[490,492],caller:[473,476,490,492],camera:[480,497],can:[2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,25,37,45,46,58,64,88,89,90,94,102,115,122,126,130,131,141,143,144,145,148,149,150,151,154,155,159,176,177,179,188,197,200,201,202,204,205,206,207,208,209,210,211,212,213,214,216,217,221,222,223,224,225,226,229,230,231,234,235,237,239,241,247,253,254,256,257,260,264,265,267,268,269,270,271,272,273,274,275,278,280,283,284,286,287,288,289,290,291,292,298,299,301,306,309,312,313,320,324,326,348,349,358,361,369,377,381,390,392,397,403,404,406,413,414,415,419,423,425,427,432,434,438,448,455,457,459,460,461,464,466,467,468,470,472,473,474,475,476,477,478,480,481,482,483,484,485,486,488,490,491,492,493,495,496,497,498,499,500,502,503,505,507],can_cast:460,cancel:141,candid:2,cannot:[1,2,13,15,17,141,146,193,217,320,425,426,457,459,460,461,462,463,468,470,477,478,484,485,490,492,493,494,495,498,505],cap:500,capabl:[10,11,14,375,476,480,490,499],capac:476,capacit:15,captur:[2,10,11,144,459,462,476,478,485],car:503,card:484,cardin:15,care:[5,9,15,425,427,466,473,475,476,477,478,479,481,493],carefulli:485,carlo:15,carri:[1,474,488,498],carrier:15,carrot:503,cartesian:[15,57],cartesian_prod:460,cast:[1,2,56,75,76,143,237,273,358,370,415,424,443,459,470,472,485,494,495,498,505],cast_input:[1,472],castabl:86,cat:[1,15,291,459,460,467,485,488,493,498,500,503],categor:[5,462,470,490],categori:[15,193,463,495,500,503],categorynam:497,cattransform:15,cauchi:[473,498,499],cauchy_:[460,467,498,499],caught:466,caus:[1,2,4,9,13,14,149,150,423,459,466,470,474,476,479,481,484,485,488,492,498],caveat:[466,476],cb_fut:17,ccc:497,cdf:15,cdist:1,cdot:[195,210,211,228,246,253,276,277,278,280,423,470],cdoubl:[2,8,495,498],ceil:[13,207,208,209,255,256,267,268,269,460,467,470,485,488,498,504],ceil_:[460,467,498],ceil_mod:[207,208,209,255,256,267,268,269,460,470,488],celeba:501,celebfac:500,cell:[242,257,258,289,503],cellparamsbas:460,celu:[460,485],celu_:460,center:[141,365,423,460,470,486,488,497,498,504,505],center_crop:505,center_flip:505,centercrop:[503,505],central:[480,505],cerr:480,certain:[11,13,14,81,141,143,147,159,237,259,273,279,319,357,468,470,474,480,485,490,491,493],certainli:131,cfloat:[2,8,127,385,453,495,498],ch_axi:488,chain:[2,13,15,17,61,236,473,498,505],chain_cb_fut:17,chain_matmul:[1,460],chainabl:486,chaindataset:13,chair:503,challeng:[5,491],chanan:[6,7],chanc:[5,15],chang:[1,2,5,8,11,14,15,17,81,118,128,143,148,149,235,237,253,273,320,324,357,419,423,436,459,464,466,467,468,470,472,473,474,475,476,478,484,485,486,488,490,492,493,494,496,497,498,503,505],channel:[6,13,141,212,213,214,221,222,223,224,225,226,231,232,233,238,243,250,251,252,259,262,281,304,309,319,320,321,322,333,334,335,342,343,355,373,468,469,470,471,485,488,497,498,500,502,503,504,505],channel_shuffl:460,channels_last:[143,237,273,324,495],chao:160,charact:[406,459,468,470,490],characterist:426,chart:497,chartensor:[495,498],chartnam:497,cheap:[15,202],cheaper:13,check:[1,3,8,9,11,13,14,15,30,102,126,131,136,138,139,140,141,150,151,177,324,340,350,392,398,457,461,462,467,468,472,478,479,480,485,486,490,497,498,500],check_compiler_abi_compat:9,check_hash:[457,465],check_input:[150,151,459],check_model:485,check_reduct:324,check_sparse_nnz:2,check_toler:[150,151],check_trac:[150,151],check_undefined_grad:2,checker:[150,151,485],checkout:485,checkpoint:[1,2,159,324,457,458,465,492],checkpoint_sequenti:4,cher:7,cherniavskii:7,child:[13,143,237,273,334,466,484,488,492],children:[143,237,273,466,488,492],chintala:[6,7],choic:[150,274,283,475,485,505],choleski:[15,63,64,160,460,498],cholesky_invers:[460,498],cholesky_solv:[460,498],choos:[2,10,53,210,471,472,475,497],chose:472,chosen:[1,81,154,406,414,434,472,485,488,505],chr:460,christian:7,chrome:2,chunk:[4,11,13,14,58,230,324,416,459,460,467,490,496,498],chunk_siz:11,church_outdoor_train:500,chw:497,cifar100:500,cifar10:500,cifar:501,circleci:5,circular:[15,221,222,223,470],circumst:[46,217,221,222,223,224,225,226,470,498],circumv:4,cityscap:501,claim:5,clamp:[210,460,464,467,470,485,488,498],clamp_:[460,467,498],clamp_max:[460,485],clamp_max_:460,clamp_min:[460,485],clamp_min_:460,class_async_add:490,class_i:500,class_index:[13,500],class_x:500,classat_1_1_tensor:10,classif:[211,217,229,276,278,280,302,470,471,500,501],classifi:[473,485,486,497],classmethod:[11,235,236,309,329,330,331,332,333,334,335,336,462,488,490],classvar:461,claus:479,clean:[11,14,457,466],cleaner:473,clear:[274,283,457,476,486],click:499,client:490,clip:[1,326,327,500,503],clip_grad_norm_:[1,472],clip_grad_value_:472,clip_valu:327,clock:503,clockwis:505,clone:[2,10,13,36,54,92,145,432,438,460,466,470,488,493,494,495,498],cloned_coeffici:438,close:[10,11,55,137,398,478,490,497],closest:[59,395,470],closur:1,cloud:497,clr:[61,486],cls:[490,498],cluster:[202,497],clutter:497,cmake:484,cmake_gener:484,cmake_include_path:484,cmdclass:9,cmyk:505,cnn:[301,473,488,504],coalesc:[11,460,477,493,498],coars:500,coco:[501,503],coco_instance_category_nam:503,coco_person_keypoint_nam:503,coco_util:503,cococapt:500,cocodetect:500,code:[2,3,6,8,9,10,13,14,15,143,145,146,148,149,150,151,152,159,288,324,405,457,461,468,473,474,477,478,479,480,481,482,484,485,486,489,490,491,492,493,495,496,498,503],code_with_const:143,codebas:6,codec:159,codomain:15,coeffici:[123,438,486],coexist:468,cohes:6,col2im:[238,460],col:[440,442,460,500],col_offset:460,col_offsets_hh:460,col_offsets_ih:460,colesburi:[6,7],collaps:467,collat:13,collate_wrapp:13,collect:[2,5,13,17,59,90,361,377,381,455,460,461,486,488,490,492,497,500],collect_al:17,collector:488,colon:490,color:[252,497,500,505],colorjitt:505,colors_tensor:497,column:[2,88,101,105,106,160,175,193,221,222,223,224,225,226,319,365,425,440,442,449,470,471,498,504,505],columns_prun:343,com:[5,6,14,313,457,465,484,485,488],combin:[1,11,13,17,211,229,238,319,334,459,460,461,470,472,476,485,488,490],combinations_with_replac:67,come:[5,13,15,159,232,233,464,480,490,492,500],comm:[11,477],comma:[14,89],command:[2,3,14,484,491],comment:[5,462,478,497],commit:[5,6,457,482],committ:6,common:[13,32,159,212,213,214,217,309,397,468,476,478,479,481,488,496,500,501,505],commonli:[14,15,463,472,486,488,495],commun:[5,6,458,477,490,491],comp:15,compact:[478,488],compani:6,compar:[2,4,9,13,30,32,89,94,115,122,137,155,176,185,189,197,273,478,484,488,490,497],comparison:[94,115,122,150,151,155,176,197,462,478],compat:[9,13,15,146,152,390,461,466,467,472,478,494,498,500],compil:[9,10,11,145,146,149,150,151,152,459,461,462,463,472,475,480,484],compilationunit:[150,151],complementari:[97,505],complet:[5,11,13,14,17,144,149,153,372,461,462,466,470,472,473,476,482,490,491,498,505],complex128:[8,111,132,400,495,498],complex32:498,complex64:[8,111,132,400,495,498],complex:[1,2,5,88,102,126,127,131,132,138,139,140,143,237,273,375,385,392,400,423,452,453,458,462,481,494,495,498,505],complex_doubl:494,complex_double_tensor:495,complex_float:494,complex_float_tensor:495,complex_tensor:8,complic:[3,468,474,490,492],compon:[5,10,14,15,102,314,316,365,452,453,462,477,480,505],component_distribut:15,compos:[15,62,64,130,199,200,201,203,204,205,207,208,209,221,222,223,224,225,226,239,255,256,262,267,268,269,318,321,322,459,467,470,485,488,497,503,505],composetransform:15,composit:[15,459,482],compound:462,comprehens:[462,468,476],compris:4,comput:[1,4,5,8,11,13,14,15,19,31,37,47,48,49,50,59,61,62,63,67,69,84,85,87,88,89,93,94,96,97,98,102,109,110,115,116,122,125,126,131,143,144,149,155,157,160,169,170,171,172,174,175,176,177,184,195,197,202,206,207,208,209,212,213,214,228,231,235,236,237,241,243,250,251,252,255,256,257,259,264,267,268,269,270,271,272,273,280,282,286,287,303,305,309,324,326,329,330,331,332,333,334,335,336,337,349,355,356,363,368,372,387,388,392,403,423,425,426,427,433,443,459,467,468,469,470,472,473,475,476,478,479,482,485,486,488,490,493,498,501,503,504,505,506],compute_mask:[329,330,331,332,333,334,335,336],compute_mod:59,compute_uv:[425,460,498],compute_z:475,concat:[279,485],concatdataset:13,concaten:[2,9,11,13,58,217,221,222,223,224,225,226,236,326,420,462,470],concentr:15,concentrarion:15,concentration0:15,concentration1:15,concept:[5,485,495],conceptu:[2,473,492],concern:[13,466],concis:490,concret:[15,320,459,470,478,481,488,503],concurr:[475,476,490,491],cond:485,conda:[484,485],condit:[2,12,30,141,150,241,257,287,350,454,459,460,461,462,473,478,485,497,498],condition:[2,403],condsid:470,conduct:[6,324,365,426,490],confer:6,confid:[5,497],config:484,config_dict:497,configur:[0,5,13,14,102,126,131,324,348,392,402,476,477,484,488,490,497,503],confirm:[5,459,478,485,490,492],confirmed_by_own:490,conform:348,conj:[8,460,498],conjuct:324,conjug:[69,88,131,160,392,423,486],conjunct:[13,324,470],connect:[14,221,222,223,224,225,226,466,473,488,490,503],connectionist:[217,470],conquer:425,consecut:[1,14,446,447,468,498,505],consensu:5,consequ:476,consid:[2,30,64,80,81,82,83,137,140,143,184,237,238,253,273,276,319,325,329,330,331,332,333,334,335,336,427,439,440,441,442,457,459,470,472,474,478,479,486,488,491,492,495,498,500],consider:[5,41,141,236,475],consist:[13,15,62,372,425,427,459,468,485,486,488,501],consol:497,constant:[2,13,141,143,145,150,160,218,219,220,236,238,319,366,460,470,472,478,485,486,488,505],constant_:471,constant_pad_nd:460,constantpad2d:470,constantpadnd:485,constmap:143,constrain:[15,306],constraint:[2,324,348],constraint_registri:15,constraintregistri:15,construct:[2,10,13,15,80,116,143,149,150,151,159,221,222,223,237,273,324,348,365,415,426,432,459,473,477,481,488,490,492,493,495,497,498,503],construct_transform:15,constructor:[9,13,202,278,299,321,322,324,459,462,476,477,488,490,493,495,498,503,507],consum:[13,16,89,466,481,497],consumpt:[2,356,497],contain:[1,2,4,8,9,10,11,13,14,15,18,24,43,44,45,51,53,55,88,94,102,109,115,122,123,124,126,127,128,131,138,139,140,143,147,148,150,151,155,159,175,176,177,181,185,187,189,193,197,202,211,229,230,235,236,237,238,241,242,243,248,253,257,258,266,273,274,275,280,283,284,287,289,299,302,309,319,324,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,346,347,348,349,350,351,353,355,357,365,367,385,387,392,397,398,412,413,423,425,427,440,442,446,447,459,461,462,468,470,472,473,477,478,479,480,485,486,488,490,492,494,495,497,498,499,500,502,503,504,505],containu:150,content:[2,5,147,148,419,436,457,465,466,486,490,496,497,498],contenti:6,context:[1,11,93,324,356,403,462,466,472,476,478,480,481,485,489,490,492,499],context_id:[324,460,490,491],contigu:[2,8,103,130,237,276,324,390,413,425,427,460,468,470,494,496,498],contiguous_format:[90,324,495,498],continu:[2,13,15,216,217,253,366,462,485,488,498,499],continuous_bernoulli:15,continuum:484,contract:[433,468],contrail:500,contrari:[5,475],contrast:[15,486,503,505],contrast_factor:505,contribut:[2,6,229,280,437,458,470],contributor:[5,6],control:[1,2,9,13,35,44,51,80,81,82,83,102,123,124,126,131,149,150,177,202,221,222,223,224,225,226,238,260,267,268,269,319,324,392,402,414,423,425,427,434,439,440,441,442,459,473,475,476,477,481,485,488,492,505],conv1:[149,273,299,459,488,497],conv1d:[1,224,460],conv2:[149,273,299,459],conv2d:[1,149,150,151,225,232,237,273,274,280,299,319,342,459,460,464,485,497],conv3d:[1,226,233,460],conv4:[143,237,273],conv5:[143,237,273],conv:[150,151,221,222,223,224,225,226,274,280,471,485,488],conv_bn_fus:464,conv_fus:488,conv_tbc:460,conv_transpose1d:[1,460],conv_transpose2d:[1,460],conv_transpose3d:[1,460],convbnmodul:488,conveni:[1,5,9,457,461,472,476,478,480,489],convent:[2,89,212,213,214,250,251,252,273,309,397,437,457,465,473,485,498],conver:488,converg:[160,472,486],converged_count:160,convers:[5,56,134,348,462,473,485,488,498,501],convert:[2,13,37,57,67,77,143,237,273,309,328,354,373,374,376,459,460,461,478,485,488,497,498,505],convert_image_dtyp:505,convert_sync_batchnorm:309,convmodul:488,convolut:[1,221,222,223,224,225,226,232,233,285,290,318,319,460,464,471,475,488,504],convolv:[221,222,223,224,225,226,470,488],convtranspos:353,convtranspose1d:470,convtranspose2d:470,convtranspose3d:470,coo:[415,493,495,498],cooldown:486,coordin:[5,15,41,415,440,442,493,497,498,504,505],cope:481,copi:[5,8,11,13,14,37,143,149,160,230,237,238,273,319,348,390,432,459,460,466,474,476,478,481,485,488,490,494,495,496,498],copy_:[2,320,459,460,467,476,488,494,498],copysign:460,copyslic:473,core:[5,11,475,477,485],corner:[52,320,470,488,505],coroutin:462,corpor:[5,6],correct:[3,5,14,15,128,131,150,151,230,253,324,348,405,421,422,450,451,459,461,467,468,494,498,505],correctli:[4,13,14,150,324,459,461,468,470,472,473,478,481,485,490,498],correl:[2,15,221,222,223,224,225,226,232,233],correspond:[1,2,5,11,13,14,15,37,63,88,137,143,151,160,185,189,192,193,230,235,237,273,279,313,324,337,338,339,341,342,343,344,353,367,392,393,398,448,457,459,460,467,468,470,472,477,478,480,485,486,488,490,491,494,497,498,503,504,505],correspondingli:464,corrupt:[1,230,481,500],cos:[21,51,123,124,227,228,460,467,485,486,497,498],cos_:[460,467,498],cosh:[1,22,460,467,498],cosh_:[460,467,498],cosin:[22,70,71,227,228,470,486],cosine_embedding_loss:[1,460],cosine_similar:[1,460],cosineannealinglr:486,cosineannealingwarmrestart:486,cosineembeddingloss:470,cost:[2,3,46,61,217,221,222,223,224,225,226,470,491,498],cotang:473,couch:503,could:[3,5,11,13,15,141,159,253,366,446,461,466,473,476,477,484,486,490,491,492,496],couldn:[484,485],count:[2,11,15,46,348,446,447,460,490,492],count_include_pad:[207,208,209,460,470,488],counter:[2,11,230,466,473,505],counterpart:[464,488,499],coupl:[480,482,491],cours:[3,457,477,478,486,490],courtesi:15,cov_diag:15,cov_factor:15,covari:[15,212,213,214,309,365,505],covariance_matrix:15,covector:473,cover:[463,468,478,480,488,490,500],coverag:[5,458,459,463,468],cow:503,cpp:[5,6,9,14,193,477],cpp_autograd:10,cpp_c10d_extens:14,cpp_extens:[14,458,478],cpp_frontend:10,cpp_sourc:9,cppdoc:[5,10],cppextens:9,cprofil:3,cpu:[1,2,3,8,9,11,14,18,32,37,44,51,90,92,101,102,112,119,120,123,124,126,131,143,147,148,158,159,173,177,185,187,189,230,235,237,273,324,348,361,377,379,381,383,384,392,402,404,405,415,425,432,433,440,442,446,455,458,459,460,464,466,467,470,476,481,482,484,485,488,489,490,494,495,498,499,504],cpu_memory_usag:2,cpu_model:459,cpu_tim:2,cpu_time_tot:2,cpuhrsch:7,crack:5,crash:[466,473,490,492,497],creat:[1,2,4,5,9,11,13,14,15,17,18,36,52,81,92,111,141,144,153,188,193,210,227,235,236,238,254,265,266,276,277,278,301,302,309,318,319,324,348,415,432,462,464,466,472,473,476,477,478,481,485,488,490,491,492,494,496,497,498,499,500,504,507],create_extens:484,create_graph:[2,460,472,498],creation:[2,11,13,324,329,459,462,466,476,488,490,492,498,500],creator:[473,490,492],crelu:291,criteria:160,criterion:[160,210,211,227,229,253,254,265,266,276,277,278,301,302,318,470,479,486,504],critic:[353,475,488],crop:[503,504,505],cross:[1,5,15,210,221,222,223,224,225,226,460,470,476,484,498],cross_entropi:[1,460],crossentropyloss:[280,470],crucial:10,csr:236,csrc:[484,485],ctc_loss:[217,460,482],ctcloss:470,ctx:[2,472,478],cube:[201,205,375],cubla:[8,11],cublashandle_t:11,cuda0:[476,498],cuda1:495,cuda2:476,cuda92:484,cuda:[2,3,4,9,13,14,18,32,37,44,46,51,53,90,92,101,102,112,123,124,126,131,143,158,159,173,177,191,217,221,222,223,224,225,226,230,235,237,273,309,324,361,377,379,381,383,384,392,415,432,433,440,442,446,455,458,460,467,470,472,478,482,485,486,488,489,490,494,495,498,499,503],cuda_extens:9,cuda_hom:9,cuda_launch_block:476,cuda_memory_usag:2,cuda_prefix:484,cuda_runtim:9,cuda_sourc:9,cuda_tim:2,cuda_time_tot:2,cuda_visible_devic:[11,476],cudaev:2,cudaeventsynchron:11,cudaextens:9,cudamalloc:11,cudart:[9,484],cudastreamsynchron:11,cudastreamwaitev:11,cudnn:[12,46,217,221,222,223,224,225,226,241,257,287,288,460,470,498,503],cudnn_affine_grid_gener:460,cudnn_batch_norm:460,cudnn_convolut:460,cudnn_convolution_transpos:460,cudnn_en:460,cudnn_grid_sampl:460,cudnn_is_accept:460,cufft:[102,126,131,392],cufft_plan_cach:476,cuh:9,cultur:6,cummax:[460,498],cummin:[460,498],cumprod:[1,460,467,498],cumsum:[1,460,467,485,498],cumul:[15,73,74,75,76,167,212,213,214,240,309,470],cunningham:15,cup:503,cur:486,curl:484,current:[1,2,4,6,8,9,11,13,14,17,18,32,37,44,51,90,92,101,102,111,112,118,123,124,126,131,143,145,150,158,160,173,235,236,237,238,273,309,319,324,332,333,334,335,336,341,342,343,344,361,377,379,381,383,384,392,415,432,440,442,446,455,459,461,462,463,466,470,472,476,480,482,484,485,486,488,490,491,494,495,498,500,502,504],current_blas_handl:11,current_datetime_hostnam:497,current_devic:[11,495],current_stream:11,curv:497,custom:[1,9,10,13,14,143,235,237,273,313,329,338,462,466,467,473,480,484,486,488,498,501,505],custom_bwd:[1,472],custom_decod:313,custom_domain:485,custom_encod:313,custom_fwd:[1,472],custom_loop:485,custom_op:485,custom_opset:485,customiz:462,cut:[5,488],cutoff:[202,366],cxx11:10,cxx:9,cycl:[2,486,498],cycle_momentum:486,cyclic:[486,505],cycliclr:486,d_1:[229,280,470],d_2:[229,280,470],d_float32:1,d_k:[229,280,470],d_model:[313,314,315,316,317],daemon:466,dag:2,dai:5,damania:7,dampen:486,danger:492,dantu:7,dark:505,darker:505,dart:500,dash:[490,492],data1:500,data2:500,data:[1,2,5,8,12,14,15,32,37,44,51,55,75,76,90,91,92,101,112,113,123,124,125,132,133,150,158,159,160,173,179,215,217,230,241,243,250,251,252,257,259,261,280,287,288,320,324,325,348,349,350,351,358,361,362,365,370,373,374,375,377,378,379,380,381,382,383,384,390,398,415,424,432,440,442,448,455,456,458,459,460,462,466,470,472,473,474,476,478,480,481,483,484,486,488,490,492,493,494,495,496,497,498,499,500,504,505],data_load:[481,486,500],data_parallel:479,data_ptr:[463,467,494,496,498],data_sourc:13,data_typ:488,databas:[13,500],dataformat:497,dataload:[13,324,476,479,484,486,497,498,500],dataparallel:[1,14,324,351,479,481],dataset:[202,211,479,480,484,486,488,497,501,503,505],dataset_it:13,datasetfold:501,datatyp:[1,143,184,237,273,485],datetim:14,datset:500,david:[7,202],dcgan:485,ddp:[309,324,477],ddp_model:[324,477],ddp_sync_bn_network:309,deactiv:505,deadlock:[14,324],deal:[5,433,466,479,505],dealloc:[466,476,479],debug:[2,3,13,14,461,473,475,480,482,484,485],debugg:146,debuginfoguard:480,decai:[281,486],decemb:375,decent:13,decid:[3,5,14,338,500],decis:[150,472],declar:[2,9,13,461,462,485],decod:[16,159,313,314,315,501,502],decoder_lay:[314,315],decompos:473,decomposit:[15,62,116,365,366,372,425,426],decompress:[457,465],deconvolut:[224,225,226,470],decor:[1,2,15,93,146,149,152,356,459,461,472,478,490],decoupl:[355,486],decreas:[11,15,232,233,349,350,437,486,495,504],dedic:476,deep:[5,6,212,213,214,309,458,471,486,488,503],deeper:503,deeplabv3_resnet101:503,deeplabv3_resnet50:503,def:[1,2,13,15,17,93,143,144,145,146,148,149,150,151,152,237,273,274,275,283,284,356,457,459,461,468,472,473,475,477,478,479,481,484,485,486,490,491,492,498,505],default_dynamic_qconfig:488,default_eval_fn:488,default_fake_qu:488,default_gener:499,default_load:500,default_mask:[329,330,331,332,333,334,335,336],default_observ:488,default_qat_qconfig:488,default_qconfig:488,default_stream:11,default_weight_fake_qu:488,default_weight_observ:488,defin:[1,2,4,9,10,13,15,89,90,92,96,97,98,112,116,137,160,188,191,230,247,255,256,290,303,305,312,324,333,335,342,343,359,361,377,379,381,406,425,427,439,440,441,442,454,455,457,459,463,466,467,470,477,484,485,486,488,490,493,498,499,500,505],define_macro:484,definit:[5,13,15,62,63,64,253,457,459,461,462,470,472,473,478,485,488,497,503],deform:504,deform_conv2d:504,deformconv2d:504,deg2rad:[460,467,498],deg2rad_:[460,467],degrad:[475,478],degre:[15,77,282,318,376,394,460,473,505],del:[462,466,479],delai:492,delet:[14,457,466,489,490,492],delimit:462,deliv:6,deliveri:492,delta:[15,241,248,257,471,486],delv:471,demand:[11,461,480,490],demonstr:217,denomin:[25,86,108,212,213,214,243,250,251,252,259,309,486],denorm:402,denot:[2,15,221,222,486,491,505],dens:[2,44,51,53,123,124,160,426,493,495,498,503],dense_dim:[415,460,493,498],densenet121:503,densenet161:503,densenet169:503,densenet201:503,densenet:485,densiti:15,depend:[2,3,4,13,14,15,149,150,182,210,211,221,222,223,224,225,226,227,229,236,238,248,253,254,265,266,276,277,278,280,286,301,302,318,319,320,334,365,372,375,390,438,454,457,459,461,466,470,475,476,482,485,486,488,490,493,498,503],dependent_properti:15,deploi:[5,480],deploy:458,deprec:[11,14,210,211,227,229,247,248,253,254,265,266,276,277,278,280,286,301,302,318,321,322,384,459,463,466,470,474,485,488,494,498,505],depth:[11,209,223,226,269,320,470,488,503,504,505],depthwis:[221,222,223],dequant:[460,498],dequantstub:488,deriv:[2,6,14,84,177,324,366,368,461,478,488,490,498],derivedp:15,derivedq:15,descend:[35,143,237,273,414,425,460,498],descent:[8,15,486],describ:[1,4,5,11,13,56,86,202,207,208,209,210,211,212,213,214,221,222,223,224,225,226,229,231,232,233,238,239,243,246,250,251,252,253,254,259,265,267,268,269,280,286,290,309,318,319,423,459,461,470,471,472,473,477,479,480,485,486,488,491,492,498,503,504],descript:[0,5,9,160,461,470,476,478,480,485,507],descriptor:[13,318,462,485,500],deseri:[159,457,465],design:[2,5,6,13,15,457,478,503],desir:[1,2,11,13,14,15,18,32,37,44,51,75,76,90,91,92,101,112,113,123,124,143,158,173,180,210,237,273,348,358,361,362,370,373,374,375,377,378,379,380,381,382,383,384,407,415,424,432,440,442,455,456,467,468,470,472,473,476,485,489,490,493,494,495,498,505],desmaison:7,despit:[150,151],destin:[11,14,114,143,175,237,273,490,491,494,498],destroi:[230,473,490],destruct:[490,492],destructor:[466,492],det:[15,168,412,460,485,498],detach:[2,4,217,324,432,459,460,467,470,479,496,498],detach_:[2,460,467,498],detail:[0,1,2,5,8,10,11,13,15,79,102,116,126,131,143,150,166,168,175,185,187,189,202,206,216,224,225,226,230,235,236,237,239,241,257,273,279,285,287,298,318,325,351,357,363,364,366,392,412,459,460,461,470,473,477,478,479,480,485,486,488,490,491,492,493,496,497,498,499,503,505],detect:[4,9,13,14,145,466,485,490,501,504],detect_anomali:2,detector:231,detectron2:504,determin:[2,6,8,9,11,13,15,44,51,56,61,79,86,91,113,123,124,131,168,239,282,329,330,331,332,333,334,335,336,362,366,378,380,382,412,423,456,462,468,470,476,477,482,486,488,492,495,497,505,506],determinist:[4,15,18,46,53,150,151,185,187,189,217,221,222,223,224,225,226,399,460,470,473,482,486,489,498],deterministicli:144,dev:6,dev_idx:14,develop:[14,461,478,480,485,488,490],deviat:[15,206,212,213,214,243,250,251,252,259,309,359,421,422,471,498,505],devic:[1,2,4,11,14,18,32,37,44,51,90,91,92,101,112,113,123,124,143,147,148,158,159,173,177,185,187,189,230,237,273,324,348,361,362,377,378,379,380,381,382,383,384,415,432,433,440,442,455,456,458,459,460,461,463,467,470,472,477,479,482,485,486,488,489,490,494,498],device_count:[11,14],device_id:[14,159,230,309,324,470,477],device_of:11,devito:7,df1:15,df2:15,dfrac:[228,353,355,470,498],dhanainm:7,dhanasekar:7,diag:[15,365,425,426,427,460,498],diag_emb:[83,425,427,460,498],diagflat:[80,460,498],diagn:15,diagnost:459,diagon:[15,52,80,81,82,89,101,435,438,439,440,441,442,460,470,478,496,498],diagonaltensor:478,diagram:492,dict:[1,11,15,143,150,151,159,160,230,237,238,273,274,283,299,319,457,459,460,462,465,478,485,486,488,490,491,497,502,503],dictat:324,dictionari:[9,11,13,15,143,147,150,151,160,235,236,237,273,274,283,461,462,470,478,485,486,488,490,497,500,503],did:[2,5,461],didn:[473,478,484,486],dies:466,dieterich:7,diff:[5,459],differ:[1,2,4,9,11,13,14,15,32,81,83,86,89,105,106,128,131,143,148,150,202,212,213,214,218,219,220,230,237,250,251,252,271,273,276,279,293,294,295,296,297,309,315,317,323,324,365,389,392,446,447,457,459,461,463,466,467,470,472,473,474,475,476,477,478,481,482,484,485,486,488,490,492,493,495,497,498,500,503],differenti:[15,216,217,324,470,473,478,479,490,498],difficult:[2,5],difficulti:[5,471],digamma:[368,460,467,498],digamma_:[460,467,498],digit:[406,457,465,480,500],dilat:[221,222,223,224,225,226,238,267,268,269,319,460,470,485,488,504],dim0:[436,460,498],dim1:[81,83,436,460,498],dim2:[81,83,460,498],dim:[2,11,15,33,34,35,58,65,72,73,74,75,76,103,104,114,128,154,167,174,185,186,187,189,191,196,202,228,230,236,237,264,279,280,281,303,305,324,329,333,335,342,343,353,355,358,370,388,389,393,394,414,416,419,420,421,422,424,433,434,437,445,446,447,448,450,451,459,460,468,470,479,485,488,493,495,498],dim_arang:485,dim_feedforward:[313,315,317],dimems:498,dimens:[2,8,11,13,15,24,33,34,35,52,58,61,62,64,65,72,73,74,75,76,79,81,82,83,89,102,126,128,130,131,154,167,168,174,178,182,185,186,187,188,189,191,195,196,208,209,210,211,212,213,214,215,216,217,222,223,225,226,228,229,230,234,235,236,238,240,244,245,246,247,248,250,251,252,253,254,256,259,260,261,262,263,264,265,268,269,279,280,281,282,286,290,291,292,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,315,317,318,319,324,329,330,331,332,333,334,335,336,349,350,352,353,355,357,358,366,370,372,373,375,388,389,390,392,393,398,406,412,413,414,415,416,419,420,421,422,423,424,425,427,428,433,434,436,437,438,439,440,441,442,445,446,447,448,450,451,452,453,460,461,470,471,474,479,488,493,495,497,498,505],dimension:[2,15,52,57,81,83,105,106,114,158,173,182,188,202,218,219,220,229,230,235,236,264,280,293,294,295,296,297,303,305,309,323,357,375,415,432,470,471,474,494,495,498,499],dims_i:485,dims_oth:460,dims_self:460,dine:503,diningt:503,dir:[457,485,500],dirac:471,dirac_:[463,471],direct:[5,6,8,14,105,106,143,237,241,253,257,273,287,355,365,375,394,473,478,482,488,505],directli:[1,5,6,9,10,13,14,15,116,143,237,273,303,349,363,364,459,461,470,476,477,480,481,485,488,490,493,497],directori:[9,14,457,465,480,483,497,500,503],dirnam:457,dirti:473,disabl:[1,93,150,151,324,356,402,403,406,461,472,475,476,489],disable_cuda:476,disable_jit_exampl:459,disadvantag:459,disallow:[490,495],disambigu:165,disappear:467,discard:[141,457,461,473,504],disconnect:2,discourag:[2,11,473],discov:[14,490],discrep:375,discret:[15,102,126,131,253,392,470,498,499],discrimin:353,discuss:[6,15,490,492,503],disjoint:459,disk:[2,13,397,497],dispatch:[14,146,478,485],displai:[11,457,462,465,470,485,497,503,506],displaystyl:195,dissimilar:[227,248],dist:[1,14,15,413,425,460,477,492,498],dist_autograd:[324,490,491],dist_autograd_simpl:491,dist_optim:[324,490,491],distanc:[59,141,196,227,248,253,282,318,423,437,486,500,504],distinct:[79,168,412,425,427,478,490,491],distort:505,distortion_scal:505,distribut:[8,13,17,45,193,202,206,230,231,232,233,240,253,286,290,309,324,359,367,375,377,378,379,380,381,382,458,460,468,471,472,476,488,492,493,497,498,499],distributed_test:14,distributeddataparallel:[1,13,14,230,309,481],distributedoptim:[324,490,491],distributedsampl:13,distutil:9,div:[25,108,202,443,460,467,485,493,495,498],div_:[460,467,493,498],div_factor:486,div_valu:202,dive:477,diverg:[150,151,253,470,485],divid:[1,4,11,86,102,148,210,211,217,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,392,425,470],dividend:[109,387,443],divis:[13,25,65,86,108,109,148,221,222,223,224,225,226,228,254,265,282,301,387,416,443,470,472,488],divisor:[109,208,209,238,319,387,443,470,488,498],divisor_overrid:[208,209,460,470,488],divmod:460,dlibenzi:7,dll:484,dlpack:458,dltensor:16,dmytro:[6,7],dnn:475,do_constant_fold:485,doc:[2,3,10,153,314,315,316,317,462,466,473,478,485,488,497],doc_str:485,docstr:[9,457],document:[11,13,14,33,34,35,56,86,116,143,202,235,236,237,273,333,342,363,364,371,391,457,461,466,467,468,469,472,478,479,485,488,496,499,506],doe:[1,2,3,4,5,6,9,11,14,15,53,87,89,117,128,131,142,148,150,156,177,181,182,185,187,189,190,194,212,213,214,221,222,223,224,225,226,229,235,236,238,241,242,250,251,252,257,258,267,268,269,274,280,283,287,289,309,319,331,362,456,457,459,461,463,464,466,467,468,470,472,474,475,476,477,478,481,485,488,490,492,493,495,498,501,505],doesn:[1,2,4,5,8,11,13,14,79,147,159,168,230,253,303,324,325,338,412,459,462,467,470,474,478,480,481,484,485,486,488,491],dog:[500,503],doi:160,doing:[5,10,13,136,150,470,478,484,488],domain:[6,15,22,42,485],domin:488,don:[1,2,3,5,8,14,181,185,189,250,251,252,320,324,359,457,459,462,466,467,468,470,473,478,479,481,484,485,486,488,490,491,498,505],done:[10,13,14,15,17,150,177,184,212,213,214,230,250,251,252,309,419,464,466,475,477,479,482,485,488,490,492,498,505],donot_use_mm_for_euclid_dist:59,donut:503,dot:[1,2,73,74,75,76,102,126,182,210,211,238,248,253,254,265,279,280,392,423,452,453,460,467,498,505],doubl:[2,56,79,143,168,169,170,171,172,236,237,273,366,412,425,467,470,478,488,494,495,498],double_tensor:495,doubler:[2,93,356],doubletensor:[23,24,25,26,27,28,29,43,66,192,401,432,495,498],dow:497,down:[2,5,11,13,15,106,108,470,480,481,488,490,492,497],download:[465,484,497,500,503],download_url_to_fil:457,downsampl:[225,320,470],downstream:1,doxygen:5,dp_m:479,dp_model:472,dpotri:63,dpython:[56,505],dqm:488,draw:[13,45,193,375,497,498],drawn:[13,193,359,375,379,380,471,498,499],drier:503,drive:[6,14,473],driven:6,driver:490,drop:[13,146,206,459,468,473,481,500],drop_last:13,dropout2d:460,dropout3d:460,dropout:[4,143,206,232,233,237,241,257,273,279,287,288,313,315,317,460,464,468,485],dropout_:[460,464],dropout_p:460,dropout_st:460,dset:500,dst1:11,dst2:11,dst:[14,457],dst_name:491,dst_rank:491,dst_tensor:14,dst_type:[143,237,273],dtype:[1,8,11,12,13,14,32,37,44,45,46,47,48,49,50,51,56,75,76,86,90,91,92,101,111,112,113,118,123,124,127,138,139,143,158,169,170,171,172,173,177,193,211,217,229,237,238,241,257,273,280,287,293,294,295,296,319,320,321,322,338,348,358,361,362,370,371,373,374,375,377,378,379,380,381,382,383,384,385,391,400,401,402,415,424,432,440,442,443,446,452,453,455,456,459,460,461,463,468,470,476,478,485,493,494,497,498,500,505,507],dtype_filt:488,dtype_input:488,duck:478,due:[2,3,4,5,15,131,177,313,366,426,459,470,473,476,482,490,492,498],duersch:160,duerschetal2018:160,dummi:[13,478,504],dummy_add:478,dummy_input1:485,dummy_input2:485,dummy_input:485,dump:484,dump_alias_db:145,dump_patch:273,duplic:[13,44,51,67,123,124,143,237,273,415,446,447,479,493,498],dure:[1,2,4,9,11,14,148,150,159,206,212,213,214,230,231,250,251,252,309,315,317,324,440,442,464,467,470,472,473,475,476,477,480,485,488,490,492,493,498,503],dynam:[1,9,10,13,147,150,159,461,462,471,485,486],dynamic_ax:485,dynamic_threshold:486,dzhulgakov:[6,7],e_float16:1,each:[1,2,4,9,11,13,14,15,16,23,24,32,43,46,53,55,59,60,62,65,66,73,74,77,86,88,89,94,96,97,98,102,105,106,107,110,115,122,126,131,137,138,139,140,143,150,151,154,155,159,160,174,175,176,177,183,185,186,187,188,189,191,192,193,197,202,207,210,211,215,217,221,222,223,224,225,226,227,229,230,231,232,233,235,236,237,238,241,242,243,248,250,251,252,253,254,255,256,257,258,259,261,265,266,273,276,277,278,279,280,281,286,287,289,301,302,304,309,312,318,319,324,348,349,351,357,359,367,369,370,376,384,388,389,392,393,395,396,398,406,416,421,422,423,424,425,427,437,446,447,449,450,451,457,461,467,468,470,471,472,473,474,475,476,477,478,479,480,481,482,485,486,488,490,491,492,493,495,497,498,500,502,503,504,505,506],eager:[405,488],eagerli:11,earli:[232,233],earlier:[1,2,479,480,485],earliest:477,eas:[2,475,478],easi:[13,459,479,480,481,485,488,490,491],easier:[5,13,36,299,459,461,468,474,478],easili:[5,8,14,280,470,486,489,490,492,497],ecosystem:480,edg:[2,470,488,491,505],edgeitem:406,edit:496,edouard:202,edu:217,edward:[6,7],effect:[1,2,5,9,13,143,202,217,224,225,226,231,232,233,237,273,320,325,334,356,403,457,459,464,470,472,473,476,486,488,494,497,498,505],effici:[2,8,13,15,61,152,160,202,232,233,236,285,464,473,477,478,488,490,491,493,495,496,498,499,503],effort:490,eig:[8,460,498],eigenpair:160,eigenproblem:160,eigensolv:160,eigenvalu:[88,160,184,365,427],eigenvector:[88,160,427,460,498],eight:[457,465],einstein:89,einsum:[460,485],either:[2,9,13,14,15,58,109,140,141,143,159,188,200,201,204,205,208,209,210,211,222,223,225,226,227,229,237,248,253,254,256,265,266,268,269,273,276,277,278,280,286,287,289,301,302,318,320,321,322,324,340,369,371,387,423,454,457,459,461,463,468,470,471,474,476,478,479,480,481,485,486,488,490,491,492,496,498,502,507],elaps:11,elapsed_tim:[11,476],elapsed_time_m:476,elast:490,eleg:481,elem:460,element:[2,11,13,14,15,19,21,22,23,25,26,30,31,33,34,36,38,39,40,41,42,45,52,54,60,66,67,69,70,71,73,74,75,76,77,80,82,83,86,88,92,94,95,96,97,98,99,100,107,109,110,114,115,122,125,134,137,138,139,140,141,154,155,161,162,164,167,169,170,171,172,175,176,177,185,186,187,189,192,193,195,197,198,206,207,210,211,212,213,214,216,217,221,222,223,224,225,226,227,229,231,232,233,234,236,238,241,242,244,245,246,247,248,253,254,257,258,259,260,263,265,266,267,268,269,274,276,277,278,279,280,281,283,285,286,287,289,290,291,292,298,300,301,302,303,305,306,308,309,310,311,312,313,318,319,348,349,351,352,357,359,360,366,367,369,370,372,376,386,387,389,390,393,395,396,406,408,409,410,411,414,415,417,418,421,422,424,429,430,431,434,435,437,438,439,440,441,442,444,446,447,450,451,454,470,471,474,475,488,493,494,495,496,497,498,499,500,504,505],element_s:[460,467,494,498],elementari:116,elementwis:[11,30,250,251,252,307,449,470],elementwise_affin:[259,488],eleph:503,elf:479,elif:461,elig:492,elimin:[14,446,447,498],ell:[210,211,248,253,254,265,280],ell_c:211,ellips:89,ellipsi:[89,462,468],ellipsis_idx:460,elman:[287,289],els:[5,9,13,14,15,46,149,152,241,257,287,459,461,462,463,466,470,476,478,494,498,500,505],elsewher:[101,457],elu:[460,485],elu_:[460,470],embed:[10,202,227,236,248,279,460,475,485,488,490,497],embed_dim:279,embed_dim_to_check:460,embedding_bag:[460,482],embedding_dim:[235,236,470],embedding_matrix:470,embedding_renorm_:460,embedding_sum:236,embeddingbag:470,emerg:484,emit:[2,9,150,489,500],emit_nvtx:[2,3],emnist:501,empir:290,emploi:486,employe:6,empti:[1,14,45,46,58,88,91,92,156,169,170,171,172,195,210,211,229,236,280,324,362,415,427,432,456,459,460,461,463,464,467,468,470,471,474,476,485,493,498,499,500],empty_cach:[11,476],empty_lik:[460,463,467,485],empty_meta:460,empty_quant:460,empty_strid:[460,463],emptydatastructur:461,emul:[462,478,488],enabl:[1,2,12,13,14,93,241,257,287,288,324,329,330,331,332,333,334,335,336,402,403,406,464,472,474,475,476,480,484,485,486,489,490,491,498,499],enable_grad:[2,356,403,463,499],enable_onnx_check:485,enable_tim:[11,476],enablerecordfunct:480,encapsul:[17,490],encod:[14,159,210,211,313,314,315,316,317,459,462,478,491],encoder_lay:[316,317],encount:[14,235,459,463,470,475],encourag:6,end:[1,5,6,11,13,14,32,44,66,83,125,141,156,158,160,173,175,196,209,210,211,227,241,242,244,245,246,247,248,253,254,257,258,260,265,268,269,275,280,281,284,290,301,307,312,384,406,446,447,454,459,460,461,466,470,472,473,477,479,484,486,488,490,498,502],end_dim:[103,237,460,498],end_ev:[11,476],end_pt:502,endl:480,endpoint:505,enforc:[143,237,273,496],enforce_sort:[349,350,351],engin:[2,8,10,375,473,477,478,488,490,491,498],enhanc:505,enough:[149,193,415,461,466,473,478,486,495,505],enqueu:[11,476,491],ensur:[1,2,3,5,6,13,14,206,276,277,279,313,324,405,457,459,461,465,466,472,473,476,478,481,482,485,488,491,498,503],ensure_tensor:478,enter:[1,14],entir:[4,5,9,13,232,233,250,251,252,259,333,335,355,470,478,479,480,483,488,490,492,505],entiti:500,entranc:5,entri:[1,2,14,15,83,89,105,106,128,279,333,334,342,415,459,462,473,477,478,486,488,493,497,500],entropi:[1,15,210,277,470],entrypoint:466,entrypoint_nam:457,enumer:[13,15,143,237,273,275,284,460,461,472,476,484,486,497],enumerate_support:15,env:[14,15,159,397,490],envelop:141,environ:[5,9,10,15,150,457,459,473,475,476,484,490,503],environment:11,epoch:[1,13,472,486,497],eps:[2,184,212,213,214,228,243,250,251,252,259,282,286,309,318,353,460,470,478,486,488,507],epsilon:[32,184,212,213,214,228,243,250,251,252,259,309,353,460,470,486],epub:160,eq_:[460,498],equal:[1,11,14,15,30,44,51,60,61,66,82,94,107,123,124,125,134,137,158,177,178,199,200,201,203,204,205,210,211,217,222,223,225,226,230,238,239,241,257,278,286,287,319,349,352,416,423,454,460,462,467,468,470,474,488,497,498],equal_nan:[30,137,460,498],equat:[8,64,89,123,210,413,438,460,473,505],equival:[4,13,15,57,59,67,81,91,92,105,106,113,131,142,143,148,150,151,202,212,213,214,221,222,223,224,225,226,235,236,237,243,250,251,252,259,273,309,319,321,362,375,378,382,387,392,428,432,443,447,456,459,461,470,473,485,488,495,498,503],eras:505,erf:[98,460,467,485,498],erf_:[460,467,498],erfc:[460,467,498],erfc_:[460,467,498],erfinv:[1,460,467,498],erfinv_:[460,467,498],errno:484,error:[1,2,4,5,9,11,13,15,17,32,96,97,98,146,159,177,193,195,210,211,240,254,265,301,419,423,459,461,466,467,468,470,472,473,476,478,482,485,488,490,498,503,505],especi:[6,8,13,14,36,54,92,461,470,473,485,490,498],essenti:[13,14,468,484],estim:[1,13,15,131,141,212,213,214,243,250,251,252,259,309,421,422,437,450,451,486],eta:486,eta_:486,eta_min:486,eta_t:486,etaminu:486,etapli:486,etc:[2,8,13,14,15,141,143,237,273,389,461,478,479,481,485,486,488,490,497,499],eth0:14,eth1:14,eth2:14,eth3:14,ethernet:14,euclidean:[59,470],eval:[143,145,150,212,213,214,237,250,251,252,273,309,464,485,503],evalu:[3,15,143,202,206,212,213,214,231,237,243,250,251,252,259,273,286,290,309,375,462,470,473,478,482,486,488,500,503],even:[2,13,14,131,134,230,356,425,452,459,470,476,478,479,481,482,492,495,498],event:[2,15,150,151,165,466,476,497],event_dim:15,event_file_writ:497,event_nam:480,event_shap:15,eventfilewrit:497,eventlist:2,eventu:[2,5],ever:459,everi:[1,2,13,14,15,143,206,231,232,233,237,273,303,305,324,353,355,356,447,470,472,473,476,477,478,485,486,488,490,491,492,494,497,498,500,503],everyon:5,everyth:[5,13,15,459,466],everywher:[423,470],evid:5,evolv:[477,485],exact:[2,33,34,35,185,187,189,225,324,471,477,481,483,493,504],exactli:[2,9,14,15,89,141,143,236,237,238,273,467,470,473,476,477,478,485,500,504,505],examin:485,exampl:[1,2,4,5,9,11,13,14,15,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,114,115,117,118,122,125,126,127,128,130,131,134,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,272,273,274,275,276,279,280,281,282,283,284,285,286,287,289,290,291,292,293,294,295,296,297,298,299,300,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,337,338,339,340,341,342,343,344,345,346,347,350,351,352,353,355,356,357,358,359,360,361,362,366,367,368,369,370,371,372,373,374,375,376,377,379,381,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,400,401,402,403,408,409,410,411,412,413,414,415,416,417,418,419,421,422,424,425,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,461,462,465,467,468,470,471,473,474,475,476,478,479,480,481,484,486,488,490,492,493,495,496,497,498,499,500,503,504,505,506],example_forward_input:[150,151],example_input:[150,151],example_method2_input:151,example_output:485,example_weight:[150,151],exce:165,except:[2,4,5,11,14,15,22,42,58,147,152,154,159,174,185,186,187,189,191,241,257,287,320,348,353,370,389,421,422,424,437,443,450,451,459,461,462,463,466,470,476,478,484,485,490,492,493,495,498,503,505],exchang:[14,81],exclud:[325,439,440,441,442,470,491,500],exclus:[13,14,15,379,380,383,473],execut:[1,2,3,4,5,9,10,11,13,14,17,144,150,151,159,230,324,404,459,461,462,464,472,473,474,475,479,480,481,482,484,485,488,490,491],exist:[2,5,6,9,13,14,15,36,145,150,160,274,283,366,457,459,466,467,474,478,480,485,490,492,496,498,500],exit:[1,2,3,324,466,481,485,492],exp1:497,exp2:497,exp:[1,2,15,167,174,211,216,229,234,263,264,277,286,298,300,302,303,305,306,310,369,423,460,467,470,485,498],exp_:[460,467,498],exp_add:2,exp_famili:15,exp_rang:486,exp_reduc:2,expand:[2,6,15,36,188,457,460,467,468,474,485,488,496,498,505],expand_a:[130,460,478,485,496,498],expans:505,expect:[2,5,13,14,128,141,150,151,185,187,189,212,213,214,229,241,242,243,250,251,252,253,257,258,259,280,287,289,303,309,313,315,317,320,349,428,452,463,470,473,477,479,486,497,500,503,504,505],expens:[3,13,15,480,490,498],experi:[8,324,478,497,503],experiment:[14,17,324,459,461,467,468,482,484,485],expert:6,explain:[10,457,472,476],explan:[473,478],explicilti:461,explicit:[1,116,136,433,462,467,470,472,476,478,485,488,496],explicitli:[1,11,14,81,83,459,461,462,470,476,478,480,485,486,488,489,490,493],explitili:461,explod:301,explor:457,expm1:[1,460,467,498],expm1_:[460,467,498],expon:[15,202,262,369,460,470,495,498],exponenti:[99,100,165,166,167,174,216,498,499],exponential_:[460,467,498,499],exponential_average_factor:460,exponentiallr:486,export_chrome_trac:2,export_param:485,export_raw_ir:485,export_to_pretty_str:485,expos:[1,2,14,17,476,480,490],express:[8,89,102,126,423,462,464,473,478,498],exptransform:15,ext:[457,465,500],ext_modul:9,extend:[2,15,275,284,458,480,481,485],extens:[9,14,15,159,397,472,490,500,506],extension_kernel:9,extent:475,extern:[150,475,484],external_data_format:485,extra:[5,14,143,147,148,159,237,273,280,425,427,468,473,475,477,478,479,480,500,504],extra_block:504,extra_cflag:9,extra_compile_arg:[9,484],extra_cuda_cflag:9,extra_fil:[147,148],extra_include_path:9,extra_ldflag:9,extra_repr:[143,237,273,478],extract:[235,238,319,470,490],extrafilesmap:[142,143,147,148,480],extrafpnblock:504,extrem:3,extrema:470,extrud:479,eye:[15,63,130,184,372,460,463,478],eye_:[463,471],eyes:5,ezyang:[6,7,496],f_add:488,f_float16:1,f_float32:1,f_t:257,fab:460,face:[478,497],facebook:6,faces_tensor:497,facil:[159,466],facilit:[15,81,457,459,482],fact:[2,44,51,123,124,459,478,491,498],factor:[1,15,27,28,29,43,62,63,64,175,177,178,179,231,262,285,363,364,372,413,470,471,472,486,488,504,505],factori:[2,8,15,460,468,476,488],fail:[2,5,11,15,131,147,148,159,160,177,463,466,481,484,485,490],failur:[2,6,14,15,143,150,151,237,273,466,490,492],fake:[488,500],fake_quant_en:488,fake_quantize_per_channel_affin:460,fake_quantize_per_tensor_affin:460,fakedata:501,fakequant:488,fall:[5,159,301,470,485],fallback:[9,14,472,485],fals:[1,2,4,9,11,13,14,15,30,32,33,34,35,44,47,49,50,51,53,55,56,62,63,64,67,88,90,91,92,94,95,101,102,112,113,114,115,122,123,124,126,131,134,137,138,139,140,141,143,146,150,151,152,154,155,158,169,170,171,172,173,174,176,177,181,184,185,186,187,189,191,193,197,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,227,229,231,232,233,234,235,236,237,239,241,242,243,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,265,266,267,268,269,273,276,277,278,279,280,282,286,287,288,289,290,291,292,298,301,302,309,312,313,318,320,324,340,349,350,351,352,356,357,358,361,362,364,370,372,375,377,378,379,380,381,382,383,384,392,397,398,402,403,406,414,415,421,422,423,424,425,427,432,434,438,449,450,451,454,455,456,457,459,460,461,464,465,466,468,470,472,473,479,482,483,485,486,488,489,490,494,496,497,498,499,500,503,504,505,506],famili:15,familiar:[10,11,459,473,491,492],fan:471,fan_in:471,fan_out:471,fang:7,faq:[13,230,351,458],far:470,fashion:[5,14,165,338,459,498,501],fashionmnist:500,fast:[5,13,250,251,252,301,375,475,476,478,486,490,495,496,504],fast_forward:375,faster:[1,2,8,13,53,89,160,288,303,324,464,470,476,488,501],faster_rcnn:503,fasterrcnn_resnet50_fpn:503,fastest:[324,357],fatal:[466,481],favor:[11,247,321,322,384,470,488,505],fbgemm:488,fbgemm_linear_fp16_weight:460,fbgemm_linear_fp16_weight_fp32_activ:460,fbgemm_linear_int8_weight:460,fbgemm_linear_int8_weight_fp32_activ:460,fbgemm_linear_quantize_weight:460,fbgemm_pack_gemm_matrix_fp16:460,fbgemm_pack_quantized_matrix:460,fcn:[503,504],fcn_resnet101:503,fcn_resnet50:503,fcntl:14,feat0:504,feat1:504,feat2:504,feat3:504,featmap_nam:504,featur:[6,8,10,14,149,199,200,201,202,203,204,205,226,231,232,233,239,241,242,257,258,279,287,289,304,313,315,317,318,324,365,458,459,461,462,468,470,478,479,485,488,490,497,504],feature_alpha_dropout:460,feature_alpha_dropout_:460,feature_dropout:460,feature_dropout_:460,feature_pyramid_network:504,featurealphadropout:470,featuredropout:485,featurepyramidnetwork:504,fed:497,fedyunin:7,feed:[459,479],feedback:5,feedforward:[313,315,317,471],feel:5,feng:7,fep:160,fetch:[13,329,330,331,332,333,334,335,336,490],few:[1,2,5,457,473,479,484,496,498,499],fewer:[15,154,174,185,186,187,189,191,370,398,421,422,424,450,451,474,493,498,503],ffi:484,ffmpeg:501,fft:[8,126,131,392,460,476,498],fft_size:141,field:[2,5,14,143,202,210,211,227,229,237,248,253,254,265,266,273,276,277,278,280,286,301,302,318,348,470,477,481,485,486,491,502,503],figur:[5,475,477,485,492,497],file:[1,2,5,6,8,9,11,13,147,148,159,397,457,459,462,463,465,467,468,480,483,484,485,491,494,497,500,502,506],file_nam:[457,465],filenam:[9,142,147,148,457,460,465,494,497,502,506],filename_suffix:497,fileno:485,filesystem:14,filesytem:457,fill:[14,46,81,90,92,112,113,177,236,313,361,362,377,378,379,380,381,382,455,456,468,470,471,476,498,505],fill_:[143,156,237,273,388,460,467,494,498],fill_diagonal_:[460,498],fill_row_zero:459,fill_valu:[112,113,217,460,476,498],fillcolor:505,filter:[141,221,222,223,224,225,226,423,470,488,498,505],final_div_factor:486,financi:6,find:[2,5,6,9,14,154,160,224,225,226,365,398,426,457,464,466,468,475,476,477,478,479,481,485,490,495,497],find_unused_paramet:[324,477],fine:[9,14,150,324,457,466,473,478,486,488,500,505],finetun:[143,237,273,473],finish:[14,17,476,477,484,490,492],finit:[2,3,15,137,138,193,210,478],fire:[477,480,503],first:[1,2,3,4,5,6,9,11,13,14,15,23,24,27,29,30,36,41,43,47,49,50,53,54,55,72,81,83,88,92,94,103,115,122,137,147,155,159,175,176,182,185,187,189,190,192,193,197,202,208,209,215,222,223,225,226,235,236,237,241,256,257,266,268,269,287,324,338,348,365,393,394,398,415,433,436,440,442,447,449,457,459,461,465,466,467,470,472,473,476,478,479,481,483,484,485,486,488,491,492,493,497,498,500,504,505],fisher:15,fit:[2,141,389,486,490,498],five:1,five_crop:505,fivecrop:505,fix:[13,15,89,235,236,459,470,472,479,481,482,484,485,500,503],flag:[2,9,11,14,44,51,53,62,123,124,179,324,392,403,459,466,470,473,476,485,497,498,505],flat:[389,485],flat_img:468,flatten:[33,34,82,319,389,393,446,447,460,467,468,471,485,488,498,505],flatten_paramet:288,flexibl:478,flickr30k:500,flickr8k:500,flickr:501,flip:[105,106,460,498,505],fliplr:[460,498],flipud:[460,498],float16:[12,111,133,143,237,241,257,273,287,472,488,495,498,507],float16_dynamic_qconfig:488,float32:[13,111,118,133,211,320,321,322,371,375,391,400,401,415,452,470,472,485,488,495,498,505,507],float64:[1,8,111,118,133,143,237,273,373,400,401,402,415,432,452,495,498,505,507],float_tensor:495,floatstorag:494,floattensor:[1,2,14,23,24,25,26,27,28,29,43,66,118,192,235,236,276,279,313,401,493,495,498,503,505],floor:[148,207,208,209,255,256,267,268,269,423,460,467,470,485,488,498],floor_:[460,467,498],floor_divid:[25,86,460,485,498],floor_divide_:[460,498],flow:[1,150,459,470,473,478,485,488,492],flush:[1,2,11,148,397,402,497],flush_sec:497,fly:[13,329,330,331,332,333,334,335,336,473,500],fmassa:7,fmod:[387,460,498],fmod_:[460,498],focu:486,focus:461,fold:[319,426,460,464,485,488,500],fold_param:[238,319],folder:[5,9,13,457,497,500],folk:5,follow:[1,2,5,6,8,10,11,12,13,14,15,55,86,88,89,96,97,102,126,131,143,160,182,185,189,202,211,217,236,237,238,241,257,273,287,319,324,358,365,392,398,415,423,437,457,459,460,461,462,463,464,465,466,467,468,470,471,472,473,474,475,476,479,481,484,485,488,490,491,492,493,495,496,498,500,503,505,507],followup:492,foo:[9,144,147,148,149,150,457,459,461,485,488],foo_build:488,foo_forward:485,foo_instance1:488,foo_instance2:488,foo_namespac:485,foomodel:485,foomodul:485,foral:498,forc:[1,2,9,11,144,153,457,459,472,476,497],force_reload:457,force_stop:160,forev:[466,477],forg:[484,485],forget:[257,461],forgotten:484,fork:[13,153,324,475,479,480,481,484,489,490,492,503],fork_rng:489,forkid:492,forkingpickl:484,forkserv:[324,466,481],form:[2,5,6,8,13,15,62,81,88,200,201,204,205,217,239,241,257,287,319,320,364,433,459,462,470,473,478,482,485,486,488,497],formal:[55,398,468],format:[2,12,90,91,113,131,143,217,236,237,241,257,273,287,324,349,351,362,378,380,382,392,397,415,456,457,459,462,478,483,488,491,493,495,497,498,500,502,503,504,505,506],formul:[216,234,244,264,306,307,470],formula:[2,15,44,51,89,123,124,156,286,374,470,473,478,486,488],forth:[449,457,486,505],fortun:479,forum:[5,6,479,481],forward:[1,2,4,9,143,144,145,146,148,149,150,151,152,206,210,230,231,232,233,236,237,241,257,270,271,272,273,274,275,279,280,283,284,287,313,314,315,316,317,324,329,330,331,332,333,334,335,336,345,353,355,375,425,459,461,464,466,468,470,471,472,473,475,476,477,478,479,480,482,485,488,490,493],forward_hook:488,forward_pre_hook:340,found:[1,10,55,72,73,74,154,185,187,189,191,206,216,298,398,459,472,478,481,485,488,497,503],four:[478,490,492,505],fourier:[102,126,131,141,392,423],fp16:324,fp32:[78,324,488],fparam:160,fpn:[503,504],fps:[497,502],frac:[15,25,32,44,51,84,86,96,97,102,108,123,124,126,195,202,207,208,209,210,211,212,213,214,215,221,222,223,224,225,226,229,231,238,241,242,243,250,251,252,255,256,257,258,259,261,262,263,264,267,268,269,276,277,278,280,287,289,290,300,301,302,303,305,306,308,309,310,319,368,384,386,392,396,408,423,443,460,467,470,471,473,486,488,498,505],frac_:[460,467,498],fraction:[13,110,224,225,226,239,332,333,335,336,338,341,342,343,344,471,502,505],fractional_max_pool2d:460,fractional_max_pool2d_with_indic:460,fractional_max_pool3d:460,fractional_max_pool3d_with_indic:460,fragment:11,frame:[141,423,479,497,500,502,503],frame_r:500,frames_per_clip:500,framework:[5,6,15,17,324,406,458,485,486,491,492],francisco:7,frank:15,free:[2,5,14,15,144,150,160,464,471,473,479,481,484],freed:[2,11,466,476,490,498],freedom:[15,473],freez:[143,235,236,237,273,473],freeze_bn:488,freeze_modul:464,freeze_support:484,frequenc:[46,131,202,235,236,423,470,486],frequent:[8,202,458],fresh:457,frexp:460,friendli:485,frisbe:503,fritz:7,fritzo:7,fro:[333,342,358,498],frobeniu:358,frobenius_norm:[460,485],from:[1,2,4,5,6,9,10,11,13,14,15,17,18,32,37,44,45,51,52,55,56,77,111,123,124,141,143,144,146,147,148,159,160,178,179,193,196,202,206,212,213,214,215,221,222,223,224,225,226,227,230,231,232,233,235,236,237,238,241,242,243,250,251,252,257,258,259,261,273,274,275,279,283,284,287,289,290,309,314,315,319,324,325,329,330,331,332,333,334,335,336,338,340,345,346,347,348,349,350,351,352,355,359,363,364,365,367,375,376,377,378,379,380,381,382,383,384,389,390,391,394,397,398,406,415,423,425,426,432,438,440,442,446,447,449,454,459,460,461,463,464,465,466,468,469,470,471,476,477,478,479,480,481,486,488,490,491,492,493,495,497,498,499,500,502,503,504,505,506],from_buff:494,from_dlpack:16,from_fil:[460,494],from_float:488,from_ipc_handl:11,from_numpi:498,from_pretrain:[235,236],front:[160,276,468,498],frontend:10,frozen:[145,462,473,484,486,503],frozen_modul:145,full:[10,13,14,15,44,51,113,123,124,131,160,175,211,217,221,222,223,224,225,226,286,313,392,406,425,426,457,459,460,461,463,468,470,472,478,485,488,490,491,496,500],full_lik:[156,460,463,485],fulli:[13,14,270,271,272,473,478,488],func:[2,144,150,151,153,472,478,490,492],func_dict:478,func_nam:490,func_output:2,functional_modul:488,functioneventavg:2,functool:[478,488],functor:15,fundament:[5,461,490],further:[2,6,9,14,116,202,363,364,481,482,492,497],furthermor:[9,231,467,468,482,488],fuse:[464,467,488,505],fuse_known_modul:488,fuse_modul:488,fused_m:488,fuser_func:488,fusion:[150,151,464,488],fut0:17,fut1:[17,490],fut2:490,fut:[17,144,475,490],fut_list:17,futur:[2,11,25,86,144,148,153,458,459,460,461,462,464,468,470,475,478,485,486,488,490,493,498],fvar:160,fwd:1,fwd_output:472,g_cpu:18,g_cpu_oth:18,g_cuda:18,g_float16:1,g_float32:1,g_t:257,gain:[6,471,505],galleri:5,gamma:[84,157,195,212,213,214,243,250,251,252,259,309,460,486,505],gamma_:195,gan:[143,237,273,353],ganem:15,gap:[32,384],garbag:[13,492],gate:[241,242,257,470],gather:[11,14,460,478,479,480,485,498],gather_list:14,gaussian:[15,240,470],gcc:10,gcd:460,gchanan:[6,7],ge_:[460,498],gelu:[1,313,315,317,460,485],gemm:[475,485],gen_non_contig_grad_output:2,gencod:11,gener:[2,5,9,13,14,15,45,116,121,123,129,131,160,180,185,187,189,193,238,313,319,320,329,330,331,332,333,334,335,336,353,359,365,367,375,379,380,399,407,426,433,449,459,460,461,462,463,464,467,470,471,473,476,478,479,480,482,484,485,486,488,489,490,491,493,495,497,498,500,501,503],generate_square_subsequent_mask:313,gentl:459,geometr:[449,470,488,498,499],geometri:[102,126,131,392,476],geometric_:[460,498,499],georg:7,geq:[114,115,175,229,260,280,281,290,368,470,471],geqrf:[363,364,460,498],ger:[460,498],gesdd:425,gesvd:425,get:[2,8,9,11,13,14,17,18,24,55,80,118,143,150,235,236,237,255,256,270,271,272,273,324,325,349,353,388,398,457,459,466,467,473,476,478,479,480,485,486,488,490,492,496,497,498,500,501,504],get_all_sharing_strategi:466,get_arch_list:11,get_backend:14,get_backoff_factor:1,get_context:481,get_debug_st:142,get_default_dtyp:[32,384,495,507],get_default_qat_qconfig:488,get_default_qconfig:488,get_devic:[460,467,493,495,498],get_device_cap:11,get_device_nam:11,get_dir:[457,465],get_gencode_flag:11,get_gradi:[460,490,491],get_growth_factor:1,get_growth_interv:1,get_ignored_funct:478,get_image_backend:501,get_info:[177,498],get_input:485,get_lr:486,get_num_interop_thread:475,get_num_thread:475,get_observer_dict:488,get_overridable_funct:478,get_rank:14,get_rng_stat:[11,489],get_rng_state_al:11,get_scal:[1,472],get_sharing_strategi:466,get_stat:18,get_testing_overrid:478,get_worker_info:[13,490],get_world_s:14,getattr:[460,490],getenv:480,getsourc:480,gil:[13,14,473,476,490],gimelshein:7,giraff:503,girshick:301,github:[5,6,14,313,457,463,478,485,486,488],give:[1,2,3,5,8,13,89,253,278,319,320,357,372,457,459,466,468,473,476,478,485,486,500,505],given:[1,2,5,6,9,11,13,14,15,17,19,31,32,35,45,48,54,57,58,64,65,67,69,72,78,80,89,104,131,143,147,150,151,154,156,160,167,169,170,171,172,174,175,185,186,187,189,191,195,202,210,211,217,227,229,230,235,236,237,239,241,248,253,257,266,270,271,272,273,275,277,278,279,280,284,287,301,304,318,320,321,322,324,348,353,355,358,359,364,367,370,373,374,384,389,393,414,415,416,419,424,426,429,433,434,436,445,450,451,457,459,465,466,470,471,472,473,475,477,478,480,485,486,488,490,491,493,497,498,500,505,506],glass:503,global:[4,13,14,15,32,44,51,90,92,101,112,123,124,144,150,158,173,334,338,361,377,379,381,384,455,459,462,472,478,480,481,490,491,492,497,503],global_step:497,globalcontext:484,gloo:[14,324,477,490],gloo_socket_ifnam:14,glorot:471,glove:503,glu:[460,485],gmm:15,goal:492,goe:[206,479],going:[2,5,14,466,473,475,480,484,497,498],gomez:[313,315,317],good:[5,9,18,281,457,466,478,480],got:478,govern:[5,458],gpu1:[143,237,273],gpu:[1,2,3,5,11,12,13,143,159,175,185,187,189,202,230,237,241,257,273,287,288,309,324,348,425,458,459,476,482,484,486,490,494,498,499,503,504],gpu_model:459,gpudirect:14,grace:490,grad0:477,grad1:477,grad:[1,2,4,8,15,93,324,403,459,460,467,468,472,473,477,481,486,490,491,493,498],grad_bia:478,grad_fn:[2,473,493,498],grad_input:[143,237,273,478,484],grad_loss:468,grad_norm:472,grad_out:460,grad_output:[2,143,237,273,460,473,478,484],grad_param:472,grad_tensor:[2,460],grad_vari:2,grad_weight:478,gradcheck:[2,131,478],gradgradcheck:[2,478],gradient:[4,8,13,14,15,93,114,143,160,185,187,189,210,217,224,225,226,229,230,235,236,237,255,256,273,280,301,324,325,326,327,356,403,425,427,459,460,468,470,473,477,478,479,486,490,491,493,498],gradscal:[1,472],graham:239,grai:505,grain:[14,473,488,505],grangier:202,grant:6,granular:472,graph:[2,4,15,37,143,144,145,149,150,324,464,469,477,478,485,488,490,491,492,497,498],graphexecutorst:142,graphic:484,graphroot:2,graphtask:473,grave:[202,217],grayscal:[497,505],great:5,greater:[3,60,61,195,210,318,353,470,473,485,488,504],greater_than:15,greater_than_eq:15,greaterthan:15,greaterthaneq:15,greatli:9,greedili:468,greg:[6,7],gregori:7,grep:479,grid:[188,460,470,497,504,506],grid_i:188,grid_sampl:460,grid_sampler_2d:460,grid_sampler_3d:460,grid_x:188,griffin:141,gross:[6,7],ground:[5,497,503],group:[2,6,13,221,222,223,224,225,226,243,309,324,447,457,460,466,470,471,477,485,486,488,497,498,504],group_by_input_shap:2,group_nam:14,group_norm:[1,460,485],grow:[5,493],growth:1,growth_factor:1,growth_interv:1,gru:[242,460],gru_cel:460,grucel:488,gt_:[460,498],gtcoars:500,gtfine:500,guanheng:7,guarante:[2,4,13,14,15,230,475,482,490,492,504],guard:481,guess:13,guid:[2,13,149,458],guidanc:[5,10],guidelin:[6,338,503],gumbel:470,gumbel_softmax:460,gunnar:[365,426],h_0:[241,257,258,287],h_1:258,h_i:304,h_n:[241,257,287],h_t:[241,257,287],hack:5,had:[5,150],hadamard:[241,242,257,258],haidar:7,hair:503,half:[1,2,15,131,143,221,222,223,224,225,226,237,239,273,392,423,467,470,486,494,495,498],half_cauchi:15,half_norm:15,half_open_interv:15,halfopeninterv:15,halftensor:[495,498],halko:[365,426],ham:[59,123,470],hamiltonian:15,hamming_window:[460,463],hand:[2,3,85,89,206,438,459,461,485],handbag:503,handi:476,handl:[1,2,4,8,9,11,13,14,143,230,237,273,324,329,330,331,332,333,334,335,336,426,457,466,468,470,476,478,479,481,485,488,490,492,498,500],handled_funct:478,handler:[334,480],hang:[324,477],hann:124,hann_window:[123,423,460,463],happen:[2,5,6,14,15,309,324,466,477,478,479,481,484,485,486,488,496,498],happi:5,hard:[2,5,160,244,459,460,461,470,473,485],harden:490,harder:[221,222,223,224,225,226,238,267,268,269,319],hardshrink:[460,498],hardsigmoid:[460,488],hardsigmoid_:460,hardswish:460,hardswish_:460,hardtanh:[460,464,485,488],hardtanh_:[460,470],hardwar:488,has:[1,2,4,5,6,8,10,11,12,13,14,15,17,18,33,34,37,45,59,62,81,83,93,109,128,141,143,145,147,148,149,150,154,159,168,174,175,177,185,186,187,188,189,191,210,211,212,213,214,221,222,223,224,225,226,229,230,231,236,237,238,239,241,243,250,251,252,253,257,259,267,268,269,273,277,278,280,281,287,303,309,319,320,324,329,333,335,338,348,349,356,357,358,359,370,387,389,397,398,403,412,419,421,422,424,450,451,459,461,466,467,468,470,472,473,474,475,476,477,478,480,481,484,485,486,488,489,490,491,492,493,494,495,497,498,499,500,503,505],has_bias:460,has_enumerate_support:15,has_nam:467,has_rsampl:15,hasattr:[460,478],hash:[457,460,465],hash_prefix:457,hasn:486,hat:[212,213,214,250,251,252,309],have:[1,2,4,5,6,8,11,13,14,15,18,44,45,51,58,59,72,79,95,102,114,123,124,128,142,143,144,145,147,149,150,151,154,159,168,170,174,175,185,186,187,188,189,191,193,202,206,210,221,222,223,224,225,226,229,230,235,236,237,239,247,250,251,252,259,266,273,276,277,278,279,280,324,325,326,327,351,356,358,370,375,412,421,422,423,424,427,432,443,450,451,452,457,459,460,461,463,466,467,468,470,471,472,473,474,476,477,478,479,480,481,482,484,485,486,488,489,490,491,492,493,495,496,497,498,500,503,504,505],hdr:7,head:[202,279,313,315,317,504],head_1:279,head_bia:202,head_h:279,head_i:279,header:[2,9,484],health:6,healthi:[5,6],heard:491,heart:13,heavi:[2,14,473,484],heavili:[3,475,478,486],hei:5,height:[208,209,222,223,225,226,256,268,269,280,304,320,468,470,485,488,500,504,505],held:[11,17,472],hello:461,help:[1,2,3,5,6,8,11,13,14,143,232,233,237,273,457,467,468,472,473,474,476,477,485,490,491,499],helper:[1,4,14,309,457,461,476,477,485,488,490],henc:[45,270,271,272,320,415,476,477,485,490,492,500],here:[1,2,5,6,10,13,14,15,149,212,213,214,250,251,252,281,299,309,324,375,425,457,459,461,463,467,468,470,472,476,478,479,480,484,485,486,496,497,498,500,503,506],hessian:[2,471],heurist:[9,13,504],hex:460,hflip:505,hidden:[4,241,242,257,258,287,289,325,476,497],hidden_s:[241,242,257,258,287,288,289,460],hierarch:497,hierarchi:[462,488],high:[3,5,10,15,217,379,380,460,466,488,490,497,498],higher:[5,11,14,125,229,266,280,426,478,480,488,490,495,498,504],highest:[202,379,380],highli:[6,202,324,457,485],highlight:488,hing:[276,278],hinge_embedding_loss:[1,460],hingeembeddingloss:470,hint:[459,461],hinton:486,his:486,histc:[460,498],histogram:[125,488,497],histogramobserv:488,histor:[11,25,475],histori:[2,478,479,486,491],history_s:486,hit:[4,457],hmc:15,hmdb51:501,hogwild:473,hold:[2,17,160,238,274,275,283,284,319,334,348,415,474,478,479,480,481,486,490,491,492,495,498,505],holist:5,holomorph:[8,473],hong:7,hood:[2,466,477,481,492],hook:[2,143,230,237,273,324,329,330,331,332,333,334,335,336,345,353,355,477,480,488,498],hop:[141,423],hop_length:[141,423,460,498],hope:473,horizont:505,hors:503,host:[13,14,143,237,273,324,476,491,494,498],hot:[15,470,503],houseroad:7,how:[2,4,5,6,10,13,14,102,126,131,148,159,238,273,319,320,324,348,392,459,461,465,466,467,468,469,470,472,475,477,478,479,481,485,488,490,491,492,497,503,505],howev:[1,3,4,5,6,8,10,11,13,14,15,81,83,126,144,148,159,160,177,210,224,225,226,230,235,236,324,348,366,461,472,473,476,478,481,482,483,484,485,490,492,493,498,500],hparam:497,hparam_dict:497,hpp:477,hspmm:[460,493],hsv:505,html:[2,3,5,10,486,488,497],http:[2,3,5,10,14,15,89,160,217,290,291,313,355,365,457,462,465,484,485,486,488,497,503,505],hub:[458,465],hub_dir:[457,465],hubconf:457,huber:301,hue:505,hue_factor:505,huge:426,human:[0,11,471,485],hundr:[1,472,480],hurt:477,hvp:2,hwc:497,hxw:460,hybrid:493,hydrant:503,hyper:[461,497],hyperbol:[22,39,42,71,411,431],hyperparamet:497,i_0:433,i_d:433,i_n:433,i_t:257,icdf:15,icml_2006:217,idea:[5,202,480,491],ideal:[150,468],idempot:492,ident:[2,9,13,14,15,81,126,131,160,183,206,231,454,462,470,471,473,482,488,493,498,500],identifi:[5,14,159,309,462,466,473,474,480,490,491,492,497],identity_transform:15,idiom:484,ids:[309,470],idx:[13,143,202,237,273,460,468],ieee:141,iff:15,ifft:[102,131,460,498],ifs:462,ignor:[5,11,33,34,102,125,126,149,152,210,211,227,229,236,248,253,254,265,266,276,277,278,279,280,286,301,302,313,318,358,406,423,425,459,468,470,478,485,486,488,498],ignore_index:[229,280,460,470],ilia:7,ill:470,illia:[313,315,317],illustr:478,im2col:[319,460,485],imag:[13,200,204,205,221,222,223,224,225,226,229,238,239,251,280,285,304,319,321,322,460,470,473,496,497,498,500,501,503,504,506],image_s:[500,504],image_set:500,imagefold:501,imagenet:[14,471,501,503],imagenet_data:500,imagenet_root:500,imagin:490,imaginari:[8,88,102,126,127,138,139,140,423,452,453,462,473,498],imagnumb:462,imbalanc:202,img:[468,497,500,503,505],img_batch:497,img_height:505,img_hwc:497,img_tensor:497,img_width:505,immedi:[5,6,143,144,237,273,490,492],impact:[482,488,496],imped:472,imper:14,implement:[2,4,11,13,14,15,25,36,143,147,148,159,160,185,187,189,202,217,230,237,255,256,273,285,291,306,315,317,324,338,351,353,355,366,368,372,375,397,425,426,433,446,461,462,466,470,472,473,475,478,479,480,481,482,484,485,486,488,490,491,493,496,498,500,501,503,504],impli:[466,490],implic:[150,490],implicit:[207,208,209,221,222,223,224,225,226,238,267,268,269,319,460,462,470,485,488,496],implicit_cast:485,implicitcasttyp:485,implicitli:[5,89,150,151,159,207,208,209,267,268,269,459,461],implicitly_compiled_method:459,imported_funct:472,importerror:484,impos:[466,472],imposs:472,improb:13,improv:[1,2,6,12,14,231,241,257,287,472,477,478,485,486,488,490,503],in1:[215,470],in1_featur:215,in2:[215,470],in2_featur:215,in_channel:[221,222,223,224,225,226,488,504],in_channels_list:504,in_featur:[143,202,237,261,273,353,355,488],in_height:504,in_proj_bia:460,in_proj_weight:460,in_width:504,inaccur:13,inaccuraci:2,inact:11,inactive_split:11,inactive_split_byt:11,inc:461,incas:498,incept:[485,505],inception_v3:503,incid:[490,492],includ:[1,2,3,4,5,6,9,10,13,14,143,207,208,209,217,230,237,270,271,272,273,349,350,352,439,440,441,442,457,459,461,464,466,470,475,476,479,480,482,488,490,492,498,499,500,501,503],include_last_offset:[236,460,470],include_path:9,inclus:[15,125,379,380,420,498],incom:[1,215,261,466,470,488],incompat:[6,9,474],incomplet:[13,463],inconsist:[32,478],incorpor:488,incorrect:[3,36,54,92,150,159,423,459,470,476,498],increas:[1,2,5,11,15,46,55,202,211,217,221,222,223,224,225,226,285,398,449,460,470,473,475,476,486,498,504,505],increment:[2,145,230,459,461,473],incur:[1,4,61,481],inde:[459,492],indent:462,independ:[2,6,11,13,14,231,232,233,355,459,470,472,488,498],index:[10,11,13,15,55,73,74,89,114,128,151,154,167,174,177,181,185,187,189,191,193,202,217,229,235,236,253,274,275,280,283,284,319,333,335,342,343,348,357,392,398,415,423,429,448,458,459,460,466,467,468,470,473,476,477,485,486,488,492,493,495,496,497,498,500,504],index_add:[460,498],index_add_:[460,482,498],index_copi:[460,485,498],index_copy_:[460,498],index_fil:[460,467,485,498],index_fill_:[460,467,498],index_put:[1,460,485,498],index_put_:[460,498],index_select:[460,482,485,498],indexerror:[333,335],indic:[1,2,11,13,14,15,33,34,35,55,62,73,74,89,102,114,128,143,146,152,154,159,167,174,177,179,184,185,187,189,191,193,202,203,204,205,235,236,239,267,268,269,270,271,272,276,278,357,392,398,414,415,429,434,439,440,441,442,446,447,454,459,460,467,468,470,478,485,486,490,493,496,497,498,504],individu:[5,6,13,62,130,143,183,217,237,273,309,324,467,472,478,480,482,488,490,498,502],induc:470,ineffici:488,inf:[1,15,22,42,55,85,98,137,138,139,168,264,303,313,326,333,342,358,398,412,472],infer:[2,8,10,32,37,89,356,384,390,400,401,415,432,458,459,461,467,470,485,486,488,493,498,503,504],inferencesess:485,infin:[138,210,326,486],infiniband:[14,324,490],infinit:[13,139,160,210,217,470,490],influenc:6,info:[11,14,177,458,502],inform:[2,3,5,13,14,131,141,143,151,237,273,279,313,315,317,348,371,391,459,475,478,480,485,490,495,497,498,500,503,505],infrastructur:6,infti:[59,141,210,255,256,470],ingredi:[250,251,252],inher:467,inherit:[340,459,461,478,481],init:[11,14,143,237,273,281,458,463,480],init_method:[14,324,490],init_process_group:[14,324,477,490],init_rpc:[490,491],init_scal:1,init_weight:[143,237,273],initi:[1,2,3,11,13,18,37,118,129,143,159,160,215,217,224,225,226,230,235,236,237,241,242,243,250,251,252,257,258,259,261,273,281,287,289,324,400,401,415,432,461,470,471,476,477,478,480,484,485,486,488,489,490,491,498,503],initial_accumulator_valu:486,initial_lr:486,initial_se:[11,13,18,489],inject:480,inlin:[9,143,145,150,475],inline_extens:9,inlined_graph:143,inner:[87,485,490],innermost:[15,398],inp:[2,13,319],inp_unf:319,inplac:[143,206,216,231,232,233,234,237,247,260,273,290,291,292,298,312,460,470,478,485,488,505],inplace_assign:485,inplaceindexedassign:485,input1:[215,228,241,242,282,287,289,460,470,472,484,485],input2:[64,215,228,241,242,282,287,289,363,364,460,470,472,484,485,498],input3:[364,460,498],input:[2,4,6,8,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,57,59,60,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,91,94,95,96,97,98,99,100,102,103,104,105,106,107,108,109,110,113,114,115,116,117,122,123,124,125,126,127,128,130,131,132,133,134,137,140,141,143,144,145,149,150,151,154,155,156,157,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,178,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,276,277,278,279,280,281,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,329,330,331,332,333,334,335,336,337,339,341,342,343,344,348,349,350,352,356,357,358,360,362,363,364,365,366,367,368,369,370,372,373,374,376,378,380,382,384,385,386,387,388,389,390,391,392,393,394,395,396,408,409,410,411,412,413,414,417,418,419,421,422,423,424,425,426,427,428,429,430,431,434,435,436,437,438,439,441,443,444,445,446,447,448,449,450,451,452,453,456,459,460,461,462,463,464,468,470,471,473,475,476,477,478,479,480,485,486,488,490,491,493,495,496,498,500,503,504,505],input_1:485,input_2:485,input_3x3:320,input_data:485,input_featur:478,input_g:460,input_length:[217,460,470,479],input_list:14,input_nam:485,input_on:[238,319],input_s:[241,242,257,258,287,288,289],input_scal:460,input_split:14,input_tensor_list:14,input_to_model:497,input_tupl:459,input_var:[4,230],ins:459,insecur:159,insensit:249,insert:[15,17,274,275,283,398,406,420,448,459,464,488],insert_fold_prepack_op:464,insid:[2,5,459,461,464,472,476,480],insight:5,inspect:[1,2,143,149,472,478,480,495],inspir:[478,486],inst:500,instal:[2,9,10,14,102,126,131,392,457,459,485,490,497,500,503],instanc:[1,13,15,150,160,235,236,238,250,251,252,259,314,316,319,334,348,353,415,459,461,462,464,466,468,470,472,477,478,479,488,490,491,492,498,500,501],instance_norm:[460,485],instancenorm1d:470,instancenorm2d:470,instancenorm3d:470,instancenorm:[243,488],instantan:11,instanti:[2,14,93,236,348,356,457,459,461,470,478,488,490],instead:[2,4,6,9,13,14,15,55,86,116,126,136,146,175,207,208,209,210,211,212,213,214,227,229,230,232,233,248,253,254,255,256,265,266,267,268,269,276,277,278,280,286,287,301,302,303,309,318,324,392,398,425,459,461,468,470,472,473,477,478,479,481,484,485,486,488,491,493,498,505,506],instruct:[3,8,459,485],instrument:480,insuffici:11,int16:[111,170,495,498,507],int32:[55,111,177,217,371,398,488,495,498,505,507],int64:[14,32,46,55,91,111,348,383,384,398,470,476,485,495,498,504,505,507],int64tensor:503,int8:[47,48,49,50,111,169,170,171,172,488,495,498,507],int_:[96,97],int_a:437,int_b:437,int_repr:[373,374,460,488,498],int_tensor:495,int_zerodim:495,intact:490,integ:[11,13,14,15,23,24,25,26,27,28,29,32,43,44,51,60,66,86,90,107,108,109,112,123,124,148,160,192,202,217,221,222,223,259,348,359,361,365,373,374,377,379,380,381,383,387,395,416,426,433,443,444,455,461,462,467,470,478,485,486,488,495,498,505,507],integer_interv:15,integergreaterthan:15,integr:[13,25,45,47,48,49,50,86,112,143,237,273,375,437,480,485,486,495,498],intel:[484,501],intel_openmp:484,intend:470,intens:[486,505],intent:5,intention:490,inter:[119,404,475,477,490],interact:[2,6,10,11,13,462,485,497],interchang:[15,461,486],interconnect:14,interest:[5,6,458,488,500,504],interfac:[10,478,480,485,486,497],interfer:[1,485],interleav:486,intermedi:[4,236,313,315,317,459,470,473,479,485],intermediari:[9,15],intern:[1,6,11,13,15,36,79,143,168,212,213,214,309,366,412,415,462,472,473,475,476,485,490,491,492,493,496,500,503],internet:[5,500],interop:404,interperet:160,interpol:[156,320,321,322,482,485,488,504,505],interpolation_mod:460,interpret:[11,13,14,15,119,143,146,149,150,253,404,461,466,470,475,476,488,493,496,502,505],interprocess:11,interrupt:466,intersect:504,interv:[1,15,32,377,378,437,505],intervent:[1,490],intra:[475,477],intraop:405,introduc:[15,160,241,257,287,393,457,474,477,482,485,490,498],introduct:[14,324,459,462,467,474,490,497],inttensor:[177,178,495,498],intuit:485,inv:[15,63],inv_scal:472,invalid:[193,472,473],invari:[15,348,415,492,493,505],invers:[8,15,22,39,42,58,63,64,98,102,126,131,141,183,224,225,226,235,236,238,270,271,272,319,351,366,392,460,470,486,498],inverse_indic:[446,447],invert:[15,64,79,126,131,168,183,270,271,272,412,503],invest:6,investig:5,invis:476,invoc:[4,144,150,459,478,480,485,488,490,492],invok:[1,10,14,17,143,144,230,237,273,324,459,462,464,472,475,477,478,480,486,491],involv:[5,6,8,13,467,476,477,479,482,490,491,492],invstd:460,iotamudelta:7,iou:[503,504],iou_threshold:504,iparam:160,ipc:11,ipc_collect:11,ipc_handl:11,ipp:501,irecv:14,irfft:[392,460,498],irrelev:[2,462],irrespect:[130,175,413,425,427,476],is_accept:460,is_avail:[11,14,102,126,131,392,476],is_coalesc:[460,493],is_complet:14,is_complex:[460,495,498],is_contigu:[460,467,496,498],is_cuda:[348,467,494,498],is_distribut:[13,460],is_en:1,is_floating_point:[460,467,495,498],is_in_onnx_export:485,is_initi:[11,14],is_leaf:[2,460,467,498],is_meta:498,is_mpi_avail:14,is_nccl_avail:14,is_ninja_avail:9,is_nonzero:460,is_own:490,is_pin:[13,348,460,467,494,498],is_python_modul:9,is_quant:498,is_same_s:460,is_script:461,is_set_to:[460,498],is_shar:[463,467,494,498],is_sign:[460,467,498],is_spars:[467,494,498],is_tensor:467,is_train:[2,403,499],is_valid_fil:500,is_vulkan_avail:460,isclos:[460,498],isend:14,isfinit:[460,498],isinf:[460,498],isinst:[15,136,460,478],isn:[5,13,141,476,478],isnan:[460,485,498],isol:466,issu:[1,4,6,8,9,14,177,324,463,466,467,468,470,472,473,478,481,484],issubclass:478,istep:160,istft:[460,498],itch:5,item:[13,274,283,406,457,459,460,461,467,488,490,497,498,500,504],iter:[1,2,5,11,14,15,143,160,237,273,274,275,283,284,324,325,326,327,328,329,330,331,332,333,334,335,336,338,353,354,365,426,460,462,466,468,472,473,474,477,478,486,489,497,504],iter_end:13,iter_start:13,iterabledataset:[13,480],iters_to_accumul:472,itertool:[15,57,67],its:[1,2,3,5,6,9,10,11,13,14,15,33,34,35,63,64,80,83,143,148,182,210,212,213,214,221,222,223,224,225,226,230,237,250,251,252,273,274,283,309,324,325,334,337,338,339,340,341,342,343,344,349,355,401,403,426,452,459,461,464,466,470,472,473,474,476,477,478,479,484,485,486,488,490,491,492,493,495,496,498,500,503,505],itself:[4,5,143,149,150,237,273,303,324,329,330,331,332,333,334,335,336,345,459,466,470,485,488,490,496],ivalu:480,ivar:160,jacobian:[2,15,131,473],jakob:[313,315,317],jang:15,javadoc:458,jax:473,jed:160,jit:[8,9,119,142,143,404,405,458,461,463,464,468,475,480,485,490],jitter:505,job:[14,324,480,486,497],joel:[365,426],johann:7,johnson:7,join:[5,14,17,457,462,466,473,477,481],jointli:[15,279],jone:[313,315,317],joulin:202,journal:375,jpeg:480,json:[480,500],juggl:4,jump:[495,498],junji:7,just:[2,5,9,15,150,151,232,233,324,439,440,441,442,457,459,466,472,473,476,478,480,485,488,490,491,496,498],jvp:2,k_0:433,k_proj_weight:460,kaiming_normal_:[463,471],kaiming_uniform_:471,kaiser:[313,315,317],karl:7,karuppasami:7,kdim:279,keep:[2,5,13,159,212,213,214,235,250,251,252,282,309,334,388,457,459,466,468,470,473,476,477,479,481,485,486,490,491,492,504,505],keep_initializers_as_input:485,keep_intermedi:9,keep_var:[143,237,273],keepdim:[33,34,154,174,185,186,187,189,191,282,358,370,421,422,424,450,451,460,467,470,485,498],kei:[2,13,14,143,151,159,237,273,274,279,283,313,314,315,316,317,341,460,461,478,480,485,486,488,490,491,494,497,498],kept:[212,213,214,250,251,252,309,466,470,488,504],kernel:[3,8,9,11,207,208,209,221,222,223,224,225,226,238,239,255,256,267,268,269,270,271,272,319,464,470,478,482,485,488,504],kernel_height:504,kernel_s:[207,208,209,221,222,223,224,225,226,238,239,255,256,267,268,269,270,271,272,319,460,470,488,497,504],kernel_shap:485,kernel_width:504,kesheng:160,key_averag:2,key_padding_mask:[279,460],keyboard:503,keypoint:501,keypoint_rcnn:503,keypointrcnn_resnet50_fpn:503,keyword:[1,2,18,22,23,39,42,77,86,108,143,144,150,151,159,165,166,230,237,247,249,273,329,334,338,362,376,438,443,456,457,462,468,478,485,486,490,497],kick:[477,490,491],kickoff:491,kill:[466,479],kind:[14,325,371,478,481,495],kinet:[501,503],kinetics400:500,kite:503,kl_div:[1,460],kl_diverg:15,kl_normal_norm:15,kl_version1:15,kl_version2:15,kldivloss:470,kmnist:501,knife:503,know:[2,4,5,148,459,472,473,485,491,492,498],knowledg:492,known:[5,14,150,151,159,221,222,223,224,225,226,238,301,319,366,459,460,463,466,471,475,482,485,490,492,505],knuth:5,knyazev2001:160,knyazev:160,kostmo:7,kth:154,kthvalu:[460,467,498],kullback:[15,253,470],kuzushiji:500,kw_i:279,kwarg:[1,2,4,9,143,144,146,177,237,241,249,257,273,287,329,334,338,348,397,446,447,457,462,470,478,483,485,488,490,494,498,500,503,505,506],kwlist:497,l1_loss:[1,460],l1loss:470,l1unstructur:338,l2norm:488,l423:485,l_1:[210,211,248,253,254,265,280],l_c:211,l_n:[210,211,248,253,254,265,280],l_p:470,label:[5,13,202,211,217,227,248,266,276,277,349,470,477,481,486,497,500,503],label_img:497,labori:478,lack:8,lambd:[244,307,460,470,486,498,505],lambda1:486,lambda2:486,lambda:[2,13,15,17,59,159,244,307,462,470,478,486,490,498,505],lambdalr:486,landmark:500,langl:15,languag:[9,149,202,313,458,470,479,485],lapack:[8,63,116,363,364,372,425],laptop:503,lara:7,larg:[1,5,11,13,18,202,238,319,372,458,466,468,470,475,479,485,486,488,490,493,495,498,500,503,505],large_model:485,large_pool:11,larger:[1,2,6,46,66,202,230,235,236,266,320,324,470,479,480,485,497,498,503,505],largest:[1,46,107,160,434,460,461,470,488,498,507],last:[2,4,8,13,44,51,55,65,81,102,103,123,124,134,141,154,187,191,202,215,221,222,223,224,225,226,236,237,241,257,259,261,280,286,287,314,315,319,325,357,358,392,393,398,414,416,423,425,433,434,437,452,453,461,467,470,473,486,503,505],last_epoch:486,late:472,latenc:475,later:[2,5,159,229,267,268,269,280,324,459,475,476,477,478,483,488,491,492],latest:[5,14,15,334,457,485,490],latin1:159,latter:[8,143,237,273,481,488],launch:[3,13,324,473,475,476,490],launcher:14,law:[202,505],layer:[1,14,207,208,209,211,212,213,214,215,221,222,223,224,225,226,232,233,241,242,243,250,251,252,257,258,259,261,267,268,269,279,280,287,289,309,313,314,315,316,317,470,471,473,478,479,480,486,488,503],layer_count:485,layer_norm:[1,460,485],layernorm:[243,250,251,252,470],layout:[11,32,44,51,90,91,92,101,112,113,123,124,158,173,361,362,377,378,379,380,381,382,383,384,415,440,442,455,456,457,459,460,461,463,493,497,498],lazi:486,lazili:[11,459],lbfg:486,lbrace:[439,440,441,442],lceil:[32,60],ldexp:460,ldot:[15,188,259,267,268,269],le_:[460,498],lead:[2,5,86,102,392,419,468,475,477,482,484,498,505],leadership:6,leaf:[2,432,472,488,498],leak:[2,466],leaki:[290,470,471],leaky_relu:[460,471,485],leaky_relu_:[460,470],leakyrelu:[274,470],learn:[1,5,10,15,215,227,232,233,235,236,248,261,281,318,458,469,471,488,490,492,500,503],learnabl:[212,213,214,215,221,222,223,224,225,226,235,236,241,242,243,250,251,252,257,258,259,261,281,287,289,309,470,488],learned_0:485,learned_14:485,learned_15:485,learned_1:485,learned_2:485,learned_3:485,learned_:485,least:[15,46,81,83,102,105,106,126,131,141,160,175,182,202,349,392,457,468,471,474,479,492,494,498,503],leav:[2,146,152,419,459,461,473,498,500],left:[32,44,51,52,55,60,84,89,105,107,108,110,123,124,141,146,165,166,193,195,202,207,208,209,210,211,221,222,223,224,225,226,229,238,253,254,255,256,262,263,264,265,267,268,269,276,277,278,282,283,318,319,320,321,322,327,364,384,398,423,433,449,459,460,470,478,485,486,488,498,505],left_ankl:503,left_ear:503,left_elbow:503,left_ey:503,left_hip:503,left_kne:503,left_should:503,left_wrist:503,lefteye_i:500,lefteye_x:500,leftimg8bit:500,leftmouth_i:500,leftmouth_x:500,legaci:[470,495,504],legitim:281,leibler:[15,253,470],lemma:15,len:[13,14,145,174,186,230,333,335,351,415,416,421,422,424,449,450,451,459,460,470,485,486,493,497,500,503],length:[2,11,13,14,15,67,88,128,141,150,196,211,217,221,230,236,238,241,255,257,279,287,313,319,348,349,350,351,352,375,423,460,468,470,474,479,488,498,503,505],lens_unpack:351,leq:[30,44,45,66,137,155,217,229,276,278,280,423,470],lerp:[460,498],lerp_:[460,498],less:[2,5,11,13,14,15,89,107,160,177,202,286,301,307,351,440,442,457,478,481,488,501,503],less_than:15,lesser:[475,488],let:[2,5,13,15,467,468,473,476,477,478,481,484,491,492,497,498],letter:[89,500],level:[5,10,13,116,230,324,459,462,466,471,475,478,490,497,498,503],leverag:490,lexic:462,lexicograph:357,lfloor:[60,107,108,110,202,207,208,209,221,222,223,224,225,226,238,255,256,267,268,269,319,320,321,322,384,392,423,470],lgamma:[460,498],lgamma_:[460,498],lib64:9,lib:[159,397,484],libenzi:7,librari:[3,6,8,9,10,11,13,177,387,458,475,477,478,479,480,481,482,484,485,488,490,501],library_root:10,libtorch:10,libx264:502,lie:[303,305,470,497],lies:500,life:498,lifetim:[5,490],lift:468,light:[497,503,504],lighter:505,like:[1,2,3,4,5,6,8,9,10,11,13,14,15,36,44,51,89,90,123,124,130,147,148,150,159,202,210,238,241,250,251,252,257,274,275,283,284,287,319,324,325,348,361,377,381,397,413,455,457,459,461,466,467,468,470,472,476,479,480,481,484,485,488,490,491,495,498,505],likelihood:[15,202,280,286,470],likewis:504,lim:[15,141],lim_:210,limit:[13,217,235,338,466,468,473,477,488,490,491],limits_:167,line:[2,3,14,143,148,237,273,406,459,462,470,474,478,484,485],line_search_fn:486,linear:[1,2,7,11,64,143,145,149,156,178,210,216,237,240,247,273,275,287,289,291,306,309,320,337,338,339,340,341,343,344,345,346,347,353,355,365,413,460,461,464,471,473,476,477,478,479,485,486,498,503],linear_relu:488,linearfunct:478,linearli:[320,470,479,488],lineartransform:505,liner:290,linewidth:406,link:[9,10,15,221,222,223,224,225,226,238,267,268,269,319,468,470,480,485],linker:9,linspac:[8,46,460,463],linux:[10,14,457],list:[1,2,4,5,6,9,10,11,13,14,15,17,37,54,57,65,67,78,89,90,104,112,131,143,145,150,151,186,188,230,235,237,259,273,275,284,309,324,325,329,330,331,332,333,334,335,336,345,348,349,350,351,352,358,361,377,381,394,415,416,421,422,424,432,433,446,447,455,457,459,460,462,463,464,467,468,470,478,484,485,486,488,490,491,493,494,495,496,497,498,499,500,502,503,504,505,506],listconstruct:[459,485],listloopmodel:485,listofproperti:497,liter:[460,462,468],literatur:[221,222,223],littl:[478,492],live:[143,237,273,459,479,486,490,492],llion:[313,315,317],lmbda:486,load:[1,2,8,9,10,148,150,273,324,397,459,464,465,468,480,483,484,485,486,488,500,501,503],load_inlin:9,load_nvprof:2,load_state_dict:[1,143,159,237,273,457,483,486],load_state_dict_from_url:[457,465],load_url:[465,503],loadabl:457,loadann:500,loaded_weight:498,loader:[13,500],loaiza:15,loc:[15,159],local:[1,14,93,160,232,233,238,262,319,324,356,403,457,461,466,470,472,477,479,490,491,492,497,500],local_process_rank:14,local_rank:[14,309],local_response_norm:460,local_valu:490,localhost:[490,491],locallr_0:497,localresponsenorm:470,locat:[2,9,11,15,36,54,55,73,74,92,94,115,122,138,139,140,154,155,159,176,185,187,189,191,193,197,230,238,304,319,324,398,457,459,465,470,485,486,492,493,497,498,500,503,505],lock:[5,13,14,15,473,476,481,491],log10:[1,460,467,498],log10_:[460,467,498],log1p:[1,460,467,485,498],log1p_:[460,467,498],log2:[1,460,467,485,498],log2_:[460,467,498],log:[1,9,13,15,99,100,157,163,165,167,168,174,195,202,210,211,229,253,263,264,277,280,286,302,303,306,412,460,467,470,485,497,498,499],log_2:166,log_:[161,162,163,164,460,467,498],log_abs_det_jacobian:15,log_dir:497,log_input:[286,460,470],log_norm:15,log_normal_:[460,467,498,499],log_pob:202,log_prob:[15,202,217,460,470],log_sigmoid:[460,485],log_softmax:[1,217,460,468,485],log_target:[253,460,470],logabsdet:412,logaddexp2:[460,498],logaddexp:[166,460,498],logarithm:[84,157,161,162,163,164,165,166,167,173,217,470],logcumsumexp:[460,498],logdet:[412,460,485,498],logdir:497,logic:[4,13,47,48,49,50,169,170,171,172,371,391,462,478],logical_and:[460,498],logical_and_:[460,498],logical_not:[460,467,498],logical_not_:[460,467,498],logical_or:[460,498],logical_or_:[460,498],logical_xor:[460,498],logical_xor_:[460,498],logist:[15,302],logit:[15,211,460,470],logsoftmax:[229,280,303,470],logspac:[8,460,463],logsumexp:[165,460,467,485,498],long_tensor:495,long_zerodim:495,longer:[2,25,86,490,492],longest:[217,349,351,352,479],longtensor:[33,34,35,73,74,114,128,154,185,187,189,191,193,235,236,276,357,383,414,415,429,434,454,470,493,495,498],look:[3,5,6,10,14,15,202,285,340,366,459,461,467,470,472,473,480,481,484,485,490,491],lookup:[15,235,459,462,470,475,485,491],loop:[11,150,459,460,475,479,485,488,497,505],loop_and_list:485,loop_count:485,loop_in_traced_fn:459,loop_rang:485,loopmodel2:485,loopmodel:485,loos:480,lorentz:15,lose:468,loss0:472,loss1:472,loss:[1,2,8,15,141,202,210,211,217,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,324,349,468,473,477,479,486,488,490,491,497,500,503],loss_fn:[1,472,477,481,486],loss_func:[324,490],lost:[1,131,221,222,223,224,225,226,230,270,271,272,372,503],lot:[5,466,481,489,491,497],low:[5,15,116,217,365,375,379,380,426,460,466,498],lower:[2,11,14,15,52,55,62,63,64,66,89,125,193,202,290,371,388,398,427,438,439,440,459,460,469,470,471,473,482,485,486,488,504],lower_bound:15,lower_choleski:15,lower_triangular:15,lowercas:14,lowercholeski:15,lowercholeskytransform:15,lowest:[61,332,333,341,342,379,380],lowrank_multivariate_norm:15,lp_pool1d:460,lp_pool2d:460,lppool1d:470,lppool2d:470,lr_0:497,lr_decai:486,lr_lambda:486,lr_schedul:486,lrelu:274,lrn:262,lru:[102,126,131,392,476],lstm:[4,258,460,485,497],lstm_cell:460,lstmcell:488,lstsq:[460,498],lsun:501,lt_:[460,498],lu_data:[178,179,460,498],lu_pivot:[178,179,460,498],lu_solv:[460,498],lu_unpack:177,lukasz:[313,315,317],lvert:[30,137,318,470],macbook:497,machin:[14,306,324,480,489,490,491],machineri:478,maco:[14,466],macro:9,maddison:15,made:[2,6,315,317,461,484,486,497,505],mae:254,magic:[460,462],magma:[63,177,425,484],magma_2:484,magma_hom:484,magnitud:[1,355,372,471,472],mai:[1,2,3,5,9,11,13,14,15,36,46,54,89,92,109,141,143,144,148,150,159,160,165,202,217,221,222,223,224,225,226,229,237,273,280,315,317,324,372,387,390,423,459,461,464,468,470,472,474,475,476,478,479,482,484,485,486,490,492,493,494,498,499,505],main:[13,14,15,80,81,82,83,439,440,441,442,459,466,468,470,472,473,477,478,483,484,490,491,497,498],main_tag:497,mainli:[15,217,470,488],maintain:[1,5,14,15,206,348,470,472,505],major:[2,5,11,253,470,485,493],make:[2,3,4,9,10,11,13,14,15,46,62,63,64,81,93,143,148,160,210,217,221,222,223,224,225,226,237,273,299,324,338,356,400,427,434,457,459,461,466,467,468,470,472,473,474,476,477,478,479,481,482,484,485,486,488,490,491,492,495,497,498,500,505,506],make_dict:459,make_grid:[497,506],malici:159,manag:[1,2,5,15,18,93,324,356,403,462,479,480,485,489,490,491,498,499],mandat:478,mandatorili:13,mani:[1,2,5,6,8,9,13,14,18,36,143,217,237,273,439,440,441,442,459,461,467,471,473,474,475,478,480,482,488,492,495,497,498,499,501],manipul:[472,479,488],manner:[2,4,468,474,498],manoj:7,mantissa:498,manual:[1,13,14,145,210,211,229,277,278,280,348,459,466,470,472,476,478,479,482,484,485,497],manual_se:[11,13,18,460,467,482,489],manual_seed_al:11,map:[9,15,22,42,147,148,159,224,225,226,232,233,238,270,271,272,274,279,283,374,446,447,462,468,470,477,478,484,485,488,490,491,492,494,504,505],map_:[463,498],map_loc:[147,159,324,457,465],margin:[227,248,266,276,278,318,460,470,497],margin_ranking_loss:[1,460],marginrankingloss:470,mark:[2,11,17,324,459,461,473,477,478,491,498],mark_dirti:[2,478],mark_non_differenti:[2,478],marker:11,market:[5,6],marten:471,martinsson:[365,426],mask:[181,206,217,279,313,314,315,316,317,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,460,467,468,470,498,504],mask_rcnn:503,masked_fil:[460,467,485,498],masked_fill_:[460,467,468,498],masked_scatt:[460,485,498],masked_scatter_:[460,498],masked_select:[460,467,485,498],maskrcnn_resnet50_fpn:503,mass:15,massa:7,master:[5,313,457,485,490],master_addr:[14,490,491],master_port:[14,490,491],mat1:[27,190,460,493,498],mat2:[27,53,190,460,493,498],mat:[28,194,364,375,460,493,497,498,500],match:[1,2,11,14,15,143,159,181,185,189,236,237,273,320,359,373,433,459,467,470,474,478,485,486,488,490,495,498,500,505],math:[13,99,100,253,365,426,459,461,470],mathbb:280,mathbf:[15,353,355],mathbin:[24,27,28,43,53],mathcal:[215,221,222,223,224,225,226,235,236,241,242,257,258,261,287,289,290,309,381,471],mathemat:[2,8,131,210,212,213,214,250,251,252,309,392,470,499],mathrm:[15,45,96,97,98,212,213,214,243,250,251,252,259,286,309],matmul:[1,8,53,62,130,190,319,365,366,372,413,425,427,460,467,498],matplotlib:497,matric:[15,24,27,43,53,61,62,64,79,81,116,160,168,175,177,183,190,365,372,406,412,413,425,426,427,438,439,441,460,467,470,493,498],matrix:[15,24,27,28,29,43,45,52,53,59,61,62,63,64,79,80,81,83,88,89,116,117,130,160,168,175,177,179,182,183,184,190,193,194,235,236,319,353,358,363,364,365,366,372,412,413,415,425,426,427,433,435,438,439,440,441,442,449,467,468,470,471,473,475,488,493,497,498,505],matrix_pow:[460,498],matrix_rank:460,matter:[2,3,6,81,147,148,150,473],max:[2,13,14,33,46,59,62,66,73,125,130,149,175,184,187,203,204,205,216,217,227,228,234,236,239,248,255,256,260,262,266,267,268,269,270,271,272,276,277,278,281,291,292,298,318,319,326,351,459,460,470,474,479,485,486,488,498,505,506,507],max_:[267,268,269,353],max_bin:497,max_ev:486,max_indic:[185,187],max_it:486,max_job:9,max_lr:486,max_memory_alloc:[11,476],max_memory_cach:11,max_memory_reserv:[11,476],max_momentum:486,max_norm:[1,235,236,326,460,470,472],max_pool1d:460,max_pool1d_with_indic:460,max_pool2d:[460,488],max_pool2d_with_indic:460,max_pool3d:460,max_pool3d_with_indic:460,max_queu:497,max_siz:476,max_unpool1d:460,max_unpool2d:460,max_unpool3d:460,max_val:[247,460,470],max_valu:[247,460],maxim:[66,185,270,271,272,486],maximum:[11,15,33,73,74,125,160,185,247,327,375,388,470,472,476,486,488,504,505],maxnorm:[388,460,498],maxpool1d:[270,470,485],maxpool2d:[271,274,470,485,488],maxpool3d:[272,470,485],maxpool:[239,485],maxunpool1d:[203,267,470],maxunpool2d:[204,239,268,470],maxunpool3d:[205,269,470],may04_22:497,mayb:5,mc3:503,mc3_18:503,mean:[1,2,4,5,10,11,13,14,15,43,148,193,200,201,202,204,205,206,210,211,212,213,214,215,216,217,227,229,231,234,236,240,241,243,244,245,246,247,248,250,251,252,253,254,257,259,260,261,263,264,265,266,276,277,278,280,281,286,287,290,291,292,298,300,301,302,303,305,306,307,308,309,310,311,312,318,324,359,381,382,422,426,451,459,460,461,466,467,468,470,471,472,477,478,479,484,485,486,488,490,491,492,498,503,505],mean_di:460,mean_dy_xmu:460,mean_vector:505,meant:[348,472,490],meantim:[210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,470],measur:[11,15,210,211,227,248,253,254,265,266,318,470,476,480,486],mechan:[14,458,466,478,480,488,490,491],median:[15,460,467,498],medium:5,meet:476,megabyt:324,meiyu:160,member:[5,6,13,14,143,237,273,459,461,479],membership:[6,462],memo:[143,237,273],memoiz:15,memori:[2,4,8,15,16,36,54,89,90,91,92,111,113,143,152,236,237,257,258,273,313,314,315,348,356,362,378,380,382,432,456,459,464,466,468,470,473,481,486,488,490,494,495,496,498,503],memory_alloc:[11,476],memory_cach:11,memory_effici:[152,503],memory_format:[90,91,113,143,237,273,324,362,378,380,382,456,460,498],memory_key_padding_mask:[313,314,315],memory_mask:[313,314,315],memory_reserv:[11,476],memory_snapshot:[11,476],memory_stat:[11,476],memory_summari:11,mendoza:7,mention:[457,461,468,476,478,496,504],mere:5,merg:[5,6,13,274,283],mesh:497,meshgrid:460,messag:[5,11,457,459,460,462,479,485,486,490,492],messmer:7,met:160,meta:[490,497,498],metaclass:462,metadata:[159,397,478,490,491,497,502],metadata_head:497,metadatatensor:478,meter:503,meth:[13,159],method2:151,method:[1,5,9,10,11,13,14,15,17,33,34,35,102,126,131,143,144,145,146,148,149,150,151,152,159,160,184,202,210,235,237,273,274,275,283,284,324,329,331,334,337,338,339,341,342,343,344,345,351,353,366,392,423,425,457,459,462,464,466,467,468,470,471,472,476,478,479,481,485,486,488,490,492,493,495,497,498,499,500,503],metric:[11,486,497],metric_dict:497,michael:7,microwav:503,middl:485,might:[2,3,6,9,10,15,88,150,151,221,222,223,224,225,226,324,325,457,459,473,475,477,478,480,485,490,491,492,496,498,500,505],mileston:486,millisecond:11,mimick:8,min:[13,14,34,66,74,125,193,216,234,260,262,281,292,298,365,372,425,439,440,441,442,460,467,470,485,486,488,490,498,505,506,507],min_indic:[189,460],min_lr:486,min_siz:503,min_val:[247,460,470],min_valu:247,min_x:175,mind:[235,473,485],minfunc:486,ming:160,mingzh:7,mingzhe09088:7,mini:[13,212,213,214,235,236,243,248,250,251,252,259,266,276,278,309,318,470,488,503,506],minibatch:[13,177,202,210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,320,470,488],minim:[1,2,5,8,66,189,457,472,481,486,488],minimum:[9,34,46,74,125,189,217,247,415,486,488,495,503],ministri:478,minkowski:[59,470],minlength:[46,460,498],minmax:488,minmaxobserv:488,minor:[6,11],minu:100,minut:[5,14,497],miopen_batch_norm:460,miopen_convolut:460,miopen_convolution_transpos:460,miopen_depthwise_convolut:460,miopen_rnn:460,mirror:498,misalign:467,mise:15,mismatch:[1,131,461,472,477,478,479,505],miss:[143,227,237,250,251,252,273,484,485],missing_kei:[143,237,273],mistak:479,mix:[9,15,324,458,475,485],mixtur:[1,15],mixture_distribut:15,mixture_same_famili:15,mkl:[102,126,131,392,475,484],mkl_2018:484,mkl_2020:484,mkl_fft:484,mkl_num_thread:475,mkl_thread:475,mkldnn:498,mkldnn_adaptive_avg_pool2d:460,mkldnn_convolut:460,mkldnn_convolution_backward_weight:460,mkldnn_cpu_runtim:475,mkldnn_linear:460,mkldnn_max_pool2d:460,mkldnn_reorder_conv2d_weight:460,mmap:466,mnasnet0_5:503,mnasnet0_75:503,mnasnet1_0:503,mnasnet1_3:503,mnist:[497,501],mnist_train:497,mnt:14,mobil:[464,488,503],mobile_optim:458,mobilenet_v2:[485,503],mobilenetv2:503,mobilenetv3:[246,470],mobileoptimizertyp:464,mod:[144,145,151,461,488],mode:[2,3,13,14,15,131,143,145,150,152,212,213,214,236,237,243,250,251,252,253,259,273,288,309,320,321,356,402,403,460,464,467,470,471,473,477,479,485,486,488,490,498,500,503,505],model0:472,model1:472,model:[1,2,3,4,11,14,15,143,145,146,150,152,159,202,230,237,252,273,279,299,309,313,315,317,324,325,328,338,354,397,459,461,462,464,465,470,473,475,476,477,481,482,485,486,490,491,497,501,504,505],model_dir:[457,465],model_zoo:[458,503],moder:4,modf:460,modif:[2,10,111,488,498],modifi:[1,2,13,141,143,144,145,235,237,273,313,315,317,324,326,327,337,338,339,341,342,343,344,459,467,470,472,473,476,478,485,486,488,490,496,498],modified_tensor:145,modl:15,modul:[1,2,4,9,14,143,144,145,146,147,148,149,150,151,152,159,202,206,212,213,214,215,221,222,223,224,225,226,230,231,232,233,235,236,237,243,250,251,252,259,261,274,275,279,283,284,288,299,303,309,313,324,325,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,351,353,355,397,457,458,462,464,466,468,469,470,472,473,475,476,477,479,480,481,484,485,488,490,497,498,499,503,504,505],modular:[1,472],module_kwarg:470,moduledict:461,modules_to_fus:488,modulo:15,modulu:392,momemtum:[250,251,252,309],moment:[2,464,466,485,486,488,490],momentum:[212,213,214,250,251,252,309,460,470,473,486,488],monitor:[11,102,126,131,392,476,486],monoton:[15,55,398],mont:15,moor:366,more:[1,2,3,6,8,9,10,11,13,14,15,36,52,54,55,61,62,64,79,82,92,102,126,130,131,134,136,151,160,163,166,168,178,202,206,211,216,217,235,236,279,285,286,298,309,325,357,358,366,371,372,391,392,398,412,413,425,427,438,457,459,461,465,466,467,468,469,470,471,473,475,476,478,479,480,485,486,488,490,491,492,493,495,496,497,498,499,500,503,504,505],more_img:468,moreov:[131,490,498],most:[2,3,5,10,11,13,14,15,134,191,202,457,459,461,463,466,468,470,473,476,478,481,486,488,491,492,493,495,497,498],mostli:[5,15,473],motiv:[5,491],motorbik:503,motorcycl:503,mountain:500,mous:503,moustapha:202,move:[4,143,147,159,212,213,214,237,273,309,461,465,466,468,470,476,479,481,486,488,490,494,498],movement:496,moviepi:497,movingaverageminmaxobserv:488,movingaverageperchannelminmaxobserv:488,mpi:14,mro:462,mrshenli:7,mse_loss:[1,460],mseloss:[301,470,477],msg:11,msys2:484,much:[1,2,3,5,6,10,13,160,236,338,459,476,486,490,491,498,505],mul:[2,459,460,467,478,485,488,491,493,495,498],mul_:[8,460,467,493,498],mul_scalar:488,mulbackward0:2,mulconst:478,mult:13,multi:[3,11,143,211,230,237,241,257,273,276,277,278,287,313,315,320,324,459,475,476,485,490,495,498,499,504],multi_head_attention_forward:460,multi_margin_loss:[1,460],multicast:14,multidimension:250,multihead:279,multihead_attn:279,multiheadattent:[313,315,317],multilabel_margin_loss:[1,460],multilabel_soft_margin_loss:460,multilabelmarginloss:470,multilabelsoftmarginloss:470,multilay:[241,257],multilin:497,multilinear:89,multimarginloss:470,multinomi:[460,485,498],multipi:210,multipl:[1,11,13,14,15,17,24,26,27,59,89,143,151,182,190,210,211,224,225,226,227,229,236,237,238,248,253,254,262,265,266,273,276,277,278,280,286,301,302,318,319,324,329,330,331,332,333,334,335,336,433,438,457,461,466,467,468,470,473,475,476,477,480,481,484,486,488,490,491,492,493,500,504,505],multiplex:490,multipli:[1,23,24,25,26,27,28,29,43,53,89,126,131,182,190,192,194,221,222,223,226,241,257,320,321,322,364,423,467,470,486,488,493,503,505],multiplicand:192,multiplicativelr:486,multiprocess:[13,14,230,324,458,468,477,491,500],multiprocessing_context:13,multiscaleroialign:504,multisteplr:486,multithread:476,multivari:[15,195],multivariate_norm:15,must:[1,2,9,11,13,14,15,17,23,24,25,26,27,28,29,41,43,45,47,48,49,50,53,55,58,66,72,81,83,85,86,94,102,105,106,109,114,115,117,122,143,148,150,155,156,160,176,178,181,182,185,189,192,193,195,197,211,217,221,222,223,224,225,226,230,236,237,238,273,276,307,324,338,348,365,369,387,392,393,398,405,423,426,433,440,442,452,454,459,460,461,466,467,468,470,471,472,474,477,478,481,482,485,486,488,490,491,492,494,498,505],mutabl:[150,459],mutat:[145,488,498,505],mute:457,mutex:473,mutual:[13,14],mvlgamma:[460,498],mvlgamma_:[460,498],mvn:15,my_add:491,my_api:480,my_const:459,my_constraint:15,my_dict:[459,461],my_experi:497,my_factori:15,my_imag:497,my_image_batch:497,my_image_hwc:497,my_int:[459,461],my_lib:484,my_lib_add_backward_cuda:484,my_lib_add_forward_cuda:484,my_list:461,my_lstm:479,my_mesh:497,my_model:[324,459],my_modul:459,my_module_inst:459,my_paramet:461,my_qconfig:488,my_registri:15,my_script_add:490,my_script_modul:[459,461],my_scripted_model:459,my_segmentation_transform:505,my_submodul:461,my_transform:15,my_variable_nam:461,myconstraint:15,myconstraintclass:15,mycpuorg:7,myfloat32func:472,myfunc:2,myiterabledataset:13,mymm:472,mymodel:[472,481,488],mymodul:[145,146,148,149,152,274,275,283,284,459,461,479],mymodule2:145,mypi:[136,461],myrotationtransform:505,myscriptmodul:459,mytransform:15,n_0:470,n_1:[102,126,188,392],n_2:188,n_class:202,n_d:[102,126,392],n_epoch:13,n_fft:[141,423,460,498],n_frame:141,n_i:[102,126,131,207,208,209,221,222,223,267,268,269,318,392],n_iter:497,n_k:[188,470],n_power_iter:353,n_t:241,naiv:13,name:[2,9,11,14,15,143,147,148,151,159,237,273,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,353,355,397,401,449,457,458,459,460,462,463,465,466,471,477,478,480,485,488,490,491,494,497,500,501,504,507],named_buff:[143,237,273],named_children:[143,237,273],named_flat_img:468,named_img:468,named_modul:[143,237,273],named_paramet:[143,145,237,273],named_tensor:468,namedshap:468,namedtupl:[13,73,74,88,116,143,154,175,185,187,189,191,202,237,273,365,372,412,413,414,425,427,434,438,459,461],namespac:[1,459,462,478,485,488],nan:[1,2,15,22,30,38,42,55,137,138,139,140,161,163,168,396,398,412,417,425,427,472],narrow:[460,467,485,496,498],narrow_copi:[460,493,498],nasdaq:497,natalia:7,nathan:[365,426],nativ:[1,148,459,466,490,501,504],native_batch_norm:460,native_group_norm:460,native_layer_norm:460,native_norm:460,natur:[2,3,5,8,15,161,163,202],nbatch:[210,211],nccl2:324,nccl:324,nccl_blocking_wait:14,nccl_debug:14,nccl_debug_subsi:14,nccl_socket_ifnam:14,nchannel:281,nchw:497,ncrop:505,ndarrai:[37,111,415,432,485,498,505],ndata:478,ndim:[467,498],ndimens:[463,467,498],ne_:[460,498],nearest:[108,320,322,470,488,505],nearli:[2,365,481,490,498],necessari:[1,2,9,13,18,128,149,349,350,459,468,473,474,476,477,484,488,490,491,492,495,498],necessarili:[14,15,88,185,187,189,229,280,366,476,478,485],need:[1,2,5,6,10,11,13,14,15,36,54,61,81,83,92,131,181,185,189,193,270,271,272,279,313,315,317,324,329,333,335,359,420,425,427,459,461,464,466,468,470,473,475,476,478,479,480,481,482,484,485,486,488,490,491,492,493,494,495,498,500],need_weight:[279,460],needs_input_grad:[2,478],needsinput:480,neeraj:7,neerajprad:7,neg:[9,11,13,15,46,138,168,183,193,202,211,260,276,280,286,318,433,437,439,440,441,442,448,459,460,467,470,471,473,482,485,498,505],neg_:[460,467,498],negat:473,negative_binomi:15,negative_slop:[260,460,470,471],neglig:[2,485],negoti:[6,490],neighbor:[141,320,322,423,488,504],neighborhood:[238,319],neighbour:[262,470,488],neither:[13,14,490],nelement:[277,302,463,498],nep:478,neq:[197,276,278,486],nest:[1,2,11,144,150,273,490,498],nesterov:486,net:[1,10,143,150,151,230,237,273,324,338,461,472,473,476,486,497],netlifi:5,network:[1,2,5,10,15,143,150,151,206,212,213,214,217,230,231,232,233,237,273,280,285,290,298,309,313,315,317,351,353,459,461,470,471,472,473,476,485,486,488,490,491,492,504,505],neural:[5,10,206,217,231,273,280,285,298,313,315,317,459,461,471,476,486,503],neurip:15,neuron:231,never:[2,4,5,14,59,141,159,324,348,473,490,498],nevertheless:492,new_:[476,498],new_data:485,new_empti:[460,498],new_factor:1,new_ful:[460,476,498],new_group:[14,309],new_interv:1,new_lr:486,new_on:[463,498],new_scal:1,new_stat:[11,18,407,489],new_strategi:466,new_tensor:[463,476,498],new_zero:[460,498],newer:[475,476],newli:[5,373,374,473],newtyp:461,next:[1,2,13,14,15,145,241,242,253,258,287,289,466,470,472,475,481,485,490,491,495,497,498,500],next_stat:15,nfs:14,ngimel:7,nhead:[313,314,315,316,317],nhwc:[495,497],nice:[2,221,222,223,224,225,226,238,267,268,269,319,468],nichola:15,niederreit:375,nielsen:15,niki:[313,315,317],ninja:[9,484],nist:500,niter:[160,365,426],nll:280,nll_loss2d:460,nll_loss:[1,460,485],nllloss:[229,253,303,470],nlp:[250,251,252],nms:504,nn_func:478,nn_module_inst:459,nnode:14,nnq:488,nnz:[2,415,493,498],no_grad:[2,4,93,143,237,273,463,485,499],no_sync:324,noam:[313,315,317],noarch:484,nock:15,node:[14,217,230,324,464,476,485,490,491,492],node_rank:14,nois:[460,482],nola:141,nomin:461,non:[1,2,4,8,9,11,14,15,18,32,46,53,55,58,62,130,143,144,150,151,160,170,177,182,193,207,208,209,222,223,225,226,229,237,241,256,257,267,268,269,270,271,272,273,276,278,279,280,287,289,313,324,357,398,399,415,433,446,459,461,463,466,471,474,476,478,479,488,489,490,492,495,496,497,498,504,505],non_block:[143,237,273,348,460,476,494,498],non_leaf_module_list:488,noncontigu:2,nondet_tol:2,nondetermin:[2,482],nondeterminist:[46,217,221,222,223,224,225,226,470,482,498],nondetermnist:482,none:[1,2,9,11,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,58,60,62,63,64,66,69,70,71,72,73,74,75,76,77,80,84,86,88,90,91,92,94,96,97,98,99,100,101,107,108,109,110,112,113,114,115,116,117,122,123,124,125,128,130,131,141,142,143,145,147,149,150,151,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,181,182,184,185,186,187,189,190,191,192,193,194,197,198,200,201,204,205,207,208,209,210,211,212,213,214,217,227,229,230,235,236,237,239,247,248,253,254,255,256,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,283,284,286,288,301,302,303,305,309,313,314,315,316,317,318,320,321,322,324,329,330,331,332,333,334,335,336,351,352,353,355,357,358,359,361,362,365,367,368,369,370,372,375,376,377,378,379,380,381,382,383,384,386,387,388,389,393,395,396,398,406,408,409,410,411,413,414,415,417,418,419,420,421,423,424,425,426,427,430,431,432,434,439,440,441,442,444,446,447,449,450,455,456,457,459,460,461,464,465,466,467,468,470,471,476,478,481,485,486,488,489,490,493,494,497,498,500,502,503,504,505,506],nonexist:461,nonfinit:137,nonlinear:[210,227,248,287,289,471],nonlinearli:5,nonloc:462,nonmask:334,nonneg:[15,365,426],nonnegative_integ:15,nonzero:[2,141,169,171,172,177,454,460,485,498],noopobserv:488,noordhui:7,noplot:5,nor:[13,14,324,371],noreturn:461,norm:[1,59,85,175,178,179,235,236,265,282,314,316,318,326,332,333,338,341,342,353,355,388,460,463,470,472,485,486,488,498],norm_except_dim:460,norm_typ:[235,236,255,256,326,460,470],normal:[1,2,88,102,126,131,141,143,146,165,206,212,213,214,232,233,243,250,251,252,259,262,298,309,314,316,324,326,327,338,346,347,353,355,381,382,388,392,423,457,459,460,463,467,471,476,486,488,490,497,498,499,503,505,506],normal_:[460,467,471,476,498,499],normalized_shap:[259,460,470,488],nose:503,nose_i:500,nose_x:500,notabl:505,notat:[406,462,498],note:[2,8,9,10,11,13,14,15,16,17,32,41,46,61,81,131,136,160,210,211,217,221,222,223,224,225,226,227,229,235,236,248,253,254,265,266,274,276,277,278,279,280,283,286,301,302,313,318,324,375,457,458,459,460,462,466,470,473,474,475,477,478,480,481,485,486,488,491,492,493,496,497,498,500,502,503,505],notebook:[5,506],noth:[5,9,11,459,461,492],notic:[14,131,210,320,425,459,473,486],notifi:[6,492],notimpl:[462,478],notimplementederror:15,notion:[13,212,213,214,250,251,252,309],now:[2,4,11,118,131,145,150,288,320,338,459,467,468,472,474,476,477,478,485,486,491,492,498,503],nproc:[466,477,491],nproc_per_nod:14,nrow:506,nsdf3:500,nthread:500,nuanc:5,nuc:[333,342,358],nuclear:358,nuclear_norm:460,num:[193,241,243,287],num_alloc_retri:11,num_channel:[243,468,488],num_class:[460,470,500,503],num_decoder_lay:313,num_direct:[241,257,287],num_embed:[235,236,470],num_encoder_lay:313,num_featur:[143,212,213,214,237,250,251,252,273,309,470,488],num_gpus_you_hav:14,num_group:[243,460,488],num_head:[279,460],num_keypoint:503,num_lay:[241,257,287,288,314,316,460,485],num_lin:500,num_oom:11,num_output_channel:505,num_paramet:281,num_proc:472,num_process:481,num_replica:13,num_sampl:[13,193,460,498],num_send_recv_thread:490,num_threshold:497,num_work:[13,484,500],num_worker_thread:490,number:[1,2,3,4,5,9,13,14,15,18,23,24,25,26,27,28,29,32,43,45,46,53,54,57,65,66,67,86,88,89,90,94,101,102,109,112,113,115,119,120,121,122,125,126,128,129,131,155,158,160,165,173,176,180,192,193,195,197,199,200,201,202,203,204,205,207,208,209,210,211,215,216,217,221,222,223,224,225,226,227,229,230,234,235,238,239,240,241,242,243,244,245,246,247,248,253,254,257,258,259,260,261,263,264,265,266,267,268,269,273,276,277,278,279,280,281,286,287,289,290,291,292,298,300,301,302,303,305,306,307,308,310,311,312,313,314,315,316,317,318,319,324,332,333,335,336,338,341,342,343,344,348,349,350,352,353,357,359,360,361,365,367,369,375,377,378,379,381,382,387,389,390,391,392,393,394,399,400,402,404,405,406,407,415,420,423,426,433,440,442,446,447,449,452,453,455,458,460,461,462,463,466,470,471,474,476,478,482,485,486,488,489,490,491,493,494,495,497,498,499,500,502,503,504,505,506,507],number_of_vertic:497,numel:[134,460,467,498],numer:[1,13,15,25,55,86,108,131,150,151,174,184,211,212,213,214,243,250,251,252,259,303,306,309,353,398,462,470,478,485,486,498,507],numpi:[13,30,37,111,389,406,415,432,463,474,478,479,484,485,495,496,497,498,500,505,507],nvcc:[9,11],nvidia:[2,14,476,479,484,499],nvlink:490,nvprof:[2,3],nvtx:[2,3],nvvp:2,o_ort:485,o_t:257,obermey:7,obj:[11,135,136,149,397,484],object:[1,2,11,13,14,15,16,17,18,135,136,143,147,148,149,150,151,159,160,180,230,232,233,237,250,251,252,273,309,340,349,350,397,457,461,462,464,465,466,473,475,476,478,479,480,481,484,485,486,489,490,492,494,495,497,498,500,501,504,505,506,507],obscur:9,observ:[1,210,211,212,213,214,227,229,248,250,251,252,253,254,265,266,276,277,278,280,286,301,302,309,318,324,470,472,480],observer_en:488,observer_kwarg:488,observer_non_leaf_module_list:488,observerbas:488,obtain:[2,13,14,15,184,217,280,365,426,466,467,470,473,475,488,498,503],obviou:[479,492,493],obvious:5,occas:[2,5,473],occasion:493,occupi:[11,262,470,476,507],occur:[1,8,11,13,141,144,217,461,468,470,472,476,479,485,490,492,496,498],occurr:[185,187,189,348,446,447],oct:460,octob:11,odd:15,odict_kei:341,odot:257,off:[2,5,11,44,51,123,124,141,150,211,403,470,475,477,480,488,490,491],offer:[14,476],offici:[6,14,202,503],offlin:[148,505],offset:[36,81,82,83,236,373,374,440,442,460,470,488,498,500,504,505],offset_group:504,often:[1,2,3,5,9,13,14,15,131,150,191,235,250,251,252,253,470,479,480,485,486,490,497,498],old:[362,397,456,459,473,483,484,486],older:476,omagma:484,omega:423,omega_1:[102,126,392],omega_d:[102,126,392],omega_i:[102,126],omit:[4,9,14,89,286,484,485,490,505,506],omkl:484,omp:475,omp_num_thread:475,onc:[1,2,5,10,13,14,16,89,143,145,159,230,237,273,404,459,464,466,472,473,475,476,478,480,485,486,497],one:[1,2,3,4,5,8,9,10,11,13,14,15,17,36,46,54,55,82,89,92,102,126,132,133,134,145,158,173,182,193,202,207,210,211,212,213,214,217,221,224,225,226,229,236,239,250,251,252,254,255,256,265,277,309,320,324,325,328,338,349,354,355,357,358,372,373,374,398,406,419,423,436,448,459,464,466,467,468,470,473,474,475,476,477,478,480,481,482,484,485,486,488,490,492,494,495,497,498,500,501,502,503,504,505],one_hot:460,one_hot_categor:15,onecyclelr:486,ones:[2,13,14,15,17,36,45,54,92,101,141,149,159,211,238,243,259,277,278,280,319,329,330,331,332,333,334,335,336,338,339,352,362,388,454,460,463,467,468,470,473,474,476,478,485,486,490,492,495,498,503],ones_:471,ones_lik:[460,476,485],onesid:[131,141,392,423,460,498],onfunctionent:480,onfunctionexit:480,ongo:490,onli:[1,2,3,4,5,6,8,11,13,14,15,16,17,44,45,51,53,88,90,92,102,123,124,126,127,131,137,143,144,145,149,150,151,159,202,224,225,226,230,235,236,237,238,253,273,276,278,281,288,309,319,320,324,348,349,350,358,366,385,392,402,404,419,423,425,427,432,440,442,446,447,452,453,460,461,464,466,467,468,470,471,472,473,476,477,478,479,480,481,483,484,485,486,488,490,491,492,493,495,496,497,498,503,505],onlin:486,only_input:2,onnx:[349,350,458,468,503],onnx_model:485,onnxruntim:485,onto:[11,147,148,159,466,479],oom:479,opaqu:14,open:[2,6,15,147,159,459,466,484,490],openbla:484,opencv:10,openmp:[475,484],oper:[1,3,4,5,6,8,10,11,13,15,17,32,36,44,46,51,54,58,61,73,74,75,76,90,91,92,101,102,112,113,120,123,124,126,131,143,148,149,150,151,158,167,173,206,211,216,217,221,222,223,224,225,226,230,231,232,233,234,236,237,238,239,247,248,249,254,260,265,270,271,272,273,290,291,292,298,301,312,319,324,351,358,361,362,369,370,377,378,379,380,381,382,383,384,391,392,415,419,424,425,427,432,454,455,456,458,459,462,470,472,474,475,476,477,479,481,482,486,489,490,491,493,495,496,498,501,502,504,505],operand:[89,462,478,482,495],operatiton:488,operator_export_typ:485,operatorexporttyp:485,operatornam:[110,210,211,217,248,253,254,265,409],opinion:5,opnam:485,opportun:[459,491],oppos:505,ops:[1,2,14,150,151,463,464,467,468,475,476,478,485,488,496,498,499,501],opset:485,opset_vers:[485,503],opt:[149,459],opt_einsum:89,optim:[1,2,5,8,9,10,14,15,89,143,149,150,151,160,212,213,214,235,237,250,251,252,273,276,277,278,302,309,324,365,458,459,461,464,468,471,473,475,477,479,481,485,488],optimiz:[459,485],optimization_blacklist:464,optimize_for_mobil:464,optimizer0:472,optimizer1:472,optimizer2:472,optimizer_class:490,optimizer_param:324,optimum:486,option:[1,2,4,9,11,13,14,15,18,19,21,22,23,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,58,60,62,63,64,66,67,69,70,71,72,73,74,75,76,77,80,81,82,83,85,86,88,90,91,92,94,96,97,98,99,100,101,102,107,108,109,112,113,114,115,116,117,122,123,124,125,126,128,130,131,137,141,143,145,150,151,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,179,181,182,184,185,186,187,189,190,191,192,193,194,197,198,202,206,210,211,212,216,217,221,222,223,224,225,226,227,228,229,232,233,234,235,236,237,238,239,247,248,250,253,254,259,260,264,265,266,270,271,272,273,274,275,276,277,278,279,280,282,283,284,286,290,291,292,298,301,302,303,305,309,312,313,314,315,316,317,318,319,320,321,322,324,325,329,330,331,332,333,334,335,336,346,347,348,349,350,351,352,353,355,357,358,359,361,362,365,367,368,369,370,372,375,376,377,378,379,380,381,382,383,384,386,387,388,389,392,395,396,398,406,408,409,410,411,413,414,415,417,418,419,420,421,423,424,425,426,427,430,431,432,434,438,439,440,441,442,443,444,446,447,449,450,455,456,457,459,460,463,464,465,470,471,478,479,480,482,485,488,490,493,495,497,498,500,502,503,504,505,506],orang:503,ord:[358,460],order:[2,4,5,14,15,17,35,52,61,81,88,104,105,106,193,202,217,230,274,283,299,324,334,348,349,350,351,358,368,398,413,414,425,427,434,437,440,442,446,449,457,459,460,462,466,467,468,470,473,474,476,477,478,482,485,486,488,490,491,492,495,498,503,504,505],ordereddict:[274,283,299,338,460,504],ordin:[495,498],ordinari:[11,472],ordinarili:[1,472],org:[2,3,5,10,15,160,290,291,313,355,365,457,462,484,488,497,503,505],organ:[5,6,477,480],orgqr:[460,498],origin:[2,8,13,56,61,128,130,131,141,147,149,150,151,181,202,206,230,309,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,348,351,353,355,393,413,414,416,425,427,434,446,447,459,466,468,476,478,479,480,481,485,486,488,494,498,504,505],ormqr:[460,498],orphan:[241,257,287],ort:485,ort_sess:485,ortho:160,ortho_bparam:160,ortho_fparam:160,ortho_iparam:160,orthogon:[160,363,364,372,471],orthogonal_:[463,471],orthonorm:[425,427],ossci:484,ostmo:7,other:[1,2,3,5,6,9,10,11,13,15,23,30,32,37,41,47,49,50,52,55,72,81,85,86,93,94,95,108,109,115,122,128,137,149,155,165,166,167,169,171,172,174,176,182,185,188,189,192,197,221,222,223,224,225,226,230,238,273,274,283,319,324,338,356,358,384,387,398,403,415,419,432,436,439,441,452,459,460,461,462,463,466,467,468,470,472,473,474,475,476,477,478,479,481,482,483,485,486,488,490,491,492,497,498,503,505,506],other_help:461,otherwis:[1,2,5,6,8,9,13,14,23,24,25,26,27,28,29,32,37,43,55,66,88,95,138,139,143,144,154,159,160,174,185,186,187,189,191,192,195,208,209,232,233,237,241,244,245,246,247,257,260,273,277,278,280,281,287,288,290,301,307,312,324,348,352,356,365,370,372,375,384,390,398,400,421,422,423,424,425,427,446,447,450,451,454,461,464,467,470,472,478,481,485,486,488,490,492,494,495,496,497,498,500,503],otim:[29,470],our:[2,5,210,478,481,485,491,493],out:[1,2,5,6,8,10,11,19,20,21,22,23,24,25,26,27,28,29,31,32,34,38,39,40,41,42,43,45,46,47,48,49,50,53,55,58,60,62,63,64,66,69,70,71,72,73,74,75,76,77,80,84,86,88,90,94,96,97,98,99,100,101,107,108,109,110,112,113,114,115,116,117,122,125,128,130,149,154,155,156,157,158,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,181,182,185,186,187,189,190,191,192,193,194,197,198,207,208,209,215,218,219,220,221,222,223,224,225,226,231,232,233,241,242,255,256,261,267,268,269,270,271,272,285,287,289,293,294,295,296,297,313,314,315,316,317,319,320,321,322,323,332,333,334,335,357,358,359,361,362,367,368,369,372,375,376,377,379,381,383,384,386,387,388,395,396,398,408,409,410,411,413,414,417,418,419,420,421,425,427,430,431,432,434,436,439,441,443,444,450,454,455,456,457,459,460,466,468,470,473,474,477,478,481,485,488,490,491,492,493,495,497,498,504,505],out_channel:[221,222,223,224,225,226,488,504],out_dim:[460,468],out_featur:[143,215,237,261,273,353,355,488],out_h:504,out_height:504,out_int32:[55,398,460],out_j:223,out_ort:485,out_padh:470,out_padt:470,out_padw:470,out_proj_bia:460,out_proj_weight:460,out_unf:319,out_w:504,out_width:504,outdim:460,outer:[29,89,117,503],outlier:301,outlin:491,outmost:490,output0:472,output1:[202,241,287,472,485],output2:[202,241,287],output:[1,2,3,4,5,11,13,14,15,17,19,21,22,23,24,25,26,27,28,29,31,32,33,34,36,38,39,40,41,42,43,45,46,47,48,49,50,53,55,58,59,60,62,63,64,66,69,70,71,72,73,74,75,76,77,80,81,83,86,88,89,90,91,92,94,96,97,98,99,100,101,107,108,109,112,113,114,115,116,117,122,125,128,130,131,141,143,145,149,150,151,154,155,156,157,158,161,162,163,164,165,166,167,169,170,171,172,173,174,176,177,178,181,182,185,186,187,188,189,190,191,192,193,194,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,276,277,278,279,280,281,282,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,318,319,320,321,322,323,324,349,351,352,353,355,357,358,359,361,362,368,369,370,375,376,377,378,379,380,381,382,383,384,386,387,388,389,392,395,396,398,406,408,409,410,411,413,414,417,418,419,420,421,422,424,425,427,430,431,434,438,439,441,443,444,446,447,449,450,451,455,456,459,460,464,467,468,470,472,473,475,477,478,479,484,485,486,488,491,493,495,496,497,498,500,503,504,505],output_2d:262,output_4d:262,output_devic:[14,230,309,324,470],output_featur:478,output_nam:485,output_nr:460,output_pad:[224,225,226,460,470],output_ratio:[239,460],output_s:[199,200,201,203,204,205,225,238,239,270,271,272,319,460,470,488,504,505],output_scal:460,output_split:14,output_tensor_list:14,output_zero_point:460,outsid:[1,4,6,13,22,42,461,470,476,479,486,505],outstand:490,oven:503,over:[2,6,13,14,15,58,73,74,75,76,89,143,150,159,167,186,188,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,217,221,222,223,224,225,226,227,229,236,237,238,239,243,248,250,251,252,253,254,255,256,259,262,265,266,267,268,269,273,276,277,278,280,286,301,302,304,309,318,319,326,355,388,421,422,424,433,466,467,468,470,472,474,475,477,478,481,485,486,488,490,491,493,498,499,500,504,505,506],overal:[6,14,473,475,481,505],overall_end:13,overall_start:13,overestim:[365,426],overflow:[1,75,76,370,424,440,442,470,505],overhead:[1,2,3,14,475,476,477,480,488,491,498],overheard:500,overlap:[2,13,141,238,319,324,476,495,504],overload:461,overparameter:15,overrid:[9,14,15,210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,329,397,406,470,485,486,490,497],overridden:[2,9,478],override_dict:478,overriden:478,overshoot:470,oversubscript:475,overview:[10,14,324,466,473,490],overwhelm:5,overwrit:[13,274,283,473],overwritten:488,overwrritten:488,owen:375,own:[1,5,6,14,15,143,159,221,222,223,224,225,226,237,273,472,473,476,485,488,490,492],owner:[457,478,490,491],owner_nam:490,ownerrref:[490,492],ownership:[5,6],p1d:470,p2d:470,p3d:470,p_c:211,p_i:318,p_tensor:498,pace:5,pack:[179,230,241,257,287,348,349,350,351,460,464,479,484,488],pack_padded_sequ:[241,257,287,348,351,479],pack_sequ:[257,287,351],packag:[5,11,15,17,324,457,478,486,490,497,499,501,502],packagesnotfounderror:484,packed_hh:460,packed_ih:460,packed_input:479,packed_output:479,packed_weight:460,packedsequ:[12,241,257,287,349,350,351],pad:[13,141,207,208,209,217,218,219,220,221,222,223,224,225,226,235,238,267,268,269,270,271,272,276,277,279,293,294,295,296,297,319,323,349,351,352,423,460,479,482,485,488,497,504,505,506],pad_if_need:505,pad_mod:[423,498],pad_packed_sequ:479,pad_valu:506,padd:488,padded_input:479,padding_idx:[235,460,470],padding_input:479,padding_mod:[221,222,223,224,225,226,460,470,488,505],padding_valu:[351,352],padh:[470,488],padt:470,padw:[470,488],page:[1,5,13,160,313,315,317,476,477],pai:[484,496],pair:[32,59,88,274,279,283,384,423,461,467,470,486,490,491,492,493,497],pairwis:[15,248,282,318],pairwise_dist:460,pairwisedist:470,paper:[5,15,202,206,212,213,214,216,231,232,233,239,243,246,250,251,252,259,285,290,298,301,309,313,315,317,318,470,486,503,504],parallel:[0,1,13,14,119,120,144,230,279,309,324,404,405,458,470,472,473,475,481,484,490,492,505],parallel_info:[0,475],parallelli:500,param1:15,param2:15,param:[1,2,15,143,153,237,273,283,284,324,460,471,472,473,477,486,488,503],param_byt:486,param_group:486,param_shap:15,paramet:[1,2,4,9,11,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,112,113,114,115,116,117,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,140,141,142,143,144,145,147,148,149,150,151,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,241,242,243,244,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,301,302,303,305,306,307,309,312,313,314,315,316,317,318,319,320,321,322,323,324,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,400,401,402,403,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,427,428,429,430,431,432,433,434,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,459,463,464,465,466,468,470,471,472,473,477,478,480,481,483,485,488,489,490,491,493,494,497,498,500,501,502,503,504,505,506],parameter:[15,498],parameteriz:15,parameters_to_prun:338,parameters_to_vector:338,parameterserver2:490,parametr:[15,331,478],params_rref:490,paramter:488,parent:[466,484,488,492,497],parenthes:462,parenthesi:[2,93,356],park:503,parmar:[313,315,317],pars:[2,14],parse_arg:[14,476,485],parser:[14,476],part:[1,3,4,5,6,9,10,14,15,88,102,126,131,138,139,140,143,148,150,151,237,273,324,423,439,440,441,442,457,459,461,464,465,472,473,478,479,485,486,488,490,491,492,493,500],parti:[6,457,459,476,501],partial:[15,83,178,270,271,272,334,462,468,470,473,485,488,492],particip:[13,14,324,491],particular:[1,5,13,143,230,237,273,438,459,461,476,479,480,482,485,498,500],particularli:[13,229,230,280,459],partit:[202,491,492],partli:6,partner:5,pascal:[500,503],pass:[1,2,4,5,9,13,14,15,17,55,83,88,143,150,151,159,202,203,204,205,230,235,236,237,239,253,273,278,299,314,315,316,317,324,329,334,348,351,397,398,425,432,457,459,462,464,466,467,468,470,471,472,473,475,476,477,478,480,483,485,486,488,490,492,493,497,498,500,503,504,505],past:[14,479,503],paszk:[6,7],patch:[5,238,319],path:[2,3,9,14,288,457,461,473,478,482,483,500,502,506],path_importer_cach:457,path_to_hub_dir:457,pathlib:506,pathlik:[159,397],patienc:486,pattern:[14,230,351,459,473,476,478,479,488],paus:490,pca:365,pct_start:486,pdb:[146,149,152,459,461],pdf:[217,290,488,505],pdist:[1,282,460],peak:[11,486],peer:[5,14,476],penalti:[1,486,488],pend:[490,497],penros:366,peopl:5,pep:[459,461],per:[1,9,11,13,14,89,160,210,211,212,213,214,227,229,230,236,243,248,250,251,252,253,254,259,265,266,276,277,278,280,286,301,302,309,313,314,315,316,317,318,324,355,359,365,373,406,426,468,469,470,475,477,480,482,488,491,497,498,502,503],per_channel_affin:[373,488],per_channel_symmetr:488,per_index_weight:236,per_sample_weight:[236,460,470],per_tensor_affin:[374,488],per_tensor_symmetr:488,per_work:13,percentag:486,perchannelminmaxobserv:488,perfectli:[482,504],perform:[1,2,4,8,12,13,14,15,24,25,26,27,28,29,37,43,46,53,75,76,86,143,148,150,165,190,194,217,221,222,223,224,225,226,236,237,241,253,257,273,281,287,324,348,358,365,370,391,398,424,425,426,443,459,466,467,468,469,470,471,472,473,475,476,477,478,482,486,488,490,491,492,493,494,495,496,497,498,502,504,505],perhap:501,period:[11,44,51,123,124,460,481,486],perman:[329,330,331,332,333,334,335,336,345,492],permiss:478,permit:493,permut:[13,89,383,460,468,485,496,498],perplex:15,persist:[4,5,12,143,237,241,257,273,287,484],person:[5,6,458,500,501],perspect:[477,491,505],perturb:[2,131],pervas:15,peter:7,peterjc123:[7,484],phase:[2,484],phenomenon:479,phi:[240,470],phone:503,photo:500,phototour:501,phy:375,physic:[462,475],pic:505,pick:[490,505],pickl:[13,159,273,397,466],pickle_load_arg:159,pickle_modul:[159,397],pickle_protocol:397,pid:479,piec:[5,491],pieter:7,pietern:7,pil:[500,501],pil_to_tensor:505,pillow:[497,505],pin:[90,92,143,237,273,348,432,494,498],pin_memori:[13,90,92,432,459,460,476,494,498],pinvers:[460,498],pip:[484,497],pipe:490,pipelin:505,pivot:[177,178,179,498],pixel:[222,232,233,280,285,320,470,488,500,504,505,506],pixel_shuffl:[285,460,485],pixelshuffl:470,pixelwis:503,pizza:503,pkg:484,place:[1,5,8,11,13,14,18,36,54,92,143,193,206,216,230,231,232,233,234,237,247,260,273,289,290,291,292,298,312,324,326,327,337,338,339,341,342,343,344,393,433,459,461,468,470,472,476,480,485,488,490,491,494,496,498,505],placehold:[249,488],plai:14,plain:[9,211,274,283],plan:[2,5,14,102,126,131,324,392],plane:[81,199,200,201,203,204,205,207,208,209,221,222,223,224,225,226,239,255,256,259,262,267,268,269,355,394,470,473,488,500],plant:503,platform:[9,372,464,482,488,503],pleas:[1,2,3,5,6,8,10,14,15,36,46,54,92,217,221,222,223,224,225,226,253,324,366,463,467,468,469,470,472,473,478,484,485,486,488,490,491,496,497,498,500],plenti:479,plot:[475,497],plu:[2,505],plugin:497,plume:500,pmf:15,png:500,point:[1,2,5,6,8,11,13,18,32,44,45,51,109,118,123,124,131,133,141,143,150,151,156,158,160,165,173,207,208,209,221,222,223,224,225,226,237,238,267,268,269,273,319,324,366,373,374,375,384,387,400,401,406,437,443,459,461,462,469,470,472,473,477,482,486,488,490,491,495,497,498,500,502,504,505,507],pointer:[11,288,477,480,490,492,498],pointwis:[15,165,166,467,474],poisson:[286,460,470],poisson_nll_loss:[1,460],poissonnllloss:470,polar:15,poli:500,polici:[15,486],policy_network:15,polosukhin:[313,315,317],polyfil:459,polygamma:[460,498],polygamma_:[460,498],polygon:500,polymorph:461,pool:[11,199,200,201,203,204,205,207,208,209,239,255,256,267,268,269,270,271,272,274,475,478,481,482,488,490,504],pooled_w:504,poor:472,pop:[11,274,283],popul:[2,15,498],popular:501,popularli:505,port:14,portion:[110,230,324,329,330,331,332,333,334,335,336,427,470,486],pos_weight:[211,460,470],pose:491,posit:[2,13,15,44,46,51,62,63,64,123,124,143,144,160,211,221,222,223,228,230,236,237,273,279,306,313,318,393,439,440,441,442,448,457,460,467,468,470,478,485,488,498,504,505,507],position:[467,468],positive_definit:15,positive_integ:15,positivedefinit:15,possess:6,possibl:[6,9,10,13,15,143,150,159,211,217,237,273,390,416,459,461,466,467,470,471,473,475,477,478,481,484,488,490,492,495,498,500],post:[5,479,484,488,503,505],postprocess:503,pot:503,potenti:[14,46,217,221,222,223,224,225,226,324,461,466,470,473,485,496,498],potential_energi:15,pottedpl:503,pow:[1,2,460,467,472,485,498],pow_:[460,467,498],pow_adder_reduc:2,pow_reduc:2,powbackward0:2,power:[183,255,256,353,369,388,449,462,470,486,505],powertransform:15,pr_curv:497,practic:[13,15,458,459,466,468,478,503],pradhan:7,pre:[2,10,143,237,273,329,330,331,332,333,334,335,336,337,457,459,464,475,485,486,488,498,500,503],preced:[462,475,486],precis:[2,9,15,207,208,209,211,221,222,223,267,268,269,324,372,406,458,469,470,476,485,488,495,497,498,503],precision_matrix:15,precompil:480,precondit:160,precondition:160,pred:[324,490],predict:[202,211,497,503],predict_net:485,preemptiv:[324,488],preexist:2,prefer:[6,13,131,160,280,398,459],prefix:[143,237,273,457,488,493],prelu:[1,274,460,485],prepack:464,prepar:[462,485],prepare_for_backward:477,prepare_qat:488,prepend:[9,13,143,182,237,273,474],preprocess:[10,143,498,503],prerequisit:477,presenc:6,present:[6,14,143,177,202,237,273,348,457,465,466,467,468,473,478,491,495,500,502,503,504],preserv:[2,13,105,106,145,148,274,283,320,398,459,464,467,470,471,476,485,488,490,495,498,505],preserve_format:[91,113,362,378,380,382,456,495,498],preserve_rng_st:4,preserved_attr:145,pressur:[2,473],pretrain:[235,236,457,473,485,503],pretrained_backbon:503,pretti:[143,406,459],prevent:[1,5,11,13,14,75,76,141,231,279,301,370,424,440,442,466,470,472,477,479,492,493],previou:[14,148,241,257,287,324,329,330,331,332,333,334,335,336,375,423,464,473,484,492,498],previous:[2,147,459,474,476,489,490,498],prim:[459,485],primari:[6,462],primarili:[15,17,488,498],primit:[14,459,461,462,475,490],princip:365,print:[2,13,17,143,145,147,149,177,215,237,249,261,273,285,337,338,339,340,343,406,457,459,460,470,475,476,478,485,486,488,490,497,498,500,504],printable_graph:485,printer:459,printout:11,prior:[5,6,338,474,486,488],prioriti:[5,11,461],pritam:7,pritamdamania87:7,privat:478,pro:[484,497],prob:[15,460],probabilist:[365,426],probabl:[13,45,165,193,202,206,217,231,232,233,241,253,257,280,287,466,470,478,484,485,497,498,505],problem:[5,14,150,160,175,229,280,466,470,479,481,482,484,492],problemat:[5,459],proce:[472,476,490],procedur:[150,151,160,490,500],proceed:[11,491,492],process:[1,2,8,9,11,14,15,148,160,210,211,227,229,235,236,248,253,254,265,266,270,271,272,276,277,278,280,286,301,302,309,313,315,317,318,324,457,459,466,467,468,470,473,475,476,477,478,480,481,482,484,488,492,493,494,500,503],process_group:[309,324,490],process_id:309,processcontext:466,processgroup:14,processgroupag:490,processgroupgloo:[477,490],processgroupmpi:477,processgroupnccl:477,processgrouprpcbackendopt:490,prod:[1,237,238,319,460,467,485,498],prod_:[102,126,131,222,223,225,226,392],prod_d:[238,319],produc:[1,5,9,11,13,18,116,149,150,151,185,187,189,217,221,222,223,224,225,226,324,375,459,461,466,467,470,472,474,476,480,484,488,493,496],producer_info:480,product:[2,10,14,15,24,27,28,29,43,53,57,61,72,75,87,89,117,182,190,194,241,242,257,258,370,433,459,467,470,480,498,505],prof:2,profil:[3,406,490],profile_memori:2,program:[2,3,11,13,14,459,461,462,473,476,479,480,481,484,497],programm:461,progress:[11,449,457,465,486,503],project:[5,89,365,457,483],projector:497,promot:[56,86,108,232,233,371,391,495],promote_typ:460,prompt:484,prone:[466,481],propag:[2,15,466,467,478,480,485,488,493,498],propagate_qconfig_:488,proper:[13,221,222,223,224,225,226,461,473,476,484],properli:[5,13,274,275,283,284,324,425,427,478,481,490,491,495],properti:[2,13,15,143,206,303,325,348,470,476,486,490,495,507],proport:[255,256,505],proportion:[320,470,488],propos:[6,7,486,491],protect:473,proto:485,protobuf:485,protocol:[13,397,478,484,490],prototyp:[468,490,495],prove:466,proven:[5,231,324],provid:[1,2,5,6,8,9,10,11,13,14,15,17,52,55,58,63,64,89,112,141,147,149,150,224,225,226,229,241,242,257,258,270,271,272,279,280,287,289,313,324,329,365,391,398,415,440,442,457,459,461,464,466,467,468,470,476,477,478,485,486,488,490,491,492,493,494,495,497,498,499,502,503,504,505,507],proxi:490,prune:[329,330,331,332,333,334,335,336],pruned_tensor:[329,330,331,332,333,334,335,336],pruning_method:338,pruning_typ:[334,338],ps_roi_align:504,ps_roi_pool:504,pseudo:[18,366],pseudoinvers:15,pseudorandom:[45,193,359,365,367,379,426,482],psi:[84,368],psroialign:504,psroipool:504,pth:[457,459,465],pts:502,pts_unit:502,publish:5,puhrsch:7,pull:[6,10],purchas:6,pure:[10,144,459],purg:497,purge_step:497,purpos:[14,182,217,406,491,498],push:[5,6,11],put:[5,13,159,243,457,466,476,481,486,491,492,498,500],put_:[460,498],pyav:501,pybind11:[9,10,461],pybind:9,pyc:480,pycapsul:16,pyplot:497,pyramid:504,python3:[159,397],python:[1,2,3,6,9,10,11,13,14,57,58,67,86,92,129,143,144,145,146,148,149,150,159,174,186,230,274,275,283,284,324,358,390,393,400,421,422,424,433,443,450,451,457,458,466,468,470,473,474,475,476,477,478,479,480,481,484,485,488,489,490,491,492,493,498,501,505],python_only_fn:149,pytorch:[0,2,3,8,9,11,13,15,36,56,68,112,132,133,134,135,136,148,210,217,313,324,348,397,457,461,465,468,469,474,475,476,479,480,481,483,484,486,488,490,491,495,496,497,498,500,503,504,507],pytorch_jit:459,q_add:488,q_filter:488,q_input:488,q_per_channel_axi:[460,488,498],q_per_channel_scal:[460,488,498],q_per_channel_zero_point:[460,488,498],q_proj_weight:460,q_scale:[460,488,498],q_zero_point:[460,488,498],qconfig:488,qconfig_dict:488,qconfig_spec:488,qconfigdynam:488,qint32:[373,374,488],qint8:[373,374,488],qmnist:501,qnnpack:488,qparams_dict:488,qscheme:[460,488,498],qtensor:[460,498],quad:[210,211,253,254,265,280],quadrant:41,quadrat:479,qualiti:[5,500],quant:488,quant_max:[460,488],quant_min:[460,488],quantiti:[332,333,335,336,338,341,342,343,344,486],quantiz:[2,8,78,373,374,458,485,495,498],quantization_schem:[373,374],quantize_dynam:488,quantize_dynamic_jit:488,quantize_jit:488,quantize_per_channel:[460,488],quantize_per_tensor:[460,488],quantize_qat:488,quantized_batch_norm:460,quantized_gru:460,quantized_gru_cel:460,quantized_input:488,quantized_lstm:460,quantized_lstm_cel:460,quantized_max_pool2d:460,quantized_rnn_relu_cel:460,quantized_rnn_tanh_cel:460,quantstub:488,quantwrapp:488,quasi:375,quasirandom:375,quennevil:7,queri:[11,279,460,476],question:458,queu:[11,476,498],queue:[5,466,497],queue_2:466,quick:[2,5],quickli:5,quint8:[373,374,488],quit:[5,478,479,490],qw_i:279,r2plus1d_18:503,r3d:503,r3d_18:503,r_t:241,race:473,racket:503,rad2deg:[460,467,498],rad2deg_:[460,467],radian:[15,31,41,77,376,460],rais:[1,2,4,5,9,15,146,147,152,159,183,333,335,338,348,462,466,473,476,478,479,490,498,505],raise_except:2,ram:159,rand:[1,2,15,130,145,149,150,151,152,162,164,313,314,315,316,317,324,367,378,459,460,461,463,467,468,470,485,490,491,496,497,498,499,503,504],rand_lik:[460,463,499],randint:[46,191,217,460,463,468,470,493,497,498,499,503,505],randint_lik:[460,463,499],randn:[2,8,15,21,22,23,24,25,26,27,28,33,34,35,36,38,39,40,41,42,43,53,58,60,61,62,63,64,66,70,71,72,73,74,75,76,79,80,81,82,83,85,86,89,102,107,126,127,128,130,131,149,161,163,167,168,174,177,178,179,181,182,183,185,186,187,189,190,191,192,194,198,199,200,201,203,204,205,206,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,228,229,231,232,233,234,238,239,240,241,242,243,244,245,246,247,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,272,280,281,282,283,284,285,286,287,289,290,291,292,297,298,300,303,304,305,306,307,308,309,310,311,312,318,319,323,360,366,369,370,372,382,385,386,392,395,396,408,410,411,412,413,414,417,418,421,422,424,425,427,428,430,431,433,436,437,438,439,441,444,450,451,452,453,454,460,461,463,467,468,470,473,474,475,476,477,478,485,488,493,495,497,498,499],randn_lik:[460,463,485,499],random:[15,18,45,121,129,160,180,206,217,241,257,290,329,335,336,343,344,359,365,375,377,378,379,380,381,382,383,399,407,426,457,458,460,470,482,485,497,498,500,503,504,505],random_:[210,211,229,280,460,467,470,498,499],random_devic:18,random_offset:500,random_sampl:460,random_split:13,random_tensor:491,random_unstructur:[340,345],randomaffin:505,randomappli:505,randomchoic:505,randomcrop:[500,505],randomeras:505,randomgrayscal:505,randomhorizontalflip:505,randomli:[2,13,206,231,232,233,290,335,470,480,488,500,505],randomord:505,randomperspect:505,randomresizedcrop:505,randomrot:505,randomsampl:13,randomsizedcrop:505,randomverticalflip:505,randperm:[460,463,499],rang:[1,2,11,13,14,15,22,42,45,66,98,103,125,165,202,229,237,239,242,247,258,264,275,280,284,289,303,304,305,327,448,459,460,470,473,475,479,481,485,486,488,495,497,498,499,500,503,505,506],range_pop:11,range_push:11,rangl:15,rank:[13,14,15,175,184,266,309,324,365,366,425,426,477,481,490,491],rao:7,rapidli:479,rare:[1,5,472,488],rate:[1,15,232,233,367,480,497,502,503],rather:[2,4,9,116,406,459,468,470,474,478,485,488,490,497,498,506],ratio:[15,239,504,505],ravel:334,raw:229,rbrace:[439,440,441,442],rceil:[32,60],rcond:[366,460],rdinat:[415,493],reach:[5,6,13,160,481,486,490],reachabl:14,read:[13,14,36,147,159,432,467,468,473,474,476,480,485,486,490,498,502],read_video:502,read_video_timestamp:502,readabl:[0,11,13,485],readi:[5,9,17,44,51,123,124,324,459,477,490,491],readlin:[147,159],readthedoc:89,real:[13,15,23,24,25,26,27,28,29,43,66,88,102,126,131,138,139,140,192,282,285,392,423,425,427,452,453,457,460,473,490,492,496,498,505],real_vector:15,realiti:3,realli:[2,5,425,427,473],realloc:128,realvector:15,rearrang:[285,468,470],reason:[13,14,150,151,185,187,189,210,397,459,461,470,473,477,483,485,488,490,495],rebas:5,rebuild:5,rebuilt:5,recal:[211,478,497,503],receiv:[2,5,11,13,14,15,17,324,466,472,481,490,491,492],recent:[1,2,5,134,461],recip:329,reciproc:[1,396,460,467,485,498],reciprocal_:[460,467,498],recogn:[13,490],recognit:[500,503],recommend:[1,2,13,14,15,18,136,144,160,202,230,324,397,432,446,457,459,466,468,470,471,472,473,475,476,478,481,485,488,498],recomput:[4,355,470,486],recompute_scale_factor:470,reconstruct:[11,210,211],record:[2,11,32,44,51,90,91,92,101,112,113,123,124,143,150,158,173,230,237,273,361,362,377,378,379,380,381,382,383,384,415,432,455,456,459,461,472,473,476,485,488,490,497,498],record_ev:11,record_shap:2,record_stream:[463,498],recordfunct:480,recordfunctioncallback:480,recordingobserv:488,recov:[126,131,179,324,348,472,479],recoveri:479,recreat:[2,473],rectangl:505,rectangular:179,rectifi:[290,291,470,471,488],recurr:[14,150,217,230,241,242,257,287,351,476,486],recurs:[15,143,149,237,273,461,486],recv1:491,recv2:491,recv:[14,491],redirect:9,redistribut:484,reduc:[1,2,11,14,24,33,34,174,185,186,187,189,191,210,211,212,213,214,227,229,236,248,253,254,265,266,276,277,278,280,286,301,302,309,318,324,356,370,372,421,422,424,425,450,451,460,466,467,470,475,477,484,486,488,490,493,498],reduce_add:11,reduce_multigpu:14,reduce_op:14,reduce_rang:488,reduce_scatt:14,reduce_scatter_multigpu:14,reducelronplateau:486,reduceop:14,reducesum:485,reduct:[1,14,165,210,211,217,227,229,236,248,253,254,265,266,276,277,278,280,286,301,302,318,324,460,467,470,477,488],redund:[14,131,392,423],redundantli:472,reevalu:486,refactor:[5,483,484],refcount:[466,481],refer:[2,11,13,14,15,17,36,54,92,144,149,153,160,217,279,324,365,375,426,457,460,466,467,469,470,472,473,477,478,479,481,488,490,491,495,496,497,498,499,501,503,504],referenc:[438,461,473,490],refin:468,refine_nam:[460,467,468],reflect:[111,141,221,222,223,293,294,423,459,470,479,496,498,505],reflection_pad1d:460,reflection_pad2d:460,reflection_pad:485,reflectionpad2d:470,reflector:116,refriger:503,regard:[224,225,226,235,236,459,470,492],regardless:[1,13,446,472,490],region:[1,15,239,247,427,459,466,470,472,476,488,504,505],regist:[2,10,14,15,143,159,237,273,274,275,283,284,324,325,466,477,478,480,485,490,498],register_backend:[14,490],register_backward_hook:[143,237,273],register_buff:[143,237,273,459,461,478],register_custom_op_symbol:485,register_forward_hook:[143,237,273],register_forward_pre_hook:[143,230,237,273],register_hook:[2,143,237,273,463,467,498],register_kl:15,register_packag:159,register_paramet:[143,237,273,478],registr:324,regress:[5,210,253,482,503],regular:[2,3,8,14,217,231,232,233,273,274,275,283,284,468,470,478,480,485,486,488],regularli:[5,485],reimplement:[143,237,273],reinforc:15,reiniti:457,reinterpret:[15,498],reinterpreted_batch_ndim:15,rel:[2,6,9,15,30,137,318,470,475,476,480,486],relat:[5,6,13,14,238,319,324,365,490],relationship:2,relative_path_to_checkpoint:457,relative_to:484,relax:[15,150,151],relaxed_bernoulli:15,relaxed_categor:15,releas:[5,11,14,25,86,253,397,457,461,466,470,475,476,482,483,484,485,490],relev:[6,462,472,473,498],reli:[6,13,230,473,475,477,482,496],reliabl:490,reload:457,relu1:[299,488],relu2:299,relu6:460,relu:[149,273,287,289,299,306,313,315,317,459,460,464,468,471,485],relu_:[460,470,488],rem:484,remain:[1,2,15,175,329,330,331,332,333,334,335,336,345,390,466,472,479,500],remaind:[109,460,498],remainder_:[460,498],remap:[147,159,457,465],rememb:[479,481],remot:[13,14,324,490,491,503],remov:[2,6,14,141,143,145,182,237,273,274,283,324,329,330,331,332,333,334,335,336,341,342,343,344,346,347,419,437,445,464,470,492,498,504],removablehandl:[143,237,273],remove_dropout:464,renam:[460,467,468],rename_:[460,467,468],rename_map:468,renamed_img:468,render:[5,497],rendezv:[477,490],renorm:[1,235,236,460,470,498],renorm_:[460,498],rep:485,repackag:479,reparameter:[15,329,330,331,332,333,334,335,336,345,346,347,355],reparametr:[15,329,330,331,332,333,334,335,336,339,470],reparametriz:15,repeat:[15,177,365,389,426,460,470,485,498,504,505],repeat_interleav:[460,482,498],repeatedli:[102,126,131,392,476,493],repetit:389,repl:2,replac:[2,9,13,14,146,152,193,312,337,338,339,341,342,343,344,355,459,460,464,473,480,481,484,485,488,498],replic:[13,148,221,222,223,230,238,295,296,297,319,324,470],replica:[13,14,230,324,477],replication_pad1d:460,replication_pad2d:460,replication_pad3d:460,replication_pad:485,replicationpad2d:470,repo:[5,457,484,486,503],repo_nam:457,repo_own:457,report:[2,3,6,472,476,503],repositori:[6,457,478,481],repr:406,repres:[2,8,11,13,15,16,89,102,125,137,138,139,140,142,150,151,202,217,241,287,319,328,329,332,333,334,335,336,338,341,342,343,344,348,354,364,365,413,423,427,437,446,447,452,453,459,461,473,478,480,485,486,488,490,493,495,500,507],represent:[1,143,237,273,279,459,478,485,488,493,498,504,507],reproduc:[5,13,46,217,221,222,223,224,225,226,457,458,470,486,498],requant:488,request:[6,11,14,160,472,473,475,476,490,491,492],requir:[1,2,4,6,9,10,11,13,14,15,105,106,131,143,160,236,237,273,313,314,315,316,317,324,325,329,425,457,459,463,464,466,468,470,472,473,475,476,477,478,479,480,481,485,486,488,490,491,492,497,498,500,503],require_grad:2,requires_grad:[2,15,32,37,44,51,90,91,92,93,101,112,113,123,124,143,158,173,210,211,229,235,236,237,254,265,273,280,286,318,324,325,356,361,362,377,378,379,380,381,382,383,384,403,415,432,455,456,460,463,467,468,470,478,485,490,491,493,498,499],requires_grad_:[2,143,217,237,273,432,460,467,470,493,498],rerr:160,rerun:4,res1:485,res2:485,res:[53,485],resampl:505,rescal:[210,211,229,277,278,280,303,305,353,470,505],research:[5,457],resembl:10,reserv:[11,462],reserved_byt:11,reset:[2,11,241,288,365,375,426,485,489],reset_max_memory_alloc:11,reset_max_memory_cach:11,reset_peak_memory_stat:11,reset_peak_stat:11,reshap:[10,238,293,294,295,296,319,353,358,416,433,460,468,485,493,496,497,498,505],reshape_a:[460,485,496,498],reshuffl:13,resid:[14,159,324,476,498],residu:[160,175,503],resili:[486,490],resiz:[111,320,467,470,488,494,498,503,505],resize_:[2,154,459,460,461,467,488,494,498],resize_as_:[2,460,467,498],resizeas_:493,resized_crop:505,resnet101:503,resnet152:503,resnet18:[457,459,461,465,473,503],resnet34:503,resnet3d:503,resnet50:[457,497,503],resnet:[457,459,461,485,497],resnext101_32x8d:503,resnext50_32x4d:503,resolut:[285,462,470],resolv:[5,6,15,224,225,226,238,461,462,484],resourc:[9,13,466],respect:[1,2,14,15,27,28,29,42,81,83,92,143,160,210,217,224,225,226,230,237,241,257,273,274,283,287,318,320,329,333,335,372,413,425,433,468,472,486,488,494,498,500,504,505],respond:5,respons:[3,5,6,14,15,17,262,324,470,473,476,478,490],rest:[5,13,468,488,490,493],restart:[466,486,497],restor:[4,18,393,483],restrict:[13,253,461,462,468,488],restructur:5,result:[2,3,5,9,11,13,14,15,17,23,24,25,26,27,28,36,43,46,54,57,66,67,73,74,75,76,79,86,89,92,102,126,131,144,145,150,151,153,154,156,167,168,174,185,186,187,189,191,192,230,232,233,238,241,257,287,319,356,357,359,365,366,369,370,375,391,392,398,412,421,422,423,424,426,429,436,439,441,450,451,459,460,461,467,468,470,471,472,473,474,475,476,477,478,479,482,485,486,490,491,493,495,497,498,503,504,505],result_avg:505,result_typ:460,resum:[486,490,492,497],ret:[478,490],ret_fut:490,retain:[2,33,34,37,145,154,174,185,186,187,189,191,358,370,397,421,422,424,439,440,441,442,450,451,466,481,483,498],retain_grad:[2,460,498],retain_graph:[2,460,472,473,490,498],rethink:503,retri:[11,492],retriev:[2,4,13,235,238,319,349,470,480,490,491,492],return_count:[446,447,460,498],return_indic:[203,204,205,239,267,268,269,270,271,272,460,470,488],return_invers:[446,447,460,498],return_typ:[73,74,154,185,187,189,191,412,434,438],reus:[2,14,473,488,498,505],reveal:[477,493],revers:[1,15,104,324,329,330,331,332,333,334,335,336,345,449,460,461,473,477,498,505],revert:[6,306,470,492],review:6,reward:15,rewrit:[464,473],rfc:491,rfft:[131,460,498],rfloor:[60,107,108,110,202,207,208,209,221,222,223,224,225,226,238,255,256,267,268,269,319,320,321,322,384,392,423,470],rgb:[251,252,497,503,505],rgba:505,rho:486,riba:318,richard:15,riemann:473,right:[1,5,14,15,32,44,51,52,55,60,84,85,89,105,107,108,110,123,124,141,159,165,166,193,195,202,207,208,209,210,211,221,222,223,224,225,226,229,238,253,254,255,256,262,263,264,265,267,268,269,276,277,278,282,283,288,318,319,320,321,322,327,384,398,423,433,438,449,457,460,466,467,468,470,478,485,486,488,492,505],right_ankl:503,right_ear:503,right_elbow:503,right_ey:503,right_hip:503,right_kne:503,right_should:503,right_wrist:503,righteye_i:500,righteye_x:500,rightmost:15,rightmouth_i:500,rightmouth_x:500,risk:5,riski:5,rmsprop:486,rng:[4,11,13,399,479,482,489],rnn:[241,242,257,258,289,325,348,460,463,479,485,488,497],rnn_relu:460,rnn_relu_cel:460,rnn_tanh:460,rnn_tanh_cel:460,rnncell:488,robin:14,robust:[160,466,501],roi:504,roi_align:504,roi_pool:504,roi_width:504,roialign:504,roipool:504,roll:[460,498],roof:2,root:[396,417,460,473,486,490,491,493,500],ross:301,rot90:[460,498],rotat:[15,394,473,505],rotation_transform:505,rough:5,roughli:[13,131,477,503],round:[13,14,32,108,372,460,467,470,482,485,488,498],round_:[460,467,498],roundtrip:5,routin:[63,425],row:[13,59,88,101,105,106,154,174,175,185,186,187,189,191,193,357,370,388,421,422,424,440,442,449,450,451,460,470,493,497,498,506],row_limit:2,rowmajor:[2,324],rpc:[17,324,458,491,492],rpc_async:[17,490,492],rpc_backend_opt:490,rpc_sync:[490,491,492],rpc_timeout:490,rpcagent:490,rpcbackendopt:490,rpn:503,rprop:486,rref1:[490,491],rref2:[490,491],rref:[324,491],rrefid:492,rrelu:[460,485],rrelu_:[460,470],rrelu_with_nois:460,rrelu_with_noise_:460,rsampl:15,rsqrt:[1,460,467,485,498],rsqrt_:[460,467,498],rst:5,rsub:[460,485],rtol:[2,30,137,459,460,498],rule:[2,14,15,55,56,86,108,185,189,212,213,214,250,251,252,309,329,330,331,332,333,334,335,336,398,437,459,461,467,473,474,478,495,498],run:[1,2,3,4,5,10,13,14,17,89,102,126,131,143,144,145,147,150,151,159,185,187,189,212,213,214,230,237,250,251,252,273,309,392,405,440,442,459,464,466,472,473,475,476,477,478,479,480,481,482,484,485,486,488,489,490,491,492,497,499],run_14h:497,run_arg:488,run_fn:[2,4,488],run_model:479,run_process:491,runnabl:497,running_mean:[143,212,213,214,237,250,251,252,273,309,460,470],running_var:[143,212,213,214,237,250,251,252,273,309,460,470],runtim:[2,4,9,14,467,468,478,481,485,488],runtimeerror:[1,2,9,134,193,459,461,467,472,474,479,484,485,495,498,505],runtimewarn:15,rv0:459,rv1:459,rvert:[30,137],rvert_p:[318,470],rzou:[159,397],s1064827500366124:160,s1064827500370883:160,s_min:217,s_n:217,sacrif:503,safe:[1,11,324,459,472,473,480,490],safest:[9,493],safeti:[459,468],sai:[5,459,472,479,485,491,492,498,500],said:2,sam:[6,7],same:[1,2,5,9,10,11,13,14,15,17,24,37,43,45,46,53,54,55,58,72,81,83,89,91,95,102,109,111,113,114,126,127,128,131,141,143,148,149,150,151,154,174,181,185,186,187,189,191,196,200,201,204,205,206,208,209,210,211,212,213,214,215,216,218,219,220,222,223,224,225,226,228,229,231,232,233,234,236,238,240,243,244,245,246,247,248,250,251,252,253,254,256,259,260,261,262,263,264,265,268,269,270,271,272,276,277,279,280,281,282,286,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,319,320,323,324,329,330,331,332,333,334,335,336,348,352,359,362,367,369,370,372,378,380,382,385,387,389,390,392,393,398,420,421,422,424,429,437,446,447,448,450,451,456,457,459,461,466,467,468,470,472,473,474,475,476,477,478,479,480,481,485,488,490,491,492,493,494,495,496,497,498,500,503,504,505,506],sampl:[13,15,18,45,151,158,173,177,193,206,210,211,215,221,222,223,224,225,226,227,229,231,232,233,235,236,248,250,251,252,253,254,261,265,266,276,277,278,280,286,290,301,302,309,318,359,365,367,375,379,437,470,471,472,480,482,486,488,497,498,500,504,505],sample_input_cpu:459,sample_input_gpu:459,sample_n:15,sample_r:497,sample_shap:15,sampler:488,sampling_ratio:504,samplingprob:480,sandwich:503,sane:406,satisfi:[2,12,15,30,55,131,202,217,238,241,257,287,338,372,398,423,486,495,498,504],satur:[470,505],saturation_factor:505,save:[2,4,5,8,10,14,142,143,146,147,150,152,159,237,273,324,459,460,465,468,473,478,481,482,485,486,488,497,498,500,502,506],save_for_backward:[2,472,478],save_imag:506,save_invstd:460,save_mean:460,save_to_buff:142,saved_tensor:[2,472,473,478],saved_weight:498,sax:471,sbd:501,sbdataset:500,sbu:501,sbucaptionedphotodataset:500,scalar1:460,scalar2:460,scalar:[2,15,23,25,26,37,55,86,108,156,182,188,192,202,210,211,217,229,230,248,253,254,259,266,276,277,278,280,286,301,302,318,357,361,362,369,371,398,415,432,443,446,447,455,456,460,461,470,471,478,485,486,488,490,493,495,497,498],scalar_tensor:[460,485],scalar_valu:497,scalartensor:478,scale:[5,13,15,27,28,29,43,206,231,235,236,259,298,320,321,322,373,374,458,460,468,470,471,473,479,486,488,498,500,503,504,505,506],scale_channel:468,scale_each:506,scale_factor:[320,321,322,470,488],scale_fn:486,scale_grad_by_freq:[235,236,460,470],scale_hh:460,scale_ih:460,scale_mod:486,scale_tril:15,scaled_grad_param:472,scaler:[1,472],scales_d:460,scales_h:460,scales_w:460,scatter:[11,14,230,460,479,485,490,498],scatter_:[460,498],scatter_add:[460,485,498],scatter_add_:[460,482,498],scatter_list:14,scenario:[1,13,476,485,490],scene:497,schedul:[480,486],schema:[459,460],scheme:498,schmidtm:486,sci:160,sci_mod:406,scientif:406,scipi:[59,470,497,500,503],scissor:503,scope:[5,309,338,459,461,479,485,492],score:[229,503,504],scrambl:375,scratch:[5,159,397,473],script:[1,3,13,14,144,145,146,148,150,152,324,457,461,464,475,480,490,503],script_add:490,script_bar:144,script_method:[459,485],script_modul:464,scriptabl:152,scripted_fn:459,scripted_modul:[145,149],scriptfuncion:149,scriptfunct:[147,149,150],scriptmodul:[142,145,147,148,149,150,151,459,461,464,485],scrutini:5,search:[5,8,55,246,398,459,467,468,470,488,503],searchsort:460,seat:6,sebastian:7,sec:502,second:[2,4,9,14,23,24,27,29,30,33,34,35,41,43,47,49,50,53,72,81,83,88,94,115,122,137,155,159,165,166,176,182,185,189,190,192,197,202,208,209,215,222,223,225,226,235,236,241,256,257,262,266,268,269,287,338,394,415,436,440,442,449,461,470,473,479,482,483,484,490,493,497,502,505],secondli:210,section:[2,5,13,15,230,272,351,459,461,462,466,468,473,477,478,481,488,491,497,498],see:[1,2,3,4,5,6,9,10,11,13,14,15,32,33,34,35,37,44,46,51,53,79,90,92,101,102,108,112,116,123,124,126,131,143,145,149,150,151,153,154,158,160,166,168,173,174,177,185,186,187,189,190,191,202,210,211,217,221,222,223,224,225,226,227,229,230,235,236,237,241,248,253,254,257,265,266,270,271,272,273,276,277,278,279,280,286,287,290,301,302,314,315,316,317,318,320,324,325,333,342,351,353,355,357,361,363,364,366,370,371,377,379,381,383,384,390,391,392,397,412,415,421,422,423,424,432,440,442,450,451,454,455,457,459,460,461,462,465,466,467,468,470,472,473,476,478,479,480,481,482,484,485,488,490,491,493,495,496,498,499,503,504,505,506],seed:[11,13,18,129,180,365,375,426,460,479,482,489,500],seed_al:11,seek:[147,159],seem:[5,485,505],seen:[2,15,58,224,225,226,459,486,498],segfault:466,segment:[4,11,500,501,505],select:[10,11,12,13,15,46,61,160,217,221,222,223,224,225,226,241,257,287,343,344,454,459,460,466,467,468,470,475,476,485,488,496,498,500,503,504,505],select_model_mode_for_export:485,self:[1,2,13,127,142,143,144,145,146,148,149,150,151,152,202,206,237,273,274,275,283,284,298,315,317,333,335,348,369,385,459,460,461,467,468,472,473,474,475,478,479,485,486,488,490,494,498,505],self_cpu_memory_usag:2,self_cpu_time_tot:2,self_cuda_memory_usag:2,selu:[206,460,485],selu_:460,semant:[6,11,33,34,35,54,145,148,447,458,461,485,500,501,505],semi:[227,248,471],semidefinit:64,send1:491,send2:491,send:[5,11,13,14,466,477,481,484,490,491,492,499],sender:[14,492],sens:[3,15,338,446,447],sensit:[301,485,491,504],sent:[11,14,438,466,481,490,491,492],separ:[1,2,9,13,14,89,116,148,241,243,250,251,252,257,259,281,287,359,457,460,470,472,475,486,491,497,506],seq:[2,58,67,188,241,257,287,351,445,498],seq_len:[241,257,287],seq_unpack:351,sequenc:[2,11,13,15,55,57,58,61,78,90,116,150,188,202,217,221,230,236,241,257,279,287,313,314,315,316,317,334,348,349,350,351,352,359,361,375,377,381,398,420,423,455,459,470,476,479,485,486,488,490,498,505],sequenceat:485,sequenceinsert:485,sequenti:[4,13,143,237,273,309,338,466,485,488],sequentialsampl:13,seri:[217,250],serial:[10,13,148,159,457,458,460,465,468,473,476,480,481,488,490,491],serializ:[459,485],seriou:[466,483],serv:[1,5,10,14,490,491],server:[5,13,490],servic:477,sess:485,set:[0,1,2,4,6,9,11,13,14,15,17,18,32,46,52,55,67,90,92,102,112,118,126,131,143,147,149,150,151,158,159,160,173,177,180,184,202,206,210,211,212,213,214,215,217,221,222,223,224,225,226,227,229,230,231,232,233,235,237,241,243,248,250,251,252,253,254,255,256,257,259,261,265,266,270,271,272,273,276,277,278,279,280,286,287,301,302,309,318,324,372,375,384,392,399,400,401,403,404,405,406,407,432,439,440,441,442,457,459,461,462,464,465,466,470,471,472,474,475,476,477,478,479,480,481,482,484,485,486,488,489,490,497,498,500,503,504,505],set_:[2,460,498],set_backoff_factor:1,set_default_dtyp:118,set_default_tensor_typ:[32,37,44,51,90,92,101,112,118,123,124,158,173,361,377,379,381,383,384,415,432,440,442,455],set_detect_anomali:2,set_devic:[11,14,324,495],set_dir:457,set_epoch:13,set_grad_en:[2,93,499],set_growth_factor:1,set_growth_interv:1,set_image_backend:501,set_num_interop_thread:475,set_num_thread:475,set_result:[17,490],set_rng_stat:[11,489],set_rng_state_al:11,set_sharing_strategi:466,set_start_method:481,set_stat:18,set_trac:[146,149,152,459],set_train:485,set_video_backend:501,setapiusagehandl:480,setapiusagelogg:480,setexportmoduleextrafileshook:480,setup:[9,324,475,490,491],setuptool:9,sever:[10,14,89,199,200,201,202,203,204,205,207,208,209,210,221,222,223,224,225,226,239,255,256,262,267,268,269,270,271,272,321,322,459,470,472,475,476,480,486,488,490,505],sgd:[1,13,235,324,472,473,477,486,490,491],sgdr:486,sgn:[110,409],sha256:[457,465],shadow:505,shall:273,shallow:[230,318],shamelessli:406,shao:160,shape:[2,8,11,15,23,25,26,36,41,45,46,58,59,83,85,86,88,89,90,92,94,102,109,112,115,122,126,128,131,150,151,155,156,175,176,181,185,189,192,193,197,202,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,231,232,233,234,235,236,237,238,240,241,242,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,276,277,279,280,281,282,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,333,335,359,361,369,377,379,380,381,387,389,390,392,393,415,419,423,425,427,429,437,446,447,454,455,459,460,467,468,470,473,474,478,479,485,488,490,493,497,498,500,503,504,505,506],shape_as_tensor:485,shard:[5,13],share:[2,5,9,11,13,15,16,111,127,196,230,359,385,419,436,448,460,473,475,481,484,485,490,494,496,498],share_memori:481,share_memory_:[463,466,494,498],shared_memori:466,sharedfil:14,shazeer:[313,315,317],shceme:488,shear:505,sheep:503,shell:9,shen:7,shi:285,shift:[206,212,213,214,309,393,460,462,470,498,504,505,506],ship:[475,490],shippabl:5,shm_open:466,shorter:[141,485,490],shortest:349,shorttensor:[495,498],should:[1,2,3,4,5,6,9,10,11,13,14,15,23,24,27,28,29,32,43,44,45,46,51,66,72,89,90,91,92,101,102,112,113,123,124,126,131,141,143,146,149,150,151,152,158,159,165,173,179,192,202,210,211,215,227,229,230,232,233,236,237,241,257,266,273,280,281,287,318,320,324,329,330,331,332,333,334,335,336,338,341,342,343,344,348,349,350,361,362,372,373,377,378,379,380,381,382,383,384,390,415,432,438,455,456,457,459,461,465,466,468,470,472,473,475,476,477,478,479,481,482,484,485,486,488,490,492,493,496,497,498,500,503,504,505,506],shouldn:[493,496],shout:485,show:[0,3,5,13,14,457,467,475,476,477,486,490,492],showcas:[6,270,476,481],shown:[1,11,459,472,478,479],shrinkag:[244,307,470],shuffl:[13,497,500],shufflenet_v2_x0_5:503,shufflenet_v2_x1_0:503,shufflenet_v2_x1_5:503,shufflenet_v2_x2_0:503,shufflenetv2:503,shut:[13,490],shutdown:[490,491],siam:160,side:[2,9,85,89,141,207,208,209,218,219,220,221,222,223,224,225,226,238,267,268,269,293,294,295,296,297,319,323,423,438,457,459,470,472,485,486,488,490,505],sigma:[15,211,241,242,257,258,300,353,460,470,498],sigmoid:[1,15,210,211,241,242,257,258,460,467,468,471,485,498],sigmoid_:[460,467,498],sigmoidtransform:15,sign:[5,15,41,81,109,387,412,460,467,473,485,488,495,498,503],sign_:[460,467,498],signal:[8,102,126,131,141,199,200,201,203,204,205,207,208,209,221,222,223,239,255,256,262,267,268,269,321,322,392,466,470,481,488,490],signal_2d:262,signal_4d:262,signal_length:141,signal_ndim:[102,126,131,392,460,498],signal_s:[131,460,498],signatur:[2,13,143,237,273,348,423,478,488,498],signific:[2,473,476,486],significand:[495,498],significantli:[2,324],silent:[11,128,150],silli:478,sim:[45,286,367,381,470],similar:[5,13,14,15,57,67,131,143,227,228,237,238,248,250,251,252,273,318,348,359,389,447,461,466,467,470,473,475,478,485,488,491,493,498,500,504,507],similarli:[5,37,62,241,257,287,329,330,331,332,333,334,335,336,345,439,440,441,442,461,479,485,488],simon:7,simpl:[1,10,11,145,149,212,213,214,235,309,457,459,462,470,472,475,477,478,479,480,482,485,490],simplecustombatch:13,simplequeu:481,simpler:[459,478],simplest:[207,208,209,221,222,223,267,268,269,478,488,492],simplex:15,simpli:[1,2,9,13,15,136,206,231,329,330,331,332,333,334,335,336,459,461,473,488,493],simplic:491,simplifi:[17,147,264,486,491],simul:[15,488],simultan:[473,486,490],sin:[9,38,124,460,467,485,497,498],sin_:[460,467,498],sin_add:9,sinc:[5,11,13,14,15,61,88,131,141,143,146,148,177,210,237,270,271,272,273,320,324,338,425,427,459,460,461,464,470,472,473,478,479,480,484,485,486,488,489,490,491,493,495,496,498,505],sine:[39,410,411],singl:[2,9,14,15,17,36,44,51,54,92,123,124,134,142,143,150,151,165,200,201,204,205,208,209,211,221,222,223,225,226,229,230,237,239,243,255,256,259,268,269,273,281,285,309,324,326,327,328,354,369,390,416,446,447,457,459,461,466,468,470,473,475,476,478,481,482,485,486,488,490,491,492,494,495,498,504,505],singleton:[15,259,448,474,498],singular:[79,160,168,177,184,365,366,412,425,426],sinh:[1,39,460,467,498],sinh_:[460,467,498],sink:503,site:5,situat:[15,466,481,488,492],size:[2,5,11,13,14,15,28,29,32,36,43,44,46,51,53,54,55,62,64,65,72,75,76,79,81,89,90,91,92,95,102,112,113,114,117,123,124,126,128,130,131,141,143,154,158,160,168,173,174,175,177,178,182,184,185,186,187,188,189,191,193,194,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,217,218,219,220,221,222,223,224,225,226,229,230,235,236,237,238,239,243,249,250,251,252,253,254,255,256,259,261,262,265,266,267,268,269,270,271,272,273,276,277,278,279,280,285,293,294,295,296,297,309,313,319,320,321,322,323,324,338,348,349,350,351,352,353,355,357,359,361,362,365,366,367,370,371,372,373,374,375,377,378,379,380,381,382,384,392,393,398,412,413,415,416,419,420,421,422,423,424,425,426,427,432,433,438,446,447,448,450,451,452,453,455,456,459,460,467,468,470,472,473,474,476,477,478,479,480,485,486,488,490,493,494,495,497,498,500,503,504,505,506],size_averag:[210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,460,470],sizedim:498,sizeof:494,skateboard:503,skeleton:329,skew:[2,3],ski:503,skip:[1,459,472,477,478,486],sky:500,slack:5,sleep:17,slice:[212,213,214,303,305,309,388,445,459,462,470,485,496,498],slide:[141,238,319,423,470],slightli:[6,13,365,398,426,457,503],slogdet:[460,498],slope:[260,471],slow:[2,446,481,497],slow_conv3d:460,slow_conv_dilated2d:460,slow_conv_dilated3d:460,slow_conv_transpose2d:460,slow_conv_transpose3d:460,slow_set_futur:17,slower:[2,3,14,53,470,478,482,503],slowli:489,small:[1,2,5,6,11,13,14,15,32,163,165,202,228,282,286,299,320,366,459,461,470,476,478,479,488],small_pool:11,smaller:[13,65,66,371,416,486,498,505],smallest:[60,154,160,371,434,493,507],smart:[478,490],smessmer:7,smi:[11,476,479],smm:460,smnt:500,smoke:500,smooth:[306,485,486],smooth_l1_loss:[1,460],smoother:457,smoothl1loss:470,snapshot:[11,476],snd_tensor:497,snedecor:15,snippet:457,snow:500,snowboard:503,snowi:500,sobol:375,soboleng:375,socket:[466,490],sofa:503,soft:[307,470,503],soft_margin_loss:[1,460],softmarginloss:470,softmax:[1,15,202,264,304,460,468,485],softmaxtransform:15,softmin:[1,460],softplu:[1,460,485],softshrink:460,softshrinkag:307,softsign:460,softwar:486,sole:486,solid:[492,505],solut:[5,8,175,210,413,438,460,471,472,479,481],solv:[5,8,64,160,175,178,438,460,484,498],solver:[413,438],some:[1,2,4,5,6,9,11,14,15,46,131,141,143,148,150,202,206,210,211,217,221,222,223,224,225,226,227,229,230,231,237,248,250,251,252,253,254,265,266,273,276,277,278,280,286,301,302,318,324,325,372,425,457,459,460,461,462,464,466,467,468,470,472,473,476,478,479,480,481,482,483,484,485,486,488,490,491,492,493,497,498,500,503,504,505],some_dict:461,some_entry_point:149,some_fn2:459,some_fn3:459,some_fn4:459,some_fn:459,someon:[5,468],someth:[5,150,463,466,467,484,490],sometim:[2,5,131,150,238,319,466,470,479,481,495,498],somewher:[468,480],soon:[8,490,492],sophist:486,sort:[2,35,89,125,202,349,350,357,398,434,446,460,478,479,485,488,498,504],sort_bi:2,sorted_indic:[348,351],sorted_sequ:[398,460],sorted_sequence_1d:398,soumith:[6,7],sound:497,sourc:[0,1,2,3,4,9,11,13,14,15,17,52,54,57,59,61,68,89,93,114,121,129,135,136,141,143,144,145,146,147,148,149,150,151,152,153,159,160,179,180,188,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,358,365,375,397,399,400,401,403,406,407,416,423,426,433,457,459,460,461,464,466,468,470,471,479,480,482,485,486,488,489,490,491,493,494,497,498,500,501,502,503,504,505,506],space:[13,15,150,151,158,173,202,221,222,223,224,225,226,238,253,267,268,269,319,437,470,488,504,505],spadd:493,span:[11,253,490,498],spandan:7,spandantiwari:7,spars:[2,8,53,114,134,160,235,236,303,365,415,426,458,460,463,471,486,495,496,498],sparse_:471,sparse_coo:[415,493,495,498],sparse_coo_tensor:[460,463,493,498],sparse_dim:[415,460,493,498],sparse_grad:[114,460],sparse_mask:[460,493,498],sparse_resize_:460,sparse_resize_and_clear_:460,sparseadam:[235,486],sparseaddmmbackward:493,sparsedim:498,sparsefloattensor:493,sparsetensor:[2,415,493,498],sparsiti:471,spatia:470,spatial:[59,213,238,285,304,319,320,321,322,470,488,504],spatial_scal:504,spatio:[214,309],spawn:[13,144,324,472,477,481,484,491],spawncontext:466,speak:[131,493],special:[5,8,159,230,325,357,462,468,473,478,480,488,496,497],specif:[2,4,5,6,9,11,14,15,18,65,126,131,141,143,150,151,160,185,187,189,237,238,259,273,329,457,459,461,463,468,473,476,481,482,483,485,486,488,490,492,497,498,502,504],specifi:[2,9,11,13,14,15,36,46,75,76,80,81,83,86,114,143,145,150,151,159,160,170,184,208,209,210,211,217,225,227,229,230,236,237,238,248,253,254,259,265,266,271,273,276,277,278,279,280,286,301,302,313,318,319,321,322,324,327,329,330,331,332,333,334,335,336,338,341,342,343,344,355,358,365,370,375,390,393,394,397,406,424,446,447,448,449,457,459,461,465,467,468,470,473,476,478,484,485,486,488,489,490,493,494,495,497,498,500,501,505,506],specifii:488,spectral:[8,346,353],spectral_norm:[230,346],speed:[5,9,102,126,131,202,392,425,475,476,477,478,479,482,488,490],spend:[3,5,160],spent:[2,3,14,475,486],sphinx:5,split:[5,13,14,58,65,230,324,459,460,467,470,485,488,490,496,498,500,503,504],split_siz:[416,460,498],split_size_or_sect:416,split_with_s:460,spmm:493,sponsorship:6,spoon:503,sport:503,spotri:63,spread:[11,476],sqrt:[96,97,102,126,131,212,213,214,215,221,222,223,224,225,226,241,242,243,250,251,252,255,256,257,258,259,261,287,289,309,392,396,460,467,471,472,485,486,493,498],sqrt_:[460,467,498],squar:[79,80,82,88,130,141,168,175,177,183,200,204,208,209,222,223,225,226,239,256,265,268,269,272,301,313,396,412,413,417,449,460,470,486,488,493,498,505],square_:[460,498],squeez:[154,174,185,186,187,189,191,370,421,422,424,450,451,460,467,485,493,496,498],squeeze_:[460,498],squeezebackward1:2,squeezenet1_0:503,squeezenet1_1:503,src:[11,14,193,313,316,317,429,460,488,498],src_key_padding_mask:[313,316,317],src_mask:[313,317],src_tensor:14,srinivasan:7,ssa:459,sse3:402,ssnl:7,sspaddmm:[460,493],sspmm:493,stabil:[1,174,211,212,213,214,243,250,251,252,259,306,309,353,470,486],stabl:[1,2,15,89,160,211,425,427,478,485,488,490],stack:[1,11,13,15,217,241,257,287,314,316,352,460,476,477,479,485,505],stacktransform:15,stage:[5,492],stagnat:486,stai:[5,230,481,488,490,498],stand:[461,492],standalon:[149,150,459],standard:[5,9,15,206,212,213,214,243,250,251,252,259,309,315,317,359,365,381,421,422,461,462,471,475,481,485,488,498,500,503,505],star:[221,222,223],start:[2,3,6,11,13,14,17,32,156,158,173,196,202,236,276,324,329,333,335,384,404,457,460,461,466,468,470,473,474,476,477,479,481,484,485,486,490,491,492,498,502,503],start_dim:[103,237,460,498],start_epoch:13,start_ev:476,start_method:466,start_process:466,start_pt:502,startpoint:505,startup:3,stash:[2,4,478],stat:[11,309,324],state:[1,2,4,11,13,15,18,121,143,144,150,160,237,241,242,257,258,273,287,289,325,375,407,464,472,473,476,477,481,484,486,488,489],state_dict:[1,143,237,273,341,457,465,477,481,483,485,486],stateless:488,statement:[150,462,473,478,481,485,490],stathopoulo:160,stathopoulosetal2002:160,static_async_add:490,static_k:460,static_v:460,staticmethod:[2,472,478,490],statist:[11,15,165,212,213,214,243,250,251,252,259,309,479,488],statu:[177,462,466],std:[9,18,359,447,460,467,471,480,484,485,498,503,505],std_mean:[460,467],stddev:15,stderr:[457,465,503],stdin:2,stdout:486,step:[1,3,6,9,13,14,15,24,32,46,158,160,173,239,324,348,375,384,459,460,468,470,472,476,477,479,481,482,484,488,490,491,497,498,500],step_between_clip:500,step_siz:486,step_size_down:486,step_size_up:486,steplr:486,steps_per_epoch:486,stft:[8,44,51,123,124,141,460,498],stick:15,stickbreakingtransform:15,still:[1,2,13,14,15,131,145,152,254,265,301,397,459,466,467,468,472,476,477,479,483,484,486,488,490,491,492],stirl:[286,470],stitch:490,stl10:501,stl10_binari:500,stmt:475,stochast:[13,15,239,486],stop:[11,15,32,160,217,384,459,486,490,503],storag:[2,11,36,127,128,135,147,159,181,196,230,385,419,436,457,458,463,465,466,473,476,481,490,495,496,498],storage_offset:[36,460,498],storage_typ:[463,498],storageshar:484,store:[2,4,9,14,24,53,147,148,160,165,235,337,338,339,341,342,343,344,348,457,459,468,469,477,478,479,480,485,488,490,491,492,493,497,498,500,505],store_tru:476,str:[2,9,11,14,59,142,143,144,145,160,210,211,217,221,222,223,224,225,226,227,229,236,237,248,253,254,265,266,273,274,276,277,278,280,283,286,288,289,301,302,313,318,320,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,346,347,353,355,423,459,460,461,462,466,468,470,486,488,490,494,497,498,500,502,504,505,506],straight:[210,470],strategi:[5,13,14,202,461,486],stream:[13,498,500],strict:[2,143,150,151,237,273],strictli:[6,13,143,237,273,473],stride:[2,8,32,36,44,51,90,92,101,112,113,123,124,130,158,173,175,207,208,209,221,222,223,224,225,226,238,255,256,267,268,269,270,271,272,285,319,324,361,377,379,380,381,383,384,390,413,425,427,440,442,452,455,460,462,467,470,485,488,490,495,497,498,504],strike:5,string:[0,2,9,11,14,89,143,147,148,159,210,211,217,221,222,223,227,229,236,237,248,253,254,265,266,273,274,276,277,278,280,283,286,301,302,318,338,397,401,423,457,460,461,462,465,466,468,470,478,480,485,488,490,494,495,497,498,500,501,506],strip:[459,470,485],strip_doc_str:485,strive:5,strong:6,strong_wolf:486,strongli:[6,232,233,457],struct:[10,480],structur:[5,6,13,150,273,334,338,365,426,461,462,476,477,478,481,483,484,485,490,497,498,499],stub:488,student:15,studio:484,style:[357,459,461,488],styliz:[250,251,252],sub:[17,149,150,151,185,187,189,285,313,314,316,388,459,460,467,485,488,493,495,498],sub_:[460,467,493,498],subclass:[1,2,9,13,15,148,273,325,329,334,462,472,478,490,498,500],subdir:500,subfold:9,subgradi:486,subgraph:[325,477],subject:[8,14,17,32,175,324,467,468,478,488,490],submatrix:15,submit:11,submod:144,submodul:[10,143,145,148,149,230,237,273,274,275,324,459,461,464,485,488],subpackag:503,subprocess:[13,14,479,481],subregion:1,subscript:462,subsequ:[5,9,10,143,150,221,222,223,224,225,226,237,273,490],subset:[13,14,143,149,237,273,459,461,478,485,488,503],subsetrandomsampl:13,subspac:[279,365,425,426,498],substanti:6,substitut:495,subsystem:[5,8],subtl:[5,250,251,252],subtleti:[13,230,479],subtli:486,subtract:[470,498,505],subtyp:461,succe:[14,478,484],succeed:177,success:[6,15,177,334],successfulli:[324,402,466,485,490],succinct:457,suffici:[9,15,131,457,485,488,495],suffix:[497,498],sugar:461,suggest:[6,227,457,463,472,479],suhan:7,suit:[459,461,485,490],suitabl:[13,15,55,398,486,497],suitcas:503,sum:[1,2,11,13,14,15,76,89,165,166,167,174,175,193,210,211,217,226,227,229,230,236,238,248,253,254,255,256,265,266,276,277,278,280,286,301,302,303,305,318,319,338,343,344,358,415,435,460,467,470,472,473,476,477,478,485,486,490,491,493,498],sum_:[24,102,126,141,195,207,208,209,221,222,223,255,256,262,276,280,282,301,423,433],sum_i:[277,278,302],sum_j:[174,229,264,303,305,470],sum_pair:461,sum_to_s:[460,498],sumbackward0:2,sumbackward1:2,summar:[3,406],summari:[2,11,406,497,503],summarywrit:497,summat:[89,141,167,174],sunset:[6,7],suo:7,superclass:478,superresolut:485,supervis:[227,248],suppli:[1,4,5,9,10],support:[1,2,5,6,8,9,10,11,13,14,15,25,44,51,86,88,102,123,124,127,149,150,160,175,182,235,236,238,273,278,309,319,324,362,385,392,402,440,442,452,453,456,457,459,461,462,463,464,466,469,470,473,474,475,478,481,484,486,488,490,493,495,496,497,498,500,501,504,505],suppos:[13,14,141,427,473,493,504,505],suppress:[489,504],sure:[2,5,13,14,93,145,150,151,324,356,434,467,473,477,479,484,485,486,490,491,492,497],surfboard:503,surg:159,surpass:471,surpris:457,surrog:15,surround:[1,461,472,488],sutskev:486,svd:[8,79,168,184,365,366,412,426,460,498,505],svhn:501,svi:15,swap:[318,436,460,462,470,488,498],swap_modul:488,symbol:[484,485],symbolic_fn:485,symbolic_foo_forward:485,symbolic_help:485,symbolic_nam:485,symbolic_opset10:485,symbolic_opset9:485,symbolic_opset:485,symeig:[8,88,460,498],symmetr:[44,51,62,63,64,123,124,160,184,427,460,488,505],symmetri:[131,392,423],sync:[1,324,477],sync_bn_modul:309,sync_bn_network:309,synchron:[3,11,160,309,324,475,476,477,481,490],syntact:6,syntax:[143,459],sys:457,system:[5,9,10,11,64,147,159,178,313,315,317,324,402,413,438,462,473,475,476,480,484,490],t4d:470,t_0:486,t_max:486,t_mult:486,tabl:[2,14,235,460,470,478,490,503],tag:[2,5,14,159,457,480,497],tag_nam:457,tag_scalar_dict:497,taiwan:497,take:[1,2,3,5,6,9,11,13,15,17,64,72,81,83,130,188,202,211,236,239,241,257,267,268,269,270,271,272,281,287,313,321,322,324,369,413,438,457,459,460,464,466,467,468,470,472,475,477,478,479,482,484,485,488,490,491,492,495,496,497,498,500,504],taken:[15,32,89,185,189,217,236,406,425,427,470,475,476,478,479,480,485,500,504],talk:480,tall:[478,498],tamper:159,tan:[1,40,460,467,485,497,498],tan_:[460,467,498],tangent:[42,430,431,473],tanh:[15,42,241,242,257,258,287,289,311,460,467,468,471,485,498],tanh_:[460,467,498],tanhshrink:460,tanhtransform:15,tanx:497,tape:5,tar:500,tarbal:500,target:[1,17,56,199,200,201,202,203,204,205,210,211,217,229,239,248,253,254,265,266,270,271,272,276,277,278,279,280,286,301,302,313,320,460,470,472,473,481,486,488,490,497,498,500,503,505],target_dict:488,target_length:[217,460,470],target_n:217,target_transform:500,target_typ:500,task:[2,5,144,153,250,251,252,475,480,484,503,505],tau:[116,363,364,460,470],tbb:475,tcp:490,tdr:484,team:[5,6],technic:[5,6,473,479],techniqu:[231,329,469,488],teddi:503,tell:[2,5,147,159,459,478,498],temperatur:[15,470],tempor:[212,214,217,309,320,470],temporari:[9,325,479],temporarili:485,temporary_fil:457,ten:[461,497,505],ten_crop:505,tencrop:505,tend:5,tenni:503,tensor1:[25,26,182,391,460,498],tensor2:[25,26,182,391,460,498],tensor:[1,4,5,9,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,122,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,141,143,144,145,147,148,149,150,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,202,206,207,210,211,217,218,219,220,221,222,223,224,225,226,227,229,230,231,232,233,235,236,237,238,241,242,248,253,254,257,258,264,265,266,270,271,272,273,276,277,278,279,280,281,285,287,289,293,294,295,296,297,302,303,304,305,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,400,401,402,403,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,458,459,461,469,470,471,472,473,474,475,476,477,479,481,482,484,485,486,490,491,493,494,497,500,501,502,503,504,506],tensor_a:[57,67],tensor_b:57,tensor_index:10,tensor_list:14,tensorboard:458,tensordataset:13,tensordot:[1,460,463],tensorflow:[15,486,497],tensorpipeag:490,tensorpiperpcbackendopt:490,term:[6,15,61,89,202,210,221,222,223,257,258,278,286,301,329,330,331,332,333,334,335,336,470,472,479,486,488,491,498],termin:[466,486,490],terminolog:[212,213,214,309],test10k:500,test50k:500,test:[2,9,14,132,133,134,135,136,459,462,466,482,488,497,500,503,505],testcod:[144,145,461],text:[5,15,19,21,22,23,24,25,26,27,28,29,30,31,32,38,39,40,41,42,43,44,45,51,53,60,66,69,70,71,86,88,107,108,110,115,122,123,124,137,141,155,156,157,167,173,174,175,176,185,189,192,193,198,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,232,233,234,235,238,240,241,242,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,259,260,261,263,264,265,266,267,268,269,270,271,272,276,277,278,279,280,281,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,305,306,307,308,309,310,311,312,319,320,321,322,323,327,367,369,372,381,384,386,396,408,409,410,411,417,423,427,430,431,443,454,470,471,486,488,497,498,505],text_str:497,texttt:[30,137,202,498],tgt:[13,313,314,315],tgt_key_padding_mask:[313,314,315],tgt_mask:[313,314,315],thalloc:484,than:[1,2,3,4,6,8,9,11,13,14,36,46,54,60,61,81,82,92,105,106,107,125,128,134,141,149,154,163,185,187,189,191,193,195,210,211,230,235,236,266,271,286,301,307,318,324,351,353,358,370,371,388,406,440,442,457,459,461,463,468,469,470,471,473,474,476,478,479,481,482,485,486,488,490,493,495,497,498,500,501,503,504,505,506],thank:[15,478],thc:484,thc_state:484,thcstate:484,thcudacheck:484,thcudatensor:484,thcudatensor_cadd:484,thcudatensor_fil:484,thcudatensor_issamesizea:484,thcudatensor_resizea:484,the_model:483,the_templ:460,thei:[1,2,4,5,6,8,11,13,14,15,17,24,27,28,29,43,66,137,138,141,143,147,154,159,175,181,185,187,189,191,193,224,225,226,237,238,273,279,288,299,319,324,325,326,348,351,443,449,459,461,463,464,466,467,468,470,472,473,476,477,478,481,484,485,486,488,490,493,498,499,500,502,503,504,505],them:[1,2,4,5,8,10,13,14,36,54,78,81,92,159,186,235,273,303,305,334,349,352,421,422,424,457,461,464,466,467,468,470,472,473,474,478,479,480,484,486,488,490,491,492,493,497,498,500],themodelclass:483,themselv:[1,2,434,488],theophil:449,therebi:[13,488],therefor:[1,2,4,13,14,15,36,44,51,123,124,126,131,150,236,319,324,366,432,470,472,479,480,485,486,492,493,498,505],theta:[15,460,470],thi:[1,2,3,4,5,6,9,10,11,13,14,15,17,22,30,33,34,35,36,42,46,53,59,61,75,76,79,81,83,87,88,89,93,102,116,117,118,123,126,130,131,136,141,143,144,146,147,148,149,150,151,152,159,160,163,165,168,177,182,185,187,189,190,191,194,202,206,210,211,212,213,214,217,221,222,223,224,225,226,227,229,230,231,232,233,235,236,237,238,239,243,248,250,251,252,253,255,256,259,267,268,269,270,271,272,273,276,280,285,288,303,306,309,315,317,318,319,320,321,322,324,325,338,348,349,350,351,352,353,355,356,362,363,364,365,366,368,370,372,375,384,389,392,400,401,403,406,412,413,419,423,424,425,427,428,446,447,448,452,453,456,457,459,460,461,462,463,464,466,467,468,470,471,472,473,475,476,477,478,479,480,481,482,483,484,485,486,488,489,490,491,492,493,494,495,497,498,499,500,503,504,505,506,507],thin:372,thing:[2,5,14,210,461,470,473,476,478,479,481,488,492,493],think:[5,459,461,492],third:[15,177,202,209,223,226,269,459,476],thnn_conv2d:460,thnn_conv_depthwise2d:460,thoma:7,those:[2,3,11,13,36,81,83,150,159,202,210,211,227,229,236,248,253,254,265,266,276,277,278,280,286,301,302,318,320,324,425,461,467,468,470,472,476,486,488,490,492],though:[2,14,459,462,468,481,482],thousand:1,thrash:14,thread:[1,2,7,11,13,14,17,93,119,120,230,356,403,404,405,458,459,472,480,481,485,490,492,499],threadlocaldebuginfo:480,three:[2,8,14,209,223,226,269,477,486,488,490,492,497,500],threej:497,threshold:[184,306,406,460,472,485,486,497,503],threshold_:[460,470],threshold_mod:486,through:[1,2,4,5,6,10,13,14,15,79,144,150,151,153,168,280,314,315,316,317,412,425,427,457,461,466,467,468,470,478,479,480,484,485,488,490,491,492,496,498,499,507],throughout:[348,488],throughput:475,thrown:[11,17,195,498],thtensor:498,thtensorrandom:193,thu:[2,13,14,15,182,235,273,320,324,415,459,464,470,475,479,480,485,486,488,490,496,498],thumb:14,tie:[15,503],tile:498,time:[1,2,3,5,9,11,13,14,15,17,18,23,24,25,26,27,28,29,30,43,53,59,61,75,88,89,117,137,141,143,147,150,151,156,159,160,175,182,190,192,193,194,195,198,207,208,209,211,212,213,214,217,221,222,223,224,225,226,230,236,237,238,239,241,250,251,252,257,259,260,267,268,269,270,271,272,273,285,287,306,309,319,320,321,322,324,357,372,389,394,419,423,425,433,461,462,464,466,470,471,473,475,476,477,478,479,480,481,482,484,486,488,490,491,492,493,497,498,502,503,505],timedelta:14,timefram:490,timeit:475,timelin:[2,3],timeout:[13,14,466,490],timestamp:502,tini:[498,507],tip:5,tiwari:7,tl_flip:505,tmp:[2,9,457],to_dens:[460,493],to_dlpack:16,to_grayscal:505,to_her:[324,490,491,492],to_mkldnn:[460,498],to_pil_imag:505,to_spars:[460,493,498],to_tensor:505,toaster:503,todai:488,togeth:[1,13,14,15,102,126,241,257,287,324,326,423,464,472,479,480,488,490,491,492,497,505],toilet:503,token:[457,462],tol:[160,184,460],told:461,toler:[2,30,137,150,151,160,184,459,486],tolerance_chang:486,tolerance_grad:486,tolist:[494,498],too:[1,5,9,217,273,325,470,472,475,479,481,484,492,493],tool:[2,3,6,457,459,461,475,484],toothbrush:503,top:[2,13,15,210,211,248,254,265,280,320,329,333,335,434,462,466,470,478,500,501,503,504,505],top_level_method:461,topic:[6,480],topilimag:505,topk:[460,467,485,488,498],topolog:2,torch:[6,8,10,12,18,93,142,143,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,329,330,331,332,333,334,335,336,348,356,375,403,458,459,460,461,467,468,472,473,474,475,476,477,479,480,481,482,483,484,490,491,492,496,500,501,503,504,506],torch_14808_1591070686:484,torch_extens:9,torch_extensions_dir:9,torch_funct:478,torch_hom:457,torch_model_zoo:503,torch_shm_manag:466,torchaudio:[8,458],torchelast:458,torchscript:[144,145,146,149,150,152,458,462,485,490,501,504,505],torchserv:458,torchtext:458,torchvis:[457,458,459,461,473,497],toronto:217,total:[2,3,5,11,13,217,238,248,254,265,279,301,319,326,357,359,360,406,423,457,461,470,476,486],total_averag:2,total_count:15,total_length:[351,479],total_loss:479,total_step:486,totensor:[497,500,503,505],touch:[5,485],toward:[6,160,394],tr_flip:505,trace:[2,5,10,13,144,149,151,160,460,461,463,473,476,498],trace_modul:[150,459],trace_nam:2,traceabl:459,traceback:[2,134,461,466],traced_bar:459,traced_cpu:459,traced_fn:459,traced_foo:[150,459],traced_gpu:459,tracer:[150,485],tracerwarn:459,track:[2,4,11,212,213,214,250,251,252,309,334,466,468,476,478,479,480,491,492,498],track_running_stat:[212,213,214,250,251,252,309,488],tracker:[5,6,160],trade:[4,211,475],tradeoff:491,tradition:8,traffic:503,trail:[350,352,471,474,478,505],train2017:503,train:[1,10,11,13,14,143,146,149,150,202,206,212,213,214,229,230,231,237,243,250,251,252,259,273,280,309,324,353,457,459,460,464,470,471,473,476,477,479,482,486,488,490,492,497,500,503,505],train_batch:486,train_extra:500,train_fn:473,train_load:476,train_nov:500,trainabl:[486,503],trainable_backbone_lay:503,trainer3:490,trainer:490,training_method:146,trainingmod:485,trainload:497,trainset:497,trainval:500,tran:141,transb:485,transfer:[13,14,466,476,490],transform:[13,102,126,131,141,215,243,250,251,252,259,261,314,315,316,317,392,423,470,473,488,497,500,501,503],transform_input:503,transform_to:15,transformation_matrix:505,transformed_distribut:15,transformer_decod:314,transformer_encod:316,transformer_model:313,transformerdecoderlay:314,transformerencoderlay:316,transit:459,translat:[492,505],transmit:490,transpar:[477,490,492],transport:490,transpos:[62,130,175,224,225,226,319,351,364,372,413,425,427,428,438,460,467,470,473,485,493,496,498],transpose_:[2,460,493,498],transposed_data:13,trapezoid:437,trapz:460,travers:[324,477,478,488,491],treat:[2,15,159,169,170,171,172,188,236,259,277,278,280,303,357,423,429,461,467,470,486,490,495,498],tree:[5,273,313,492,500],tri:[1,5,143,237,273,461,466,479,498],triag:6,trial:15,triangl:497,triangular2:486,triangular:[15,62,63,64,372,427,438,439,440,441,442,470,486],triangular_solv:[460,498],trick:[2,15,211,470,480,503],tricki:[473,492],trickier:492,trigger:[1,2,5,6,17,406,472,477,480,490,498],tril:[460,498],tril_:[460,498],tril_indic:[460,463],trilinear:[320,470],trim:[44,51,123,124,141],tripl:470,triplet:318,triplet_loss:318,triplet_margin_loss:[1,460],tripletmarginloss:470,triu:[438,460,485,498],triu_:[460,498],triu_indic:[460,463],trivial:[61,492],tropp:[365,426],trou:[221,222,223,224,225,226,238,319],troubleshoot:5,troublesom:478,truck:503,true_divid:[25,86,460,485,498],true_divide_:[460,498],truli:485,trunc:[460,467,498],trunc_:[460,467,498],truncat:[444,479],trust:[13,159],truth:[497,503],tseq:15,tune:[14,486,488],tup:461,tupl:[2,4,11,13,36,37,73,74,88,90,92,104,112,116,143,150,151,154,160,174,175,177,179,185,186,187,189,191,199,200,201,203,204,205,207,208,209,217,218,219,220,221,222,223,224,225,226,230,237,238,239,255,256,267,268,269,270,271,272,273,274,279,283,293,294,295,296,297,319,320,321,322,323,338,351,357,358,361,363,365,372,377,379,381,390,393,394,413,414,415,421,422,424,425,426,427,432,433,434,445,446,447,450,451,454,455,459,460,462,466,468,470,478,485,486,488,490,493,497,498,500,504,505,506],tuple_or_list:461,turn:[9,13,150,314,316,485,491],tutori:[6,10,14,459,478,480,485,488],tval:460,tvar:160,tvmonitor:503,twelv:495,twice:[1,2,17,472,473,479,503],two:[1,2,3,8,9,10,11,13,14,15,30,59,73,74,81,87,95,137,148,156,159,182,185,187,189,191,208,210,211,221,222,223,224,225,226,227,229,238,241,248,253,254,256,257,259,265,266,268,276,277,278,280,281,286,287,301,302,318,319,349,355,357,358,384,415,425,433,457,459,461,467,468,470,473,474,475,476,477,478,482,483,484,486,488,490,491,492,493,497,498,500,503,504],twse:497,txhxwxc:500,txt:[147,148],type1:[371,460],type2:[371,460],type:[2,9,10,11,14,15,17,18,23,24,25,26,27,28,29,32,37,43,44,46,47,48,49,50,51,52,54,55,56,57,58,61,66,67,75,76,86,88,90,91,92,94,101,102,108,112,113,115,118,122,123,124,125,126,131,132,133,134,140,141,143,144,149,150,151,153,155,158,160,173,175,176,177,192,197,202,206,230,237,273,274,283,324,326,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,352,357,358,361,362,370,371,373,374,375,377,378,379,380,381,382,383,384,389,391,392,398,401,415,416,423,424,427,432,440,442,443,446,447,449,454,455,456,457,458,459,462,463,464,467,470,472,475,476,480,484,488,490,493,494,495,497,498,499,500,503,504,505],type_a:[460,467,485,498],type_p:15,type_q:15,typecheck:136,typeerror:[338,478],typic:[9,13,15,143,227,237,248,273,459,475,485,488,496,507],typing_extens:[459,461],typo:5,ubc:486,ucf101:501,udf:492,uint8:[111,338,371,373,374,391,488,495,497,498,502,505,507],uint8_t:498,uint8tensor:503,uint_tensor:495,ultim:[6,9],umbrella:503,unabl:[5,486],unaffect:498,unari:[462,467],unavailbl:461,unbalanc:[229,280],unbatch:102,unbias:[212,213,214,243,250,251,252,259,309,421,422,450,451,460,498],unbind:[460,467,485,496,498],unchang:[143,237,273,279,313,388,419,472,488,498,505],unclear:498,uncoalesc:[415,493],uncondition:[349,457,478],unconstrain:15,uncorrupt:1,undefin:[2,14,86,131,210,476,498],under:[1,2,3,13,56,217,388,466,470,472,473,477,481,484,488,489,492,497,499],underflow:[1,472],underli:[1,11,15,36,116,127,128,143,159,196,363,364,385,436,448,459,470,476,479,482,488,490,496,498],underscor:[457,468,490,493,498],understand:[5,6,299,471,473,476,497],understood:58,undertak:5,underwai:2,undesir:[10,46,217,221,222,223,224,225,226,470,498],undon:[329,330,331,332,333,334,335,336,345],unequ:[222,223,225,226,488],unexpect:[14,143,237,273,324,419,459,478],unexpected_kei:[143,237,273],unexpectedli:498,unflatten:[460,467,468],unflattened_img:468,unflattened_named_img:468,unfold:[238,460,485,496,498],unfortun:[2,4,6,13,324,503],unicod:462,unicodedecodeerror:159,unifi:468,unifies_names_from_input_tensor:467,uniform:[45,290,377,378,471,498,499],uniform_:[22,42,45,195,460,467,471,478,498,499],uniformli:[15,379,380,437,505],unind:489,uniniti:[90,91,92,498],union:[2,11,143,199,200,201,203,204,205,207,208,209,218,219,220,221,222,223,224,225,226,237,238,239,255,256,259,267,268,269,270,271,272,273,293,294,295,296,297,319,320,321,322,323,461,502,504,506],uniqu:[14,185,187,189,447,457,459,463,465,485,490,491,492,497,498],unique_consecut:[446,460,498],unit:[88,206,216,240,241,242,290,291,331,332,336,339,341,344,438,470,473,475,488,502],unit_interv:15,unitari:[102,126,131,392],unitriangular:[438,460,498],univari:15,univers:461,unix:[13,466],unknown:492,unlabel:500,unless:[1,2,3,5,14,46,143,185,187,189,237,273,324,338,473,476,486,488,498],unlik:[2,5,15,185,187,189,259,461,466,481,495,498],unlist:1,unmask:[279,313],unment:468,unmodifi:1,unnam:[467,468],unncessari:496,unnecessari:476,unnorm:[229,470],unnot:466,unoccupi:11,unord:[274,283],unpack:[179,230,241,257,287,351,462,478,479],unpack_data:179,unpack_pivot:179,unpickl:[13,159],unpool:[270,271,272],unpooled_output:272,unprun:[332,333,335,336,337,338,339,340,341,342,343,344],unreadi:477,unreduc:[210,211,253,254,265,280],unrel:[5,478],unresolv:484,unrol:[461,485],unscal:1,unscale_:[1,472],unseg:217,unsign:[488,495,498],unskip:1,unsort:[349,350],unsorted_indic:[348,351],unspecif:303,unspecifi:[14,485,498],unsqueez:[291,460,478,485,496,497,498],unsqueeze_:[460,498],unstabl:[1,15,79,168,366,412,470],unstructur:[334,338],unsuccess:14,unsupport:[112,459,462,468,485],unsupported_linear_op:461,untest:468,until:[5,11,14,17,160,466,470,473,476,479,490,492,498],untouch:13,untrack:150,untrain:485,untrust:159,unus:[11,146,149,249,324,459,461,476,477],unused_argument1:249,unused_argument2:249,unused_method:459,unusu:5,unwant:497,upcom:[14,472],updat:[1,2,6,8,212,213,214,230,235,236,241,250,251,252,274,283,309,457,459,464,472,473,477,481,484,486,488,490,491,492,497,498],upgrad:486,upon:[13,466,492],upper:[15,52,55,62,63,64,66,125,290,372,383,398,427,438,441,442,460,470,471,486,498,505],upper_bound:15,uppercas:14,ups:5,upsampl:[225,321,322,488],upsample_bicubic2d:460,upsample_bilinear2d:460,upsample_bilinear:488,upsample_linear1d:460,upsample_nearest1d:[460,485],upsample_nearest2d:[460,485],upsample_nearest3d:[460,485],upsample_nearest:488,upsample_r:488,upsample_trilinear3d:460,upsample_trilinear:470,upscal:285,upscale_factor:[285,460,470],upstream:484,url:[2,14,457,465,490],usa:497,usag:[1,2,3,5,10,11,13,15,160,366,459,468,472,473,479,485,488,492,497,498,499],use:[1,2,4,5,6,8,9,10,11,13,15,17,36,59,116,128,131,136,143,146,148,149,150,151,159,160,181,193,207,208,209,217,218,219,220,230,237,241,242,253,255,256,257,258,267,268,269,270,273,280,287,288,289,293,294,295,296,297,320,323,324,349,350,355,373,389,397,398,421,422,426,432,437,446,450,451,457,459,460,461,464,466,467,468,469,470,471,472,475,476,478,479,480,481,482,483,484,485,488,490,491,495,497,498,499,500,503,504,505,506],use_cuda:2,use_distribut:14,use_dynam:460,use_env:14,use_external_data_format:485,use_gpu:459,use_input_stat:[460,470],use_memory_effic:152,use_memory_effici:152,use_mkldnn:475,use_mm_for_euclid_dist:59,use_mm_for_euclid_dist_if_necessari:59,use_ninja:9,use_openmp:475,use_separate_proj_weight:460,use_tbb:475,used:[1,2,3,5,8,9,10,11,12,13,14,15,17,43,44,45,51,88,102,119,120,123,124,125,126,131,143,147,149,150,151,154,159,160,202,208,209,210,211,212,213,214,222,223,224,225,226,227,229,230,232,233,235,237,241,248,250,251,252,256,257,259,262,268,269,273,280,281,286,287,289,306,309,318,324,325,326,359,392,397,399,401,403,404,405,414,421,422,423,427,434,448,450,451,457,459,460,461,463,465,468,470,471,472,473,475,476,478,480,481,483,484,485,486,488,489,490,491,492,493,495,497,498,499,500,501,503,504,505,506],useful:[1,2,5,11,13,15,75,76,141,165,229,238,253,280,285,351,356,370,424,426,457,459,461,468,470,473,475,478,480,485,486,488,490,491,499,504,505],user:[2,4,8,10,11,13,14,15,143,159,221,222,223,224,225,226,237,273,313,315,317,324,338,457,459,461,466,468,472,473,476,478,480,481,485,488,490,491,496,497,498,505],userrref:[490,492],userwarn:[474,485],uses:[1,2,3,9,11,13,14,15,18,32,37,44,51,79,90,92,101,112,123,124,149,158,159,168,173,212,213,214,217,218,219,220,243,250,251,252,259,281,293,294,295,296,297,301,309,323,324,361,375,377,379,381,383,384,412,415,425,432,440,442,455,457,459,470,472,473,475,476,477,478,479,480,484,486,488,490,491,492,495,498,500,501],using:[1,2,4,5,6,8,9,10,13,14,15,25,46,61,63,86,89,128,141,143,146,147,148,149,150,151,152,159,160,177,178,184,206,210,211,217,218,219,220,221,222,223,224,225,226,227,230,231,232,233,235,236,237,241,247,248,257,273,275,282,284,287,293,294,295,296,297,299,323,324,353,356,366,375,397,403,432,437,457,458,459,461,462,463,466,468,470,471,472,473,475,476,477,478,479,480,481,482,484,485,486,488,490,491,492,497,498,499,500,503,505],usp:501,usual:[1,2,5,9,13,232,233,248,250,251,252,425,459,472,475,479,480,485,488,490,497,498],uszkoreit:[313,315,317],utf:159,util:[1,5,11,17,143,237,241,257,273,287,329,330,331,332,333,334,335,336,348,458,472,474,475,476,478,479,480,485,486,490,500,501,503],v100:[12,241,257,287,503],v_1:282,v_2:282,v_proj_weight:460,val2017:503,val:[471,498,500],val_loss:486,valid:[2,14,15,143,221,222,223,224,225,226,333,338,342,372,459,461,468,485,486,488,490,491,500,503],validate_arg:15,valu:[1,2,4,5,6,8,9,11,13,14,15,17,19,22,23,25,26,29,32,33,34,35,42,44,45,46,51,55,59,66,73,74,79,94,114,115,122,123,124,125,127,131,134,138,139,140,141,143,144,150,153,154,155,158,159,160,163,168,173,176,177,184,185,186,187,189,191,192,193,197,202,207,208,209,210,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,234,236,237,238,243,244,247,248,250,251,252,253,255,256,259,261,264,266,267,268,269,270,271,272,273,274,278,279,280,281,282,283,286,303,304,305,306,307,309,312,313,315,317,318,319,320,324,327,348,351,352,357,358,361,362,365,366,369,374,384,385,388,389,393,398,406,412,414,415,423,425,426,434,437,439,440,441,442,444,446,447,448,454,455,456,457,459,460,462,465,466,470,471,472,473,475,476,478,479,485,486,488,490,493,495,496,497,498,499,500,502,503,504,505,506],valueerror:[348,351,478],vamshi:7,vander:[460,463],vandermond:449,var1:486,var2:486,var_mean:[460,467],vari:[348,486,488],variabl:[4,9,11,15,90,92,150,160,215,221,222,223,224,225,226,230,235,236,241,242,257,258,261,276,281,287,289,324,348,349,350,351,352,361,377,379,381,432,455,457,468,475,476,479,484,485,486,488,490,497,498,503],variabletyp:485,varianc:[15,212,213,214,250,251,252,309,381,382,450,451,470,471,482,486],variant:[1,438,480,486,488,498],variat:[15,478],varieti:491,variou:[4,6,9,13,160,466,481,483,486],vase:503,vaswani:[313,315,317],vc2017:484,vdantu:7,vdim:279,vec1:[29,460,498],vec2:[29,117,460,498],vec:[28,194,354,358,460,498],vector:[2,8,15,27,28,29,36,41,54,59,67,72,75,76,80,82,92,117,182,188,193,194,211,212,213,214,217,230,235,236,238,243,250,251,252,282,309,318,319,326,328,354,358,365,425,427,449,470,473,488,497,498,500,505],vehicl:6,veloc:486,verbos:[9,457,468,485,486,497],veri:[2,3,5,8,250,251,252,325,461,466,473,478,479,481,484,486,488,489,490,491,503],verifi:[9,457,459,465,478,485],verify_ninja_avail:9,versa:[111,266,494,498],version:[4,15,123,144,145,147,148,182,196,211,273,320,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,423,436,457,467,468,470,473,474,476,478,480,484,485,486,488,498,499,500,504,505],versu:[5,277],vert:[228,282,470],vertex:497,vertic:[497,505],vertical_flip:505,vertices_tensor:497,vflip:505,vframe:502,vgg11:503,vgg11_bn:503,vgg13:503,vgg13_bn:503,vgg16:503,vgg16_bn:503,vgg19:503,vgg19_bn:503,vgg:485,vhp:2,via:[2,5,9,10,11,13,14,15,58,93,160,212,213,214,230,243,250,251,252,259,309,353,355,421,422,450,451,459,461,466,471,473,476,478,479,481,485,486,491,495,496,498,504],vice:[111,266,494,498],vid_tensor:497,video:[285,468,497,500,501],video_arrai:502,video_classif:503,video_codec:502,video_fp:502,video_read:501,videoclip:500,viehmann:7,view:[2,5,6,8,13,36,54,65,83,104,105,106,236,241,257,287,319,320,321,322,326,390,393,394,416,424,429,435,452,453,458,459,460,466,468,470,474,485,488,490,492,495,498,500,505],view_a:[460,496,498],view_as_complex:[8,460],view_as_imag:496,view_as_r:[8,460,496],viewbackward:2,vincent:7,vincentqb:7,violat:6,virtual:485,vishwak:7,vishwakftw:7,visibl:[11,14,274,275,283,284,503],vision:[6,457,501,503,504],visual:[2,221,222,223,224,225,226,238,267,268,269,319,484,497],vitali:7,vitalyfedyunin:7,vjp:2,voc2012:500,voc:[501,503],vocdetect:500,vocsegment:500,vol:141,volumetr:[214,309,320,470],von:15,von_mis:15,vs2017:484,vs2017_runtim:484,vw_i:279,vychisl:375,w_hf:257,w_hg:257,w_hh:460,w_hi:257,w_hn:241,w_ho:257,w_hr:241,w_hz:241,w_if:257,w_ig:257,w_ih:460,w_ii:257,w_in:241,w_io:257,w_ir:241,w_iz:241,w_j:304,w_n:[210,211],w_y:475,w_z:475,wai:[2,4,5,6,9,13,14,15,89,210,236,250,251,252,273,315,317,324,459,461,466,467,468,470,475,478,479,481,482,483,484,485,486,488,490,491,493,496,498,500,503],wait:[2,11,14,17,144,324,460,466,475,476,477,486,490],wait_al:17,wait_ev:11,wait_stream:[11,476],walk:[10,478,491,492,496],walltim:497,wang:7,want:[1,2,5,11,13,14,116,150,151,239,320,325,397,432,457,470,472,473,475,476,478,483,485,486,488,493,498,503],warm:486,warmup:2,warn:[9,144,150,404,405,474,478,485,489],wasn:[159,459],wast:5,weaker:15,weight:[13,15,46,143,145,149,151,156,193,210,211,215,221,222,223,224,225,226,229,235,236,237,241,242,243,257,258,259,261,273,277,278,279,280,281,287,289,313,338,340,341,342,343,344,345,346,347,353,355,457,460,461,464,468,470,471,473,478,479,485,486,488,497,498,503,504],weight_decai:486,weight_fake_qu:488,weight_g:[355,460],weight_hh:[242,258,289],weight_hh_l:[241,257,287],weight_ih:[242,258,289],weight_ih_l:[241,257,287],weight_mask:[341,344],weight_norm:[347,485],weight_orig:341,weight_scal:460,weight_siz:460,weight_stride0:460,weight_u:353,weight_v:355,weight_zero_point:460,weighted_kernel_sum:151,weightedrandomsampl:13,weird:[324,503],welcom:5,well:[2,5,9,14,143,145,148,150,212,213,214,237,253,273,309,425,459,467,470,472,473,478,481,482,485,488,490,492,493,496,497,499,502,503,505],were:[1,2,11,14,17,147,159,324,326,334,351,398,429,461,470,472,478,485,493,498],weren:2,what:[1,2,4,5,6,14,15,150,151,221,222,223,224,225,226,238,267,268,269,319,329,330,331,332,333,334,335,336,457,459,461,467,478,485,486,490,491,493,500],whatev:[432,438,498],wheel:484,when:[1,2,3,4,5,6,9,11,13,14,15,17,32,46,59,62,67,79,109,112,131,137,138,139,140,143,144,149,150,151,159,160,168,175,184,185,187,189,193,202,207,208,209,210,211,212,213,214,217,221,222,223,224,225,226,227,229,230,236,237,238,243,248,250,251,252,253,254,255,256,259,265,266,267,268,269,273,276,277,278,279,280,281,286,301,302,303,304,306,309,318,319,320,321,322,324,325,329,330,331,332,333,334,335,336,351,353,356,357,358,359,365,369,387,390,403,412,419,423,425,427,428,432,433,440,442,443,446,454,457,459,461,464,466,467,468,470,473,474,475,476,477,478,479,480,481,482,483,484,485,486,488,489,490,491,492,493,495,496,497,498,500,503,504,505],whenev:[6,235,466,470,491,492],where:[1,2,3,5,6,8,9,10,13,14,15,44,51,55,62,64,73,74,79,80,88,94,102,114,115,122,123,124,126,130,131,137,154,155,159,160,165,168,174,176,177,178,182,184,185,186,187,188,189,191,193,195,197,202,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,234,235,236,238,240,241,242,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,260,261,262,263,264,265,266,267,268,269,270,271,272,276,277,278,279,280,281,282,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,305,306,307,308,309,310,311,312,313,318,319,320,321,322,323,324,349,350,351,352,357,366,370,372,388,389,392,412,413,414,415,421,422,423,424,425,427,434,438,439,440,441,442,446,447,450,451,452,453,459,460,462,465,466,470,471,472,473,474,476,479,485,486,488,490,492,493,495,497,498,500,502,503,504,505,506],wherev:[6,467],whether:[1,2,5,6,9,11,13,14,15,33,34,44,51,62,63,64,67,68,102,123,124,126,131,141,143,154,174,177,184,185,186,187,189,191,193,217,227,237,248,253,273,282,286,340,358,370,392,402,403,421,422,423,424,425,427,434,438,446,447,450,451,457,465,470,472,476,478,485,486,490,493,494,496,497,498,500],which:[1,2,3,4,5,6,9,10,11,13,15,17,18,22,36,42,46,55,58,61,65,80,81,82,83,88,109,114,116,128,130,134,141,144,148,149,150,159,165,181,184,188,191,193,196,200,201,202,204,205,206,208,209,212,213,214,217,222,223,225,226,230,236,241,250,251,252,253,255,256,257,259,264,268,269,270,271,272,276,278,303,305,309,324,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345,355,365,373,387,389,390,393,406,416,419,425,437,439,440,441,442,443,446,448,457,459,461,463,464,465,466,468,470,472,473,474,475,476,477,478,479,480,482,484,485,486,488,489,490,491,492,493,494,495,497,498,500,502,503,504,505,507],whichev:470,whilst:[15,476],white:505,white_list:488,whiten:505,whitespac:462,who:[5,8,473],whole:[13,14,141,143,237,273,309,473,481,488,502,505],whose:[15,61,81,94,115,122,143,151,155,176,197,237,273,324,359,473,478,485,497,500],why:[5,145,485],wide:475,wide_resnet101_2:503,wide_resnet50_2:503,width:[15,125,208,209,222,223,225,226,256,268,269,280,304,320,468,470,485,488,500,504,505],wikipedia:470,wildcard:468,willing:6,win:423,win_length:[141,423,460,498],window:[13,44,51,123,124,141,207,208,209,239,255,256,267,268,269,270,271,272,423,458,460,470,498],window_length:[44,51,123,124,460],wine:503,wip:5,wire:490,wise:[14,15,19,25,26,31,41,69,94,109,115,122,155,169,170,171,172,176,185,189,195,197,216,226,234,244,245,246,247,260,263,281,290,291,292,298,300,301,306,308,310,311,387,470,475,488,496],wish:[1,472],wit:459,with_arg:488,with_cuda:[9,484],with_pytorch_error_handl:9,with_replac:[67,460],within:[2,4,6,11,13,14,15,145,217,232,233,238,309,319,324,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,398,448,459,461,475,476,480,485,488,490,491,497],without:[1,2,4,5,6,11,13,15,112,116,131,141,193,212,213,214,236,250,251,252,259,281,309,324,339,375,390,445,457,466,468,470,472,474,476,478,481,485,486,488,489,490,497,498,503,504,505,507],won:[1,4,143,149,237,273,324,457,470,472,473,478,485,490,499,504],woodburi:15,word:[1,2,14,55,202,221,222,223,235,236,313,324,398,461,470,479,491],word_language_model:[313,485],work:[1,2,4,5,6,8,9,10,11,14,15,90,92,149,230,288,303,324,404,432,457,459,462,466,467,468,470,473,475,476,477,478,481,484,488,490,491,493,498,499],worker0:490,worker1:[17,324,490,491],worker2:490,worker:[5,9,13,14,324,490,491,492,500],worker_id:13,worker_info:13,worker_init_fn:[13,479],worker_nam:490,workerinfo:490,workflow:[10,457,478],workground:484,workload:[13,14,480],workspac:[9,485],world:[14,309],world_siz:[14,324,477,490,491],worri:490,worst:478,worth:[13,457,496],would:[2,4,6,8,13,14,15,61,90,92,130,146,147,150,151,188,195,210,211,241,257,287,324,325,348,356,391,398,432,436,459,461,467,468,472,474,475,476,477,478,485,490,491,492,493,498],wouldn:492,wrap:[1,2,10,13,143,150,230,237,273,309,324,351,459,460,472,477,478,484,486,488,490,491,498],wrapper:[11,14,17,230,324,459,461,466,488],write:[5,6,14,36,54,92,148,397,461,468,470,473,476,479,485,486,493,497,498,502],write_video:502,writer:497,written:[2,230,459,461,464,477,478,485,486,494,497],wrong:[14,477,481,484,486],wrote:5,www:[217,486,497],x86:[402,488],x86_x64:484,x_0:[114,488],x_1:[73,74,75,76,114,215,227,228,470],x_2:[73,74,75,76,215,227,228,470],x_3:[73,74,75,76],x_clone:466,x_cpu:476,x_cpu_long:476,x_gpu:476,x_i:[66,73,74,75,76,114,163,264,282,301,303,305,318,369,470],x_j:[264,303,305,470],x_n:[210,211,248,253,254,265],x_out:488,x_t:[212,213,214,241,250,251,252,257,287,309],xavier_normal_:471,xavier_uniform_:471,xcosx:497,xdg_cache_hom:457,xeon:475,xiaoqiang:7,xing:375,xla:458,xml:500,xnnpack:464,xor:[50,172],xsinx:497,xuhdev:7,xxx:500,xxy:500,xxz:500,y_cpu:476,y_cpu_long:476,y_gpu:476,y_hard:470,y_i:[66,73,74,75,76,163,301,318],y_n:[210,211,248,253,254,265,280],y_soft:470,yang:[6,7,160],ycbcr:505,year:[490,500],yes:5,yet:[11,144,146,152,191,329,333,335,461,468,488,490,492,495,505],yf225:7,yield:[13,81,83,143,237,273,454,462],yinghai:7,you:[1,2,3,4,5,6,8,9,10,11,13,14,15,36,46,54,89,92,116,143,145,146,150,151,152,159,217,221,222,223,224,225,226,229,237,270,271,272,273,278,279,280,304,313,315,317,320,324,349,356,372,390,397,432,457,459,461,463,466,467,470,472,473,474,476,478,479,480,481,482,483,484,485,486,488,489,490,491,492,493,495,496,497,498,499,500,503,505],your:[1,2,3,5,8,9,10,11,13,14,15,143,146,150,151,152,221,222,223,224,225,226,237,273,280,324,372,398,402,446,459,461,466,467,468,472,473,474,476,478,479,480,482,484,485,486,488,489,491,493,497,498,499,503,505],your_training_script:14,yourself:481,z_t:241,zach:7,zdevito:7,zebra:503,zero:[1,2,11,15,29,45,46,62,64,79,86,101,125,130,134,141,143,160,168,169,170,171,172,177,178,193,206,207,208,209,217,221,222,223,224,225,226,228,231,232,233,235,236,237,238,241,242,243,255,256,257,258,259,267,268,269,270,271,272,273,279,282,286,287,289,307,313,319,320,323,332,333,334,335,350,357,360,366,372,373,374,412,413,415,419,425,427,432,438,456,459,460,463,466,467,468,470,471,476,484,485,488,490,493,495,497,498,499,504,505],zero_:[2,460,467,468,470,493,498],zero_grad:[1,2,143,237,273,472,479,481,486],zero_infin:[217,460,470],zero_point:[373,374,460,488,498],zero_point_hh:460,zero_point_ih:460,zeros_:471,zeros_lik:[460,463,476,485],zhang:7,zhangguanheng66:7,zheng:7,zhong:505,zip:[13,457,460,461,465,480,485],zipf:202,zipfil:[397,483]},titles:["torch.__config__","Automatic Mixed Precision package - torch.cuda.amp","Automatic differentiation package - torch.autograd","torch.utils.bottleneck","torch.utils.checkpoint","PyTorch Contribution Guide","PyTorch Governance","PyTorch Governance | Persons of Interest","Complex Numbers","torch.utils.cpp_extension","C++","torch.cuda","<no title>","torch.utils.data","Distributed communication package - torch.distributed","Probability distributions - torch.distributions","torch.utils.dlpack","torch.futures","Generator","torch.abs","torch.absolute","torch.acos","torch.acosh","torch.add","torch.addbmm","torch.addcdiv","torch.addcmul","torch.addmm","torch.addmv","torch.addr","torch.allclose","torch.angle","torch.arange","torch.argmax","torch.argmin","torch.argsort","torch.as_strided","torch.as_tensor","torch.asin","torch.asinh","torch.atan","torch.atan2","torch.atanh","torch.baddbmm","torch.bartlett_window","torch.bernoulli","torch.bincount","torch.bitwise_and","torch.bitwise_not","torch.bitwise_or","torch.bitwise_xor","torch.blackman_window","torch.block_diag","torch.bmm","torch.broadcast_tensors","torch.bucketize","torch.can_cast","torch.cartesian_prod","torch.cat","torch.cdist","torch.ceil","torch.chain_matmul","torch.cholesky","torch.cholesky_inverse","torch.cholesky_solve","torch.chunk","torch.clamp","torch.combinations","torch.compiled_with_cxx11_abi","torch.conj","torch.cos","torch.cosh","torch.cross","torch.cummax","torch.cummin","torch.cumprod","torch.cumsum","torch.deg2rad","torch.dequantize","torch.det","torch.diag","torch.diag_embed","torch.diagflat","torch.diagonal","torch.digamma","torch.dist","torch.div","torch.dot","torch.eig","torch.einsum","torch.empty","torch.empty_like","torch.empty_strided","enable_grad","torch.eq","torch.equal","torch.erf","torch.erfc","torch.erfinv","torch.exp","torch.expm1","torch.eye","torch.fft","torch.flatten","torch.flip","torch.fliplr","torch.flipud","torch.floor","torch.floor_divide","torch.fmod","torch.frac","torch.from_numpy","torch.full","torch.full_like","torch.gather","torch.ge","torch.geqrf","torch.ger","torch.get_default_dtype","torch.get_num_interop_threads","torch.get_num_threads","torch.get_rng_state","torch.gt","torch.hamming_window","torch.hann_window","torch.histc","torch.ifft","torch.imag","torch.index_select","torch.initial_seed","torch.inverse","torch.irfft","torch.is_complex","torch.is_floating_point","torch.is_nonzero","torch.is_storage","torch.is_tensor","torch.isclose","torch.isfinite","torch.isinf","torch.isnan","torch.istft","ScriptFunction","ScriptModule","torch.jit.fork","torch.jit.freeze","torch.jit.ignore","torch.jit.load","torch.jit.save","torch.jit.script","torch.jit.trace","torch.jit.trace_module","torch.jit.unused","torch.jit.wait","torch.kthvalue","torch.le","torch.lerp","torch.lgamma","torch.linspace","torch.load","torch.lobpcg","torch.log","torch.log10","torch.log1p","torch.log2","torch.logaddexp","torch.logaddexp2","torch.logcumsumexp","torch.logdet","torch.logical_and","torch.logical_not","torch.logical_or","torch.logical_xor","torch.logspace","torch.logsumexp","torch.lstsq","torch.lt","torch.lu","torch.lu_solve","torch.lu_unpack","torch.manual_seed","torch.masked_select","torch.matmul","torch.matrix_power","torch.matrix_rank","torch.max","torch.mean","torch.median","torch.meshgrid","torch.min","torch.mm","torch.mode","torch.mul","torch.multinomial","torch.mv","torch.mvlgamma","torch.narrow","torch.ne","torch.neg","AdaptiveAvgPool1d","AdaptiveAvgPool2d","AdaptiveAvgPool3d","AdaptiveLogSoftmaxWithLoss","AdaptiveMaxPool1d","AdaptiveMaxPool2d","AdaptiveMaxPool3d","AlphaDropout","AvgPool1d","AvgPool2d","AvgPool3d","BCELoss","BCEWithLogitsLoss","BatchNorm1d","BatchNorm2d","BatchNorm3d","Bilinear","CELU","CTCLoss","ConstantPad1d","ConstantPad2d","ConstantPad3d","Conv1d","Conv2d","Conv3d","ConvTranspose1d","ConvTranspose2d","ConvTranspose3d","CosineEmbeddingLoss","CosineSimilarity","CrossEntropyLoss","DataParallel","Dropout","Dropout2d","Dropout3d","ELU","Embedding","EmbeddingBag","Flatten","Fold","FractionalMaxPool2d","GELU","GRU","GRUCell","GroupNorm","Hardshrink","Hardsigmoid","Hardswish","Hardtanh","HingeEmbeddingLoss","Identity","InstanceNorm1d","InstanceNorm2d","InstanceNorm3d","KLDivLoss","L1Loss","LPPool1d","LPPool2d","LSTM","LSTMCell","LayerNorm","LeakyReLU","Linear","LocalResponseNorm","LogSigmoid","LogSoftmax","MSELoss","MarginRankingLoss","MaxPool1d","MaxPool2d","MaxPool3d","MaxUnpool1d","MaxUnpool2d","MaxUnpool3d","Module","ModuleDict","ModuleList","MultiLabelMarginLoss","MultiLabelSoftMarginLoss","MultiMarginLoss","MultiheadAttention","NLLLoss","PReLU","PairwiseDistance","ParameterDict","ParameterList","PixelShuffle","PoissonNLLLoss","RNN","RNNBase","RNNCell","RReLU","ReLU","ReLU6","ReflectionPad1d","ReflectionPad2d","ReplicationPad1d","ReplicationPad2d","ReplicationPad3d","SELU","Sequential","Sigmoid","SmoothL1Loss","SoftMarginLoss","Softmax","Softmax2d","Softmin","Softplus","Softshrink","Softsign","SyncBatchNorm","Tanh","Tanhshrink","Threshold","Transformer","TransformerDecoder","TransformerDecoderLayer","TransformerEncoder","TransformerEncoderLayer","TripletMarginLoss","Unfold","Upsample","UpsamplingBilinear2d","UpsamplingNearest2d","ZeroPad2d","DistributedDataParallel","Parameter","torch.nn.utils.clip_grad_norm_","torch.nn.utils.clip_grad_value_","torch.nn.utils.parameters_to_vector","BasePruningMethod","CustomFromMask","Identity","L1Unstructured","LnStructured","PruningContainer","RandomStructured","RandomUnstructured","torch.nn.utils.prune.custom_from_mask","torch.nn.utils.prune.global_unstructured","torch.nn.utils.prune.identity","torch.nn.utils.prune.is_pruned","torch.nn.utils.prune.l1_unstructured","torch.nn.utils.prune.ln_structured","torch.nn.utils.prune.random_structured","torch.nn.utils.prune.random_unstructured","torch.nn.utils.prune.remove","torch.nn.utils.remove_spectral_norm","torch.nn.utils.remove_weight_norm","PackedSequence","torch.nn.utils.rnn.pack_padded_sequence","torch.nn.utils.rnn.pack_sequence","torch.nn.utils.rnn.pad_packed_sequence","torch.nn.utils.rnn.pad_sequence","torch.nn.utils.spectral_norm","torch.nn.utils.vector_to_parameters","torch.nn.utils.weight_norm","no_grad","torch.nonzero","torch.norm","torch.normal","torch.numel","torch.ones","torch.ones_like","torch.orgqr","torch.ormqr","torch.pca_lowrank","torch.pinverse","torch.poisson","torch.polygamma","torch.pow","torch.prod","torch.promote_types","torch.qr","torch.quantize_per_channel","torch.quantize_per_tensor","SobolEngine","torch.rad2deg","torch.rand","torch.rand_like","torch.randint","torch.randint_like","torch.randn","torch.randn_like","torch.randperm","torch.range","torch.real","torch.reciprocal","torch.remainder","torch.renorm","torch.repeat_interleave","torch.reshape","torch.result_type","torch.rfft","torch.roll","torch.rot90","torch.round","torch.rsqrt","torch.save","torch.searchsorted","torch.seed","torch.set_default_dtype","torch.set_default_tensor_type","torch.set_flush_denormal","set_grad_enabled","torch.set_num_interop_threads","torch.set_num_threads","torch.set_printoptions","torch.set_rng_state","torch.sigmoid","torch.sign","torch.sin","torch.sinh","torch.slogdet","torch.solve","torch.sort","torch.sparse_coo_tensor","torch.split","torch.sqrt","torch.square","torch.squeeze","torch.stack","torch.std","torch.std_mean","torch.stft","torch.sum","torch.svd","torch.svd_lowrank","torch.symeig","torch.t","torch.take","torch.tan","torch.tanh","torch.tensor","torch.tensordot","torch.topk","torch.trace","torch.transpose","torch.trapz","torch.triangular_solve","torch.tril","torch.tril_indices","torch.triu","torch.triu_indices","torch.true_divide","torch.trunc","torch.unbind","torch.unique","torch.unique_consecutive","torch.unsqueeze","torch.vander","torch.var","torch.var_mean","torch.view_as_complex","torch.view_as_real","torch.where","torch.zeros","torch.zeros_like","torch.hub","PyTorch documentation","TorchScript","TorchScript Builtins","TorchScript Language Reference","Python Language Reference Coverage","TorchScript Unsupported Pytorch Constructs","torch.utils.mobile_optimizer","torch.utils.model_zoo","Multiprocessing package - torch.multiprocessing","Named Tensors operator coverage","Named Tensors","torch.nn","torch.nn.functional","torch.nn.init","Automatic Mixed Precision examples","Autograd mechanics","Broadcasting semantics","CPU threading and TorchScript inference","CUDA semantics","Distributed Data Parallel","Extending PyTorch","Frequently Asked Questions","Features for large-scale deployments","Multiprocessing best practices","Reproducibility","Serialization semantics","Windows FAQ","torch.onnx","torch.optim","Javadoc","Quantization","torch.random","Distributed RPC Framework","Distributed Autograd Design","Remote Reference Protocol","torch.sparse","torch.Storage","Tensor Attributes","Tensor Views","torch.utils.tensorboard","torch.Tensor","torch","torchvision.datasets","torchvision","torchvision.io","torchvision.models","torchvision.ops","torchvision.transforms","torchvision.utils","Type Info"],titleterms:{"break":461,"case":[5,459],"class":[459,461,463],"default":[2,13,461],"export":485,"function":[2,6,14,15,459,460,461,463,467,469,470,472,473,485,488,493,505],"import":[457,484],"new":5,"return":[461,479,492],"var":450,"while":461,Adding:[5,478,485],For:461,Not:463,One:484,Ops:[1,463,499],The:5,Use:[461,476,485],With:463,__config__:0,__torch_function__:478,about:5,abs:[8,19],absolut:20,access:[8,461],accumul:472,aco:21,acosh:22,activ:[469,470],adaptive_avg_pool1d:470,adaptive_avg_pool2d:470,adaptive_avg_pool3d:470,adaptive_max_pool1d:470,adaptive_max_pool2d:470,adaptive_max_pool3d:470,adaptiveavgpool1d:199,adaptiveavgpool2d:200,adaptiveavgpool3d:201,adaptivelogsoftmaxwithloss:202,adaptivemaxpool1d:203,adaptivemaxpool2d:204,adaptivemaxpool3d:205,add:23,addbmm:24,addcdiv:25,addcmul:26,addmm:27,addmv:28,addr:29,adjust:486,affine_grid:470,agnost:476,alexnet:[485,503],algebra:8,algorithm:[486,491],align:468,allclos:30,alloc:479,alpha_dropout:470,alphadropout:206,amd:7,amp:1,angl:[8,31],anomali:2,api:[2,7,10,459,468,475,478,480,488],appendix:459,approach:483,arang:32,argmax:33,argmin:34,argsort:35,argument:492,arithmet:461,as_strid:36,as_tensor:37,asin:38,asinh:39,ask:[5,459,479,485],assign:461,assumpt:492,asynchron:[14,476,481],atan2:41,atan:40,atanh:42,aten:485,attach:480,attribut:[459,461,463,495],author:10,autocast:[1,472],autograd:[2,7,8,10,468,472,473,478,490,491],automat:[1,2,13,459,472],avg_pool1d:470,avg_pool2d:470,avg_pool3d:470,avgpool1d:207,avgpool2d:208,avgpool3d:209,avoid:[5,481],awai:467,backend:[14,490],background:[491,492],backward:[473,474,491],baddbmm:43,bartlett_window:44,basepruningmethod:329,basic:[14,468,490],batch:13,batch_norm:470,batchnorm1d:212,batchnorm2d:[213,488],batchnorm3d:[214,488],bceloss:210,bcewithlogitsloss:211,behavior:[1,13],benchmark:7,bernoulli:[15,45],best:[476,481,483],beta:15,between:463,bilinear:[215,470],binary_cross_entropi:[1,470],binary_cross_entropy_with_logit:[1,470],bincount:46,binomi:15,bitwise_and:47,bitwise_not:48,bitwise_or:49,bitwise_xor:50,bla:499,blackman_window:51,block_diag:52,bmm:53,bottleneck:3,bound:463,broadcast:474,broadcast_tensor:54,broken:484,bucket:55,buffer:[476,481],bug:5,build:[5,7,475,480,484],built:[459,460],builtin:460,c10:7,cach:[457,476],call:[461,473],can:[1,479],can_cast:56,caption:500,cartesian_prod:57,cast:461,cat:58,categor:15,cauchi:15,cdist:59,ceil:60,celeba:500,celu:[216,470],cffi:484,chain_matmul:61,chang:6,channel:484,characterist:503,check:[2,459,473],checkpoint:4,chi2:15,choleski:62,cholesky_invers:63,cholesky_solv:64,choos:14,chunk:65,cifar:500,cityscap:500,clamp:66,classif:503,claus:484,clip:472,clip_grad_norm_:326,clip_grad_value_:327,closur:486,cnn:503,coco:500,code:[5,459,476],codebas:5,collate_fn:13,collect:[11,14],combin:67,come:14,common:[5,14,480],commun:[11,14],comparison:[459,461,499],compat:474,compiled_with_cxx11_abi:68,complex:[8,473],compon:484,comput:[2,491,499],concurr:473,conj:69,consider:480,constant:[459,461],constantpad1d:218,constantpad2d:219,constantpad3d:220,constraint:15,construct:[461,463,486],contain:469,context:[2,491],continu:461,continuousbernoulli:15,contract:467,contribut:5,controversi:6,conv1d:[221,470,488],conv2d:[222,470,488],conv3d:[223,470,488],conv_transpose1d:470,conv_transpose2d:470,conv_transpose3d:470,convbn1d:488,convbn2d:488,convbnrelu1d:488,convbnrelu2d:488,convers:505,convolut:[469,470,503],convrelu1d:488,convrelu2d:488,convrelu3d:488,convtranspose1d:224,convtranspose2d:225,convtranspose3d:226,core:6,correct:[2,473],correctli:463,cos:70,cosh:71,cosine_embedding_loss:470,cosine_similar:470,cosineembeddingloss:227,cosinesimilar:228,coverag:[462,467,478,488],cpp:484,cpp_extens:9,cpu:[7,473,475],creat:[8,459,468],creation:499,cross:[72,473],cross_entropi:470,crossentropyloss:229,ctc_loss:470,ctcloss:217,cuda:[1,7,11,466,476,479,481,484],cudnn:482,cufft:476,cummax:73,cummin:74,cumprod:75,cumsum:76,current:468,custom:[472,478,485],custom_from_mask:337,customfrommask:330,data:[13,477,479,485],data_parallel:470,dataload:7,dataparallel:[230,469,470,472,476],dataset:[13,500],datasetfold:500,deadlock:481,debug:[459,488],decis:6,deeplabv3:503,defin:[461,473,478],deg2rad:77,densenet:503,depend:491,deploy:480,deprec:2,dequant:[78,488],deriv:[15,473],descriptor:466,design:[477,490,491,492],det:79,detect:[2,500,503],determin:473,develop:[5,6],devic:[476,495],diag:80,diag_emb:81,diagflat:82,diagon:83,dict:461,differenti:2,digamma:84,dim:467,dimens:[467,468],dirichlet:15,disabl:[2,13,459,499],discuss:5,dispatch:7,dist:85,distanc:[469,470],distribut:[7,14,15,469,470,477,490,491],distributeddataparallel:[324,472,476,477],div:86,diverg:[15,463],dlpack:16,doc:5,document:[5,458],doe:473,doesn:479,domain:473,dot:87,down:484,download:457,driver:484,dropout2d:[232,470],dropout3d:[233,470],dropout:[231,469,470],dtype:[472,488,495],dure:491,dynam:488,edg:459,eig:88,einsum:89,elig:1,elu:[234,470,488],embed:[235,470],embedding_bag:470,embeddingbag:236,emnist:500,empti:90,empty_lik:91,empty_strid:92,enable_grad:93,encod:473,end:[485,491],engin:7,entrypoint:457,environ:[14,480],equal:95,erf:96,erfc:97,erfinv:98,error:[479,484],event:11,exampl:[472,477,485,491],except:479,exclud:473,execut:476,exp:99,explicit:468,expm1:100,exponenti:15,exponentialfamili:15,express:461,extend:[10,478],extens:[10,11,478,480,484],extern:485,eye:101,factori:467,fakedata:500,faq:[6,484],fashion:500,fast:491,faster:503,featur:[5,480],feature_alpha_dropout:470,fft:102,fight:481,file:[14,466],file_descriptor:466,file_system:466,finfo:507,fishersnedecor:15,fix:5,flatten:[103,237],fleet:480,flickr:500,flip:104,fliplr:105,flipud:106,float16:1,float32:1,floatfunct:488,floor:107,floor_divid:108,fmod:109,fold:[238,470],fork:144,format:485,forward:491,found:484,frac:110,fractionalmaxpool2d:239,framework:490,freed:479,freez:145,frequent:[5,459,479,485],from:[8,457,467,473,484,485],from_numpi:111,full:112,full_lik:113,fulli:503,futur:17,gamma:15,gather:114,gelu:[240,470],gener:[7,11,18,474,499,505],geometr:15,geqrf:116,ger:117,get:5,get_default_dtyp:118,get_num_interop_thread:119,get_num_thread:120,get_rng_stat:121,global_unstructur:338,glu:470,googlenet:503,govern:[6,7],gpu:[14,469,470,472,479],gradient:[1,2,472,499],graph:[459,473],grid_sampl:470,group:[14,490],groupnorm:[243,488],gru:241,grucel:242,guid:[5,6],gumbel:15,gumbel_softmax:470,halfcauchi:15,halfnorm:15,hamming_window:123,handler:479,hann_window:124,happen:473,hardshrink:[244,470],hardsigmoid:[245,470],hardswish:[246,470,488],hardtanh:[247,470],higher:2,hinge_embedding_loss:470,hingeembeddingloss:248,hip:7,histc:125,histori:473,hmdb51:500,hogwild:481,hook:473,how:[457,473,486],hub:457,ident:[249,331,339,479],ifft:126,ignor:146,iinfo:507,imag:[8,127,505],imagefold:500,imagenet:500,implement:[5,457,477,492],improv:5,incept:503,includ:484,independ:15,index:499,index_select:128,indic:458,infer:[468,475],info:507,init:471,initi:14,initial_se:129,input:[1,467,472],inspect:459,instal:484,instanc:503,instance_norm:470,instancenorm1d:[250,488],instancenorm2d:[251,488],instancenorm3d:[252,488],instead:476,instrins:488,interest:7,interfac:[14,488],intern:477,interpol:470,interpret:459,intrins:488,introduct:488,invers:130,ipc:484,irfft:131,is_complex:132,is_floating_point:133,is_nonzero:134,is_prun:340,is_storag:135,is_tensor:136,isclos:137,isfinit:138,isinf:139,isn:479,isnan:140,issu:5,istft:141,iter:[13,461],javadoc:487,jit:[7,144,145,146,147,148,149,150,151,152,153,459],join:499,jvp:473,keep:467,kei:[6,484],keypoint:503,kinet:500,kl_div:470,kldivloss:253,kmnist:500,known:457,kthvalu:154,l1_loss:470,l1_unstructur:341,l1loss:254,l1unstructur:332,languag:[459,461,462],lapack:499,laplac:15,larg:480,launch:14,layer:469,layer_norm:470,layernorm:[259,488],layout:[2,495],leaky_relu:470,leakyrelu:260,learn:486,lerp:156,level:[2,7,488],lgamma:157,librari:7,lifetim:492,like:478,limit:[457,485],linear:[8,261,469,470,488],linearrelu:488,linspac:158,list:461,liter:461,ln_structur:342,lnstructur:333,load:[13,147,159,457],loader:479,lobpcg:160,local:[2,499],local_response_norm:470,localresponsenorm:262,log10:162,log1p:163,log2:164,log:[161,480],log_softmax:470,logaddexp2:166,logaddexp:165,logcumsumexp:167,logdet:168,logic:[457,461],logical_and:169,logical_not:170,logical_or:171,logical_xor:172,logitrelaxedbernoulli:15,lognorm:15,logsigmoid:[263,470],logsoftmax:264,logspac:173,logsumexp:174,lookup:461,loop:461,loss:[469,470,472],lowrankmultivariatenorm:15,lp_pool1d:470,lp_pool2d:470,lppool1d:255,lppool2d:256,lstm:[257,488],lstmcell:258,lstsq:175,lsun:500,lu_solv:178,lu_unpack:179,maintain:[6,7],make:[5,6],manag:[11,466,476],manipul:468,manual:2,manual_se:180,map:13,margin_ranking_loss:470,marginrankingloss:266,mask:503,masked_select:181,match:[461,468],math:[460,499],matmul:182,matrix_pow:183,matrix_rank:184,max:185,max_pool1d:470,max_pool2d:470,max_pool3d:470,max_unpool1d:470,max_unpool2d:470,max_unpool3d:470,maxpool1d:267,maxpool2d:268,maxpool3d:269,maxunpool1d:270,maxunpool2d:271,maxunpool3d:272,mean:186,mechan:473,median:187,memori:[11,13,476,479],memory_format:495,meshgrid:188,metadata:480,method:[2,460,461,463],migrat:459,min:189,mistak:5,mix:[1,459,472,503],mixin:2,mixturesamefamili:15,mkldnn:7,mnasnet:503,mnist:500,mobile_optim:464,mobilenet:503,mode:[191,491],model:[10,457,472,479,480,483,488,503],model_zoo:465,moder:6,modul:[7,273,459,460,461,463,478],moduledict:274,modulelist:[275,461],more:5,mse_loss:470,mseloss:265,mul:192,multi:[13,14,469,470],multi_margin_loss:470,multiheadattent:279,multilabel_margin_loss:470,multilabel_soft_margin_loss:470,multilabelmarginloss:276,multilabelsoftmarginloss:277,multimarginloss:278,multinomi:[15,193],multipl:[472,478],multiprocess:[7,466,476,481,484],multithread:473,multivariatenorm:15,mutat:499,mvlgamma:195,name:[461,467,468],narrow:196,nccl:14,need:472,neg:198,negativebinomi:15,network:[14,479,503],nll_loss:470,nllloss:280,no_grad:356,node:473,non:[13,469,470,473,485],nonlinear:469,nonzero:357,norm:358,normal:[15,359,469,470],note:490,notic:457,notion:473,number:[8,11,473,475,479],numel:360,numer:2,numpi:482,nvidia:11,nvtx:11,object:503,observ:488,old:8,one:472,one_hot:470,onehotcategor:15,ones:361,ones_lik:362,onlin:5,onnx:[7,485],onnx_aten:485,onnx_aten_fallback:485,onnx_fallthrough:485,open:5,oper:[2,7,14,461,467,468,473,478,480,484,485,488,499],ops:[472,504],optim:[7,472,486,490,491],option:[461,475,484,486],order:13,orgqr:363,ormqr:364,other:[14,469,499],out:[467,479],over:[1,461],overrid:478,overview:5,owner:492,pack_padded_sequ:349,pack_sequ:350,packag:[1,2,10,14,466,484],packedsequ:348,pad:[469,470],pad_packed_sequ:351,pad_sequ:352,pairwise_dist:470,pairwisedist:282,parallel:[476,477,479,499],paramet:[325,461,486],parameterdict:283,parameterlist:284,parameters_to_vector:328,pareto:15,parti:14,particip:5,particular:472,pass:[481,491],pathwis:15,pattern:461,pca_lowrank:365,pdist:470,penalti:472,peopl:6,per:[472,486],perform:7,permut:467,person:[7,503],philosophi:6,phototour:500,pil:505,pin:[13,476],pinvers:366,pipe:484,pixel_shuffl:470,pixelshuffl:285,place:[2,467,473,474,499],plan:476,platform:13,point:[14,480],pointwis:499,poisson:[15,367],poisson_nll_loss:470,poissonnllloss:286,polygamma:368,pool:[469,470],pow:369,powerpc:7,practic:[476,481,483],precis:[1,472],prefer:1,prelu:[281,470],prepar:488,print:461,probabl:15,process:[5,6,13,472,490],processgroup:477,prod:370,profil:[2,480],project:6,promot:[1,5],promote_typ:371,propag:468,properli:479,properti:463,propos:5,protect:484,protocol:492,prune:[337,338,339,340,341,342,343,344,345],pruningcontain:334,publish:457,pull:5,python:[5,459,460,461,462,463],pytorch:[5,6,7,10,14,458,459,460,463,473,478,482,485],qat:488,qfunction:488,qmnist:500,quantiz:[469,488],quantize_per_channel:373,quantize_per_tensor:374,quasi:499,question:[5,459,479,485],queue:481,rad2deg:376,rand:377,rand_lik:378,randint:379,randint_lik:380,randn:381,randn_lik:382,random:[11,13,479,489,499],random_structur:343,random_unstructur:344,randomstructur:335,randomunstructur:336,randperm:383,rang:[384,461],rate:486,raw:485,readabl:5,real:[8,385],reason:492,reciproc:386,recommend:483,record:491,recurr:[469,479],recurs:459,reduct:499,refer:[1,459,461,462,468,492],refin:461,reflectionpad1d:293,reflectionpad2d:294,registri:15,relaxedbernoulli:15,relaxedonehotcategor:15,relu6:[292,470,488],relu:[291,470,488],remaind:387,remot:492,remov:[345,467],remove_spectral_norm:346,remove_weight_norm:347,renorm:388,repeat_interleav:389,replicationpad1d:295,replicationpad2d:296,replicationpad3d:297,report:[5,479],represent:8,reproduc:482,request:5,requires_grad:473,reshap:390,resnet:503,resnext:503,resolut:461,result_typ:391,retain:473,reus:481,review:5,rfft:392,rng:7,rnn:[287,349,350,351,352],rnnbase:288,rnncell:289,robust:5,rocm:7,roll:393,rot90:394,round:395,rpc:490,rref:[490,492],rrelu:[290,470],rsqrt:396,rule:468,run:457,runtim:[475,479,503],safeti:473,sampl:499,sampler:13,save:[148,397,457,480,483],sbd:500,sbu:500,scalar:473,scale:[1,472,480],scenario:492,schema:463,scheme:488,score:15,script:[149,459,484,485],scriptfunct:142,scriptmodul:143,searchsort:398,seed:399,segment:503,selu:[298,470],semant:[468,474,476,483,503],sequenti:299,serial:[8,483,499],set_default_dtyp:400,set_default_tensor_typ:401,set_flush_denorm:402,set_grad_en:403,set_num_interop_thread:404,set_num_thread:405,set_printopt:406,set_rng_stat:407,share:[14,466,492],shufflenet:503,shut:484,sigmoid:[300,408,470],sign:409,simd:7,simpl:[461,491],sin:410,singl:[13,472],sinh:411,slice:[461,499],slogdet:412,smart:491,smooth_l1_loss:470,smoothl1loss:301,sobolengin:375,soft_margin_loss:470,softmarginloss:302,softmax2d:304,softmax:[303,470],softmin:[305,470],softplu:[306,470],softshrink:[307,470],softsign:[308,470],solv:413,sort:414,sourc:[5,484],spars:[469,470,493],sparse_coo_tensor:415,spawn:[14,466],specif:[1,13],spectral:499,spectral_norm:353,speed:484,split:416,sqrt:417,squar:418,squeez:419,squeezenet:503,stack:420,start:5,statement:461,std:421,std_mean:422,step:486,stft:423,stl10:500,storag:494,strategi:466,stream:[11,476],studentt:15,style:13,subgraph:473,submit:5,subprocess:466,subscript:461,subsystem:468,sum:[424,469],support:[460,467,468,485],svd:425,svd_lowrank:426,svhn:500,symeig:427,syncbatchnorm:309,synchron:14,system:[14,466],tabl:458,take:[429,486],tan:430,tanh:[310,431,470],tanhshrink:[311,470],tcp:14,tenet:6,tensor:[2,8,10,432,460,463,466,467,468,478,488,495,496,498,499,505],tensorboard:497,tensordot:433,tensorpip:490,ternari:461,test:[5,478],third:14,thread:[473,475],threshold:[312,470],through:481,tip:481,tool:11,top:488,topk:434,torch:[0,1,2,3,4,7,9,11,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,326,327,328,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,463,464,465,466,469,470,471,478,485,486,488,489,493,494,495,497,498,499,505,507],torchaudio:7,torchscript:[10,459,460,461,463,475,480],torchserv:7,torchtext:7,torchvis:[7,485,500,501,502,503,504,505,506],trace:[150,435,459,485],trace_modul:151,tracer:459,train:[472,481,485],transform:[15,313,469,505],transformeddistribut:15,transformerdecod:314,transformerdecoderlay:315,transformerencod:316,transformerencoderlay:317,transit:8,transpos:436,trapz:437,triag:5,triangular_solv:438,tril:439,tril_indic:440,triplet_margin_loss:470,tripletmarginloss:318,triu:441,triu_indic:442,true_divid:443,trunc:444,tune:475,tupl:461,tutori:[5,490],type:[1,13,461,478,485,507],typic:472,ucf101:500,unbind:445,uncontroversi:6,unfold:[319,470],unifi:467,uniform:15,uniqu:446,unique_consecut:447,unscal:472,unsqueez:448,unsupport:[461,463],unus:152,upsampl:[320,470],upsample_bilinear:470,upsample_nearest:470,upsamplingbilinear2d:321,upsamplingnearest2d:322,usag:[480,484],use:[14,473,486],user:492,usp:500,util:[3,4,7,9,13,14,16,326,327,328,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354,355,464,465,469,488,497,499,506],valu:[461,492],vander:449,var_mean:451,variabl:[2,14,459,461],variant:467,vector_to_paramet:354,vgg:503,video:[502,503],view:496,view_as_complex:452,view_as_r:453,vision:[469,470],vjp:473,voc:500,vonmis:15,wait:153,warn:459,weibul:15,weight:469,weight_norm:355,what:473,where:[454,457],which:14,wide:[480,503],widest:1,win:484,window:[7,484],without:484,work:[13,472,479],worker:479,workflow:488,wrapper:478,write:478,xla:7,zero:455,zeropad2d:323,zeros_lik:456}}) \ No newline at end of file +Search.setIndex({docnames:["__config__","amp","autograd","bottleneck","checkpoint","community/contribution_guide","community/governance","community/persons_of_interest","complex_numbers","cpp_extension","cpp_index","cuda","cudnn_persistent_rnn","data","distributed","distributions","dlpack","futures","generated/torch.Generator","generated/torch.abs","generated/torch.absolute","generated/torch.acos","generated/torch.acosh","generated/torch.add","generated/torch.addbmm","generated/torch.addcdiv","generated/torch.addcmul","generated/torch.addmm","generated/torch.addmv","generated/torch.addr","generated/torch.allclose","generated/torch.angle","generated/torch.arange","generated/torch.argmax","generated/torch.argmin","generated/torch.argsort","generated/torch.as_strided","generated/torch.as_tensor","generated/torch.asin","generated/torch.asinh","generated/torch.atan","generated/torch.atan2","generated/torch.atanh","generated/torch.baddbmm","generated/torch.bartlett_window","generated/torch.bernoulli","generated/torch.bincount","generated/torch.bitwise_and","generated/torch.bitwise_not","generated/torch.bitwise_or","generated/torch.bitwise_xor","generated/torch.blackman_window","generated/torch.block_diag","generated/torch.bmm","generated/torch.broadcast_tensors","generated/torch.bucketize","generated/torch.can_cast","generated/torch.cartesian_prod","generated/torch.cat","generated/torch.cdist","generated/torch.ceil","generated/torch.chain_matmul","generated/torch.cholesky","generated/torch.cholesky_inverse","generated/torch.cholesky_solve","generated/torch.chunk","generated/torch.clamp","generated/torch.combinations","generated/torch.compiled_with_cxx11_abi","generated/torch.conj","generated/torch.cos","generated/torch.cosh","generated/torch.cross","generated/torch.cummax","generated/torch.cummin","generated/torch.cumprod","generated/torch.cumsum","generated/torch.deg2rad","generated/torch.dequantize","generated/torch.det","generated/torch.diag","generated/torch.diag_embed","generated/torch.diagflat","generated/torch.diagonal","generated/torch.digamma","generated/torch.dist","generated/torch.div","generated/torch.dot","generated/torch.eig","generated/torch.einsum","generated/torch.empty","generated/torch.empty_like","generated/torch.empty_strided","generated/torch.enable_grad","generated/torch.eq","generated/torch.equal","generated/torch.erf","generated/torch.erfc","generated/torch.erfinv","generated/torch.exp","generated/torch.expm1","generated/torch.eye","generated/torch.fft","generated/torch.flatten","generated/torch.flip","generated/torch.fliplr","generated/torch.flipud","generated/torch.floor","generated/torch.floor_divide","generated/torch.fmod","generated/torch.frac","generated/torch.from_numpy","generated/torch.full","generated/torch.full_like","generated/torch.gather","generated/torch.ge","generated/torch.geqrf","generated/torch.ger","generated/torch.get_default_dtype","generated/torch.get_num_interop_threads","generated/torch.get_num_threads","generated/torch.get_rng_state","generated/torch.gt","generated/torch.hamming_window","generated/torch.hann_window","generated/torch.histc","generated/torch.ifft","generated/torch.imag","generated/torch.index_select","generated/torch.initial_seed","generated/torch.inverse","generated/torch.irfft","generated/torch.is_complex","generated/torch.is_floating_point","generated/torch.is_nonzero","generated/torch.is_storage","generated/torch.is_tensor","generated/torch.isclose","generated/torch.isfinite","generated/torch.isinf","generated/torch.isnan","generated/torch.istft","generated/torch.jit.ScriptFunction","generated/torch.jit.ScriptModule","generated/torch.jit.fork","generated/torch.jit.freeze","generated/torch.jit.ignore","generated/torch.jit.load","generated/torch.jit.save","generated/torch.jit.script","generated/torch.jit.trace","generated/torch.jit.trace_module","generated/torch.jit.unused","generated/torch.jit.wait","generated/torch.kthvalue","generated/torch.le","generated/torch.lerp","generated/torch.lgamma","generated/torch.linspace","generated/torch.load","generated/torch.lobpcg","generated/torch.log","generated/torch.log10","generated/torch.log1p","generated/torch.log2","generated/torch.logaddexp","generated/torch.logaddexp2","generated/torch.logcumsumexp","generated/torch.logdet","generated/torch.logical_and","generated/torch.logical_not","generated/torch.logical_or","generated/torch.logical_xor","generated/torch.logspace","generated/torch.logsumexp","generated/torch.lstsq","generated/torch.lt","generated/torch.lu","generated/torch.lu_solve","generated/torch.lu_unpack","generated/torch.manual_seed","generated/torch.masked_select","generated/torch.matmul","generated/torch.matrix_power","generated/torch.matrix_rank","generated/torch.max","generated/torch.mean","generated/torch.median","generated/torch.meshgrid","generated/torch.min","generated/torch.mm","generated/torch.mode","generated/torch.mul","generated/torch.multinomial","generated/torch.mv","generated/torch.mvlgamma","generated/torch.narrow","generated/torch.ne","generated/torch.neg","generated/torch.nn.AdaptiveAvgPool1d","generated/torch.nn.AdaptiveAvgPool2d","generated/torch.nn.AdaptiveAvgPool3d","generated/torch.nn.AdaptiveLogSoftmaxWithLoss","generated/torch.nn.AdaptiveMaxPool1d","generated/torch.nn.AdaptiveMaxPool2d","generated/torch.nn.AdaptiveMaxPool3d","generated/torch.nn.AlphaDropout","generated/torch.nn.AvgPool1d","generated/torch.nn.AvgPool2d","generated/torch.nn.AvgPool3d","generated/torch.nn.BCELoss","generated/torch.nn.BCEWithLogitsLoss","generated/torch.nn.BatchNorm1d","generated/torch.nn.BatchNorm2d","generated/torch.nn.BatchNorm3d","generated/torch.nn.Bilinear","generated/torch.nn.CELU","generated/torch.nn.CTCLoss","generated/torch.nn.ConstantPad1d","generated/torch.nn.ConstantPad2d","generated/torch.nn.ConstantPad3d","generated/torch.nn.Conv1d","generated/torch.nn.Conv2d","generated/torch.nn.Conv3d","generated/torch.nn.ConvTranspose1d","generated/torch.nn.ConvTranspose2d","generated/torch.nn.ConvTranspose3d","generated/torch.nn.CosineEmbeddingLoss","generated/torch.nn.CosineSimilarity","generated/torch.nn.CrossEntropyLoss","generated/torch.nn.DataParallel","generated/torch.nn.Dropout","generated/torch.nn.Dropout2d","generated/torch.nn.Dropout3d","generated/torch.nn.ELU","generated/torch.nn.Embedding","generated/torch.nn.EmbeddingBag","generated/torch.nn.Flatten","generated/torch.nn.Fold","generated/torch.nn.FractionalMaxPool2d","generated/torch.nn.GELU","generated/torch.nn.GRU","generated/torch.nn.GRUCell","generated/torch.nn.GroupNorm","generated/torch.nn.Hardshrink","generated/torch.nn.Hardsigmoid","generated/torch.nn.Hardswish","generated/torch.nn.Hardtanh","generated/torch.nn.HingeEmbeddingLoss","generated/torch.nn.Identity","generated/torch.nn.InstanceNorm1d","generated/torch.nn.InstanceNorm2d","generated/torch.nn.InstanceNorm3d","generated/torch.nn.KLDivLoss","generated/torch.nn.L1Loss","generated/torch.nn.LPPool1d","generated/torch.nn.LPPool2d","generated/torch.nn.LSTM","generated/torch.nn.LSTMCell","generated/torch.nn.LayerNorm","generated/torch.nn.LeakyReLU","generated/torch.nn.Linear","generated/torch.nn.LocalResponseNorm","generated/torch.nn.LogSigmoid","generated/torch.nn.LogSoftmax","generated/torch.nn.MSELoss","generated/torch.nn.MarginRankingLoss","generated/torch.nn.MaxPool1d","generated/torch.nn.MaxPool2d","generated/torch.nn.MaxPool3d","generated/torch.nn.MaxUnpool1d","generated/torch.nn.MaxUnpool2d","generated/torch.nn.MaxUnpool3d","generated/torch.nn.Module","generated/torch.nn.ModuleDict","generated/torch.nn.ModuleList","generated/torch.nn.MultiLabelMarginLoss","generated/torch.nn.MultiLabelSoftMarginLoss","generated/torch.nn.MultiMarginLoss","generated/torch.nn.MultiheadAttention","generated/torch.nn.NLLLoss","generated/torch.nn.PReLU","generated/torch.nn.PairwiseDistance","generated/torch.nn.ParameterDict","generated/torch.nn.ParameterList","generated/torch.nn.PixelShuffle","generated/torch.nn.PoissonNLLLoss","generated/torch.nn.RNN","generated/torch.nn.RNNBase","generated/torch.nn.RNNCell","generated/torch.nn.RReLU","generated/torch.nn.ReLU","generated/torch.nn.ReLU6","generated/torch.nn.ReflectionPad1d","generated/torch.nn.ReflectionPad2d","generated/torch.nn.ReplicationPad1d","generated/torch.nn.ReplicationPad2d","generated/torch.nn.ReplicationPad3d","generated/torch.nn.SELU","generated/torch.nn.Sequential","generated/torch.nn.Sigmoid","generated/torch.nn.SmoothL1Loss","generated/torch.nn.SoftMarginLoss","generated/torch.nn.Softmax","generated/torch.nn.Softmax2d","generated/torch.nn.Softmin","generated/torch.nn.Softplus","generated/torch.nn.Softshrink","generated/torch.nn.Softsign","generated/torch.nn.SyncBatchNorm","generated/torch.nn.Tanh","generated/torch.nn.Tanhshrink","generated/torch.nn.Threshold","generated/torch.nn.Transformer","generated/torch.nn.TransformerDecoder","generated/torch.nn.TransformerDecoderLayer","generated/torch.nn.TransformerEncoder","generated/torch.nn.TransformerEncoderLayer","generated/torch.nn.TripletMarginLoss","generated/torch.nn.Unfold","generated/torch.nn.Upsample","generated/torch.nn.UpsamplingBilinear2d","generated/torch.nn.UpsamplingNearest2d","generated/torch.nn.ZeroPad2d","generated/torch.nn.parallel.DistributedDataParallel","generated/torch.nn.parameter.Parameter","generated/torch.nn.utils.clip_grad_norm_","generated/torch.nn.utils.clip_grad_value_","generated/torch.nn.utils.parameters_to_vector","generated/torch.nn.utils.prune.BasePruningMethod","generated/torch.nn.utils.prune.CustomFromMask","generated/torch.nn.utils.prune.Identity","generated/torch.nn.utils.prune.L1Unstructured","generated/torch.nn.utils.prune.LnStructured","generated/torch.nn.utils.prune.PruningContainer","generated/torch.nn.utils.prune.RandomStructured","generated/torch.nn.utils.prune.RandomUnstructured","generated/torch.nn.utils.prune.custom_from_mask","generated/torch.nn.utils.prune.global_unstructured","generated/torch.nn.utils.prune.identity","generated/torch.nn.utils.prune.is_pruned","generated/torch.nn.utils.prune.l1_unstructured","generated/torch.nn.utils.prune.ln_structured","generated/torch.nn.utils.prune.random_structured","generated/torch.nn.utils.prune.random_unstructured","generated/torch.nn.utils.prune.remove","generated/torch.nn.utils.remove_spectral_norm","generated/torch.nn.utils.remove_weight_norm","generated/torch.nn.utils.rnn.PackedSequence","generated/torch.nn.utils.rnn.pack_padded_sequence","generated/torch.nn.utils.rnn.pack_sequence","generated/torch.nn.utils.rnn.pad_packed_sequence","generated/torch.nn.utils.rnn.pad_sequence","generated/torch.nn.utils.spectral_norm","generated/torch.nn.utils.vector_to_parameters","generated/torch.nn.utils.weight_norm","generated/torch.no_grad","generated/torch.nonzero","generated/torch.norm","generated/torch.normal","generated/torch.numel","generated/torch.ones","generated/torch.ones_like","generated/torch.orgqr","generated/torch.ormqr","generated/torch.pca_lowrank","generated/torch.pinverse","generated/torch.poisson","generated/torch.polygamma","generated/torch.pow","generated/torch.prod","generated/torch.promote_types","generated/torch.qr","generated/torch.quantize_per_channel","generated/torch.quantize_per_tensor","generated/torch.quasirandom.SobolEngine","generated/torch.rad2deg","generated/torch.rand","generated/torch.rand_like","generated/torch.randint","generated/torch.randint_like","generated/torch.randn","generated/torch.randn_like","generated/torch.randperm","generated/torch.range","generated/torch.real","generated/torch.reciprocal","generated/torch.remainder","generated/torch.renorm","generated/torch.repeat_interleave","generated/torch.reshape","generated/torch.result_type","generated/torch.rfft","generated/torch.roll","generated/torch.rot90","generated/torch.round","generated/torch.rsqrt","generated/torch.save","generated/torch.searchsorted","generated/torch.seed","generated/torch.set_default_dtype","generated/torch.set_default_tensor_type","generated/torch.set_flush_denormal","generated/torch.set_grad_enabled","generated/torch.set_num_interop_threads","generated/torch.set_num_threads","generated/torch.set_printoptions","generated/torch.set_rng_state","generated/torch.sigmoid","generated/torch.sign","generated/torch.sin","generated/torch.sinh","generated/torch.slogdet","generated/torch.solve","generated/torch.sort","generated/torch.sparse_coo_tensor","generated/torch.split","generated/torch.sqrt","generated/torch.square","generated/torch.squeeze","generated/torch.stack","generated/torch.std","generated/torch.std_mean","generated/torch.stft","generated/torch.sum","generated/torch.svd","generated/torch.svd_lowrank","generated/torch.symeig","generated/torch.t","generated/torch.take","generated/torch.tan","generated/torch.tanh","generated/torch.tensor","generated/torch.tensordot","generated/torch.topk","generated/torch.trace","generated/torch.transpose","generated/torch.trapz","generated/torch.triangular_solve","generated/torch.tril","generated/torch.tril_indices","generated/torch.triu","generated/torch.triu_indices","generated/torch.true_divide","generated/torch.trunc","generated/torch.unbind","generated/torch.unique","generated/torch.unique_consecutive","generated/torch.unsqueeze","generated/torch.vander","generated/torch.var","generated/torch.var_mean","generated/torch.view_as_complex","generated/torch.view_as_real","generated/torch.where","generated/torch.zeros","generated/torch.zeros_like","hub","index","jit","jit_builtin_functions","jit_language_reference","jit_python_reference","jit_unsupported","mobile_optimizer","model_zoo","multiprocessing","name_inference","named_tensor","nn","nn.functional","nn.init","notes/amp_examples","notes/autograd","notes/broadcasting","notes/cpu_threading_torchscript_inference","notes/cuda","notes/ddp","notes/extending","notes/faq","notes/large_scale_deployments","notes/multiprocessing","notes/randomness","notes/serialization","notes/windows","onnx","optim","packages","quantization","random","rpc","rpc/distributed_autograd","rpc/rref","sparse","storage","tensor_attributes","tensor_view","tensorboard","tensors","torch","torchvision/datasets","torchvision/index","torchvision/io","torchvision/models","torchvision/ops","torchvision/transforms","torchvision/utils","type_info"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.index":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["__config__.rst","amp.rst","autograd.rst","bottleneck.rst","checkpoint.rst","community/contribution_guide.rst","community/governance.rst","community/persons_of_interest.rst","complex_numbers.rst","cpp_extension.rst","cpp_index.rst","cuda.rst","cudnn_persistent_rnn.rst","data.rst","distributed.rst","distributions.rst","dlpack.rst","futures.rst","generated/torch.Generator.rst","generated/torch.abs.rst","generated/torch.absolute.rst","generated/torch.acos.rst","generated/torch.acosh.rst","generated/torch.add.rst","generated/torch.addbmm.rst","generated/torch.addcdiv.rst","generated/torch.addcmul.rst","generated/torch.addmm.rst","generated/torch.addmv.rst","generated/torch.addr.rst","generated/torch.allclose.rst","generated/torch.angle.rst","generated/torch.arange.rst","generated/torch.argmax.rst","generated/torch.argmin.rst","generated/torch.argsort.rst","generated/torch.as_strided.rst","generated/torch.as_tensor.rst","generated/torch.asin.rst","generated/torch.asinh.rst","generated/torch.atan.rst","generated/torch.atan2.rst","generated/torch.atanh.rst","generated/torch.baddbmm.rst","generated/torch.bartlett_window.rst","generated/torch.bernoulli.rst","generated/torch.bincount.rst","generated/torch.bitwise_and.rst","generated/torch.bitwise_not.rst","generated/torch.bitwise_or.rst","generated/torch.bitwise_xor.rst","generated/torch.blackman_window.rst","generated/torch.block_diag.rst","generated/torch.bmm.rst","generated/torch.broadcast_tensors.rst","generated/torch.bucketize.rst","generated/torch.can_cast.rst","generated/torch.cartesian_prod.rst","generated/torch.cat.rst","generated/torch.cdist.rst","generated/torch.ceil.rst","generated/torch.chain_matmul.rst","generated/torch.cholesky.rst","generated/torch.cholesky_inverse.rst","generated/torch.cholesky_solve.rst","generated/torch.chunk.rst","generated/torch.clamp.rst","generated/torch.combinations.rst","generated/torch.compiled_with_cxx11_abi.rst","generated/torch.conj.rst","generated/torch.cos.rst","generated/torch.cosh.rst","generated/torch.cross.rst","generated/torch.cummax.rst","generated/torch.cummin.rst","generated/torch.cumprod.rst","generated/torch.cumsum.rst","generated/torch.deg2rad.rst","generated/torch.dequantize.rst","generated/torch.det.rst","generated/torch.diag.rst","generated/torch.diag_embed.rst","generated/torch.diagflat.rst","generated/torch.diagonal.rst","generated/torch.digamma.rst","generated/torch.dist.rst","generated/torch.div.rst","generated/torch.dot.rst","generated/torch.eig.rst","generated/torch.einsum.rst","generated/torch.empty.rst","generated/torch.empty_like.rst","generated/torch.empty_strided.rst","generated/torch.enable_grad.rst","generated/torch.eq.rst","generated/torch.equal.rst","generated/torch.erf.rst","generated/torch.erfc.rst","generated/torch.erfinv.rst","generated/torch.exp.rst","generated/torch.expm1.rst","generated/torch.eye.rst","generated/torch.fft.rst","generated/torch.flatten.rst","generated/torch.flip.rst","generated/torch.fliplr.rst","generated/torch.flipud.rst","generated/torch.floor.rst","generated/torch.floor_divide.rst","generated/torch.fmod.rst","generated/torch.frac.rst","generated/torch.from_numpy.rst","generated/torch.full.rst","generated/torch.full_like.rst","generated/torch.gather.rst","generated/torch.ge.rst","generated/torch.geqrf.rst","generated/torch.ger.rst","generated/torch.get_default_dtype.rst","generated/torch.get_num_interop_threads.rst","generated/torch.get_num_threads.rst","generated/torch.get_rng_state.rst","generated/torch.gt.rst","generated/torch.hamming_window.rst","generated/torch.hann_window.rst","generated/torch.histc.rst","generated/torch.ifft.rst","generated/torch.imag.rst","generated/torch.index_select.rst","generated/torch.initial_seed.rst","generated/torch.inverse.rst","generated/torch.irfft.rst","generated/torch.is_complex.rst","generated/torch.is_floating_point.rst","generated/torch.is_nonzero.rst","generated/torch.is_storage.rst","generated/torch.is_tensor.rst","generated/torch.isclose.rst","generated/torch.isfinite.rst","generated/torch.isinf.rst","generated/torch.isnan.rst","generated/torch.istft.rst","generated/torch.jit.ScriptFunction.rst","generated/torch.jit.ScriptModule.rst","generated/torch.jit.fork.rst","generated/torch.jit.freeze.rst","generated/torch.jit.ignore.rst","generated/torch.jit.load.rst","generated/torch.jit.save.rst","generated/torch.jit.script.rst","generated/torch.jit.trace.rst","generated/torch.jit.trace_module.rst","generated/torch.jit.unused.rst","generated/torch.jit.wait.rst","generated/torch.kthvalue.rst","generated/torch.le.rst","generated/torch.lerp.rst","generated/torch.lgamma.rst","generated/torch.linspace.rst","generated/torch.load.rst","generated/torch.lobpcg.rst","generated/torch.log.rst","generated/torch.log10.rst","generated/torch.log1p.rst","generated/torch.log2.rst","generated/torch.logaddexp.rst","generated/torch.logaddexp2.rst","generated/torch.logcumsumexp.rst","generated/torch.logdet.rst","generated/torch.logical_and.rst","generated/torch.logical_not.rst","generated/torch.logical_or.rst","generated/torch.logical_xor.rst","generated/torch.logspace.rst","generated/torch.logsumexp.rst","generated/torch.lstsq.rst","generated/torch.lt.rst","generated/torch.lu.rst","generated/torch.lu_solve.rst","generated/torch.lu_unpack.rst","generated/torch.manual_seed.rst","generated/torch.masked_select.rst","generated/torch.matmul.rst","generated/torch.matrix_power.rst","generated/torch.matrix_rank.rst","generated/torch.max.rst","generated/torch.mean.rst","generated/torch.median.rst","generated/torch.meshgrid.rst","generated/torch.min.rst","generated/torch.mm.rst","generated/torch.mode.rst","generated/torch.mul.rst","generated/torch.multinomial.rst","generated/torch.mv.rst","generated/torch.mvlgamma.rst","generated/torch.narrow.rst","generated/torch.ne.rst","generated/torch.neg.rst","generated/torch.nn.AdaptiveAvgPool1d.rst","generated/torch.nn.AdaptiveAvgPool2d.rst","generated/torch.nn.AdaptiveAvgPool3d.rst","generated/torch.nn.AdaptiveLogSoftmaxWithLoss.rst","generated/torch.nn.AdaptiveMaxPool1d.rst","generated/torch.nn.AdaptiveMaxPool2d.rst","generated/torch.nn.AdaptiveMaxPool3d.rst","generated/torch.nn.AlphaDropout.rst","generated/torch.nn.AvgPool1d.rst","generated/torch.nn.AvgPool2d.rst","generated/torch.nn.AvgPool3d.rst","generated/torch.nn.BCELoss.rst","generated/torch.nn.BCEWithLogitsLoss.rst","generated/torch.nn.BatchNorm1d.rst","generated/torch.nn.BatchNorm2d.rst","generated/torch.nn.BatchNorm3d.rst","generated/torch.nn.Bilinear.rst","generated/torch.nn.CELU.rst","generated/torch.nn.CTCLoss.rst","generated/torch.nn.ConstantPad1d.rst","generated/torch.nn.ConstantPad2d.rst","generated/torch.nn.ConstantPad3d.rst","generated/torch.nn.Conv1d.rst","generated/torch.nn.Conv2d.rst","generated/torch.nn.Conv3d.rst","generated/torch.nn.ConvTranspose1d.rst","generated/torch.nn.ConvTranspose2d.rst","generated/torch.nn.ConvTranspose3d.rst","generated/torch.nn.CosineEmbeddingLoss.rst","generated/torch.nn.CosineSimilarity.rst","generated/torch.nn.CrossEntropyLoss.rst","generated/torch.nn.DataParallel.rst","generated/torch.nn.Dropout.rst","generated/torch.nn.Dropout2d.rst","generated/torch.nn.Dropout3d.rst","generated/torch.nn.ELU.rst","generated/torch.nn.Embedding.rst","generated/torch.nn.EmbeddingBag.rst","generated/torch.nn.Flatten.rst","generated/torch.nn.Fold.rst","generated/torch.nn.FractionalMaxPool2d.rst","generated/torch.nn.GELU.rst","generated/torch.nn.GRU.rst","generated/torch.nn.GRUCell.rst","generated/torch.nn.GroupNorm.rst","generated/torch.nn.Hardshrink.rst","generated/torch.nn.Hardsigmoid.rst","generated/torch.nn.Hardswish.rst","generated/torch.nn.Hardtanh.rst","generated/torch.nn.HingeEmbeddingLoss.rst","generated/torch.nn.Identity.rst","generated/torch.nn.InstanceNorm1d.rst","generated/torch.nn.InstanceNorm2d.rst","generated/torch.nn.InstanceNorm3d.rst","generated/torch.nn.KLDivLoss.rst","generated/torch.nn.L1Loss.rst","generated/torch.nn.LPPool1d.rst","generated/torch.nn.LPPool2d.rst","generated/torch.nn.LSTM.rst","generated/torch.nn.LSTMCell.rst","generated/torch.nn.LayerNorm.rst","generated/torch.nn.LeakyReLU.rst","generated/torch.nn.Linear.rst","generated/torch.nn.LocalResponseNorm.rst","generated/torch.nn.LogSigmoid.rst","generated/torch.nn.LogSoftmax.rst","generated/torch.nn.MSELoss.rst","generated/torch.nn.MarginRankingLoss.rst","generated/torch.nn.MaxPool1d.rst","generated/torch.nn.MaxPool2d.rst","generated/torch.nn.MaxPool3d.rst","generated/torch.nn.MaxUnpool1d.rst","generated/torch.nn.MaxUnpool2d.rst","generated/torch.nn.MaxUnpool3d.rst","generated/torch.nn.Module.rst","generated/torch.nn.ModuleDict.rst","generated/torch.nn.ModuleList.rst","generated/torch.nn.MultiLabelMarginLoss.rst","generated/torch.nn.MultiLabelSoftMarginLoss.rst","generated/torch.nn.MultiMarginLoss.rst","generated/torch.nn.MultiheadAttention.rst","generated/torch.nn.NLLLoss.rst","generated/torch.nn.PReLU.rst","generated/torch.nn.PairwiseDistance.rst","generated/torch.nn.ParameterDict.rst","generated/torch.nn.ParameterList.rst","generated/torch.nn.PixelShuffle.rst","generated/torch.nn.PoissonNLLLoss.rst","generated/torch.nn.RNN.rst","generated/torch.nn.RNNBase.rst","generated/torch.nn.RNNCell.rst","generated/torch.nn.RReLU.rst","generated/torch.nn.ReLU.rst","generated/torch.nn.ReLU6.rst","generated/torch.nn.ReflectionPad1d.rst","generated/torch.nn.ReflectionPad2d.rst","generated/torch.nn.ReplicationPad1d.rst","generated/torch.nn.ReplicationPad2d.rst","generated/torch.nn.ReplicationPad3d.rst","generated/torch.nn.SELU.rst","generated/torch.nn.Sequential.rst","generated/torch.nn.Sigmoid.rst","generated/torch.nn.SmoothL1Loss.rst","generated/torch.nn.SoftMarginLoss.rst","generated/torch.nn.Softmax.rst","generated/torch.nn.Softmax2d.rst","generated/torch.nn.Softmin.rst","generated/torch.nn.Softplus.rst","generated/torch.nn.Softshrink.rst","generated/torch.nn.Softsign.rst","generated/torch.nn.SyncBatchNorm.rst","generated/torch.nn.Tanh.rst","generated/torch.nn.Tanhshrink.rst","generated/torch.nn.Threshold.rst","generated/torch.nn.Transformer.rst","generated/torch.nn.TransformerDecoder.rst","generated/torch.nn.TransformerDecoderLayer.rst","generated/torch.nn.TransformerEncoder.rst","generated/torch.nn.TransformerEncoderLayer.rst","generated/torch.nn.TripletMarginLoss.rst","generated/torch.nn.Unfold.rst","generated/torch.nn.Upsample.rst","generated/torch.nn.UpsamplingBilinear2d.rst","generated/torch.nn.UpsamplingNearest2d.rst","generated/torch.nn.ZeroPad2d.rst","generated/torch.nn.parallel.DistributedDataParallel.rst","generated/torch.nn.parameter.Parameter.rst","generated/torch.nn.utils.clip_grad_norm_.rst","generated/torch.nn.utils.clip_grad_value_.rst","generated/torch.nn.utils.parameters_to_vector.rst","generated/torch.nn.utils.prune.BasePruningMethod.rst","generated/torch.nn.utils.prune.CustomFromMask.rst","generated/torch.nn.utils.prune.Identity.rst","generated/torch.nn.utils.prune.L1Unstructured.rst","generated/torch.nn.utils.prune.LnStructured.rst","generated/torch.nn.utils.prune.PruningContainer.rst","generated/torch.nn.utils.prune.RandomStructured.rst","generated/torch.nn.utils.prune.RandomUnstructured.rst","generated/torch.nn.utils.prune.custom_from_mask.rst","generated/torch.nn.utils.prune.global_unstructured.rst","generated/torch.nn.utils.prune.identity.rst","generated/torch.nn.utils.prune.is_pruned.rst","generated/torch.nn.utils.prune.l1_unstructured.rst","generated/torch.nn.utils.prune.ln_structured.rst","generated/torch.nn.utils.prune.random_structured.rst","generated/torch.nn.utils.prune.random_unstructured.rst","generated/torch.nn.utils.prune.remove.rst","generated/torch.nn.utils.remove_spectral_norm.rst","generated/torch.nn.utils.remove_weight_norm.rst","generated/torch.nn.utils.rnn.PackedSequence.rst","generated/torch.nn.utils.rnn.pack_padded_sequence.rst","generated/torch.nn.utils.rnn.pack_sequence.rst","generated/torch.nn.utils.rnn.pad_packed_sequence.rst","generated/torch.nn.utils.rnn.pad_sequence.rst","generated/torch.nn.utils.spectral_norm.rst","generated/torch.nn.utils.vector_to_parameters.rst","generated/torch.nn.utils.weight_norm.rst","generated/torch.no_grad.rst","generated/torch.nonzero.rst","generated/torch.norm.rst","generated/torch.normal.rst","generated/torch.numel.rst","generated/torch.ones.rst","generated/torch.ones_like.rst","generated/torch.orgqr.rst","generated/torch.ormqr.rst","generated/torch.pca_lowrank.rst","generated/torch.pinverse.rst","generated/torch.poisson.rst","generated/torch.polygamma.rst","generated/torch.pow.rst","generated/torch.prod.rst","generated/torch.promote_types.rst","generated/torch.qr.rst","generated/torch.quantize_per_channel.rst","generated/torch.quantize_per_tensor.rst","generated/torch.quasirandom.SobolEngine.rst","generated/torch.rad2deg.rst","generated/torch.rand.rst","generated/torch.rand_like.rst","generated/torch.randint.rst","generated/torch.randint_like.rst","generated/torch.randn.rst","generated/torch.randn_like.rst","generated/torch.randperm.rst","generated/torch.range.rst","generated/torch.real.rst","generated/torch.reciprocal.rst","generated/torch.remainder.rst","generated/torch.renorm.rst","generated/torch.repeat_interleave.rst","generated/torch.reshape.rst","generated/torch.result_type.rst","generated/torch.rfft.rst","generated/torch.roll.rst","generated/torch.rot90.rst","generated/torch.round.rst","generated/torch.rsqrt.rst","generated/torch.save.rst","generated/torch.searchsorted.rst","generated/torch.seed.rst","generated/torch.set_default_dtype.rst","generated/torch.set_default_tensor_type.rst","generated/torch.set_flush_denormal.rst","generated/torch.set_grad_enabled.rst","generated/torch.set_num_interop_threads.rst","generated/torch.set_num_threads.rst","generated/torch.set_printoptions.rst","generated/torch.set_rng_state.rst","generated/torch.sigmoid.rst","generated/torch.sign.rst","generated/torch.sin.rst","generated/torch.sinh.rst","generated/torch.slogdet.rst","generated/torch.solve.rst","generated/torch.sort.rst","generated/torch.sparse_coo_tensor.rst","generated/torch.split.rst","generated/torch.sqrt.rst","generated/torch.square.rst","generated/torch.squeeze.rst","generated/torch.stack.rst","generated/torch.std.rst","generated/torch.std_mean.rst","generated/torch.stft.rst","generated/torch.sum.rst","generated/torch.svd.rst","generated/torch.svd_lowrank.rst","generated/torch.symeig.rst","generated/torch.t.rst","generated/torch.take.rst","generated/torch.tan.rst","generated/torch.tanh.rst","generated/torch.tensor.rst","generated/torch.tensordot.rst","generated/torch.topk.rst","generated/torch.trace.rst","generated/torch.transpose.rst","generated/torch.trapz.rst","generated/torch.triangular_solve.rst","generated/torch.tril.rst","generated/torch.tril_indices.rst","generated/torch.triu.rst","generated/torch.triu_indices.rst","generated/torch.true_divide.rst","generated/torch.trunc.rst","generated/torch.unbind.rst","generated/torch.unique.rst","generated/torch.unique_consecutive.rst","generated/torch.unsqueeze.rst","generated/torch.vander.rst","generated/torch.var.rst","generated/torch.var_mean.rst","generated/torch.view_as_complex.rst","generated/torch.view_as_real.rst","generated/torch.where.rst","generated/torch.zeros.rst","generated/torch.zeros_like.rst","hub.rst","index.rst","jit.rst","jit_builtin_functions.rst","jit_language_reference.rst","jit_python_reference.rst","jit_unsupported.rst","mobile_optimizer.rst","model_zoo.rst","multiprocessing.rst","name_inference.rst","named_tensor.rst","nn.rst","nn.functional.rst","nn.init.rst","notes/amp_examples.rst","notes/autograd.rst","notes/broadcasting.rst","notes/cpu_threading_torchscript_inference.rst","notes/cuda.rst","notes/ddp.rst","notes/extending.rst","notes/faq.rst","notes/large_scale_deployments.rst","notes/multiprocessing.rst","notes/randomness.rst","notes/serialization.rst","notes/windows.rst","onnx.rst","optim.rst","packages.rst","quantization.rst","random.rst","rpc.rst","rpc/distributed_autograd.rst","rpc/rref.rst","sparse.rst","storage.rst","tensor_attributes.rst","tensor_view.rst","tensorboard.rst","tensors.rst","torch.rst","torchvision/datasets.rst","torchvision/index.rst","torchvision/io.rst","torchvision/models.rst","torchvision/ops.rst","torchvision/transforms.rst","torchvision/utils.rst","type_info.rst"],objects:{"":{PYTORCH_JIT:[459,5,1,"-"],torchvision:[501,3,0,"-"]},"torch.BoolTensor":{all:[498,1,1,""],any:[498,1,1,""]},"torch.FloatStorage":{"byte":[494,1,1,""],"char":[494,1,1,""],"double":[494,1,1,""],"float":[494,1,1,""],"int":[494,1,1,""],"long":[494,1,1,""],"new":[494,1,1,""],"short":[494,1,1,""],bfloat16:[494,1,1,""],bool:[494,1,1,""],clone:[494,1,1,""],complex_double:[494,1,1,""],complex_float:[494,1,1,""],copy_:[494,1,1,""],cpu:[494,1,1,""],cuda:[494,1,1,""],data_ptr:[494,1,1,""],device:[494,2,1,""],dtype:[494,2,1,""],element_size:[494,1,1,""],fill_:[494,1,1,""],from_buffer:[494,1,1,""],from_file:[494,1,1,""],half:[494,1,1,""],is_cuda:[494,2,1,""],is_pinned:[494,1,1,""],is_shared:[494,1,1,""],is_sparse:[494,2,1,""],pin_memory:[494,1,1,""],resize_:[494,1,1,""],share_memory_:[494,1,1,""],size:[494,1,1,""],tolist:[494,1,1,""],type:[494,1,1,""]},"torch.Generator":{device:[18,2,1,""],get_state:[18,1,1,""],initial_seed:[18,1,1,""],manual_seed:[18,1,1,""],seed:[18,1,1,""],set_state:[18,1,1,""]},"torch.Tensor":{"byte":[498,1,1,""],"char":[498,1,1,""],"double":[498,1,1,""],"float":[498,1,1,""],"int":[498,1,1,""],"long":[498,1,1,""],"short":[498,1,1,""],"var":[498,1,1,""],T:[498,2,1,""],abs:[498,1,1,""],abs_:[498,1,1,""],absolute:[498,1,1,""],absolute_:[498,1,1,""],acos:[498,1,1,""],acos_:[498,1,1,""],acosh:[498,1,1,""],acosh_:[498,1,1,""],add:[498,1,1,""],add_:[498,1,1,""],addbmm:[498,1,1,""],addbmm_:[498,1,1,""],addcdiv:[498,1,1,""],addcdiv_:[498,1,1,""],addcmul:[498,1,1,""],addcmul_:[498,1,1,""],addmm:[498,1,1,""],addmm_:[498,1,1,""],addmv:[498,1,1,""],addmv_:[498,1,1,""],addr:[498,1,1,""],addr_:[498,1,1,""],align_as:[468,1,1,""],align_to:[468,1,1,""],allclose:[498,1,1,""],angle:[498,1,1,""],apply_:[498,1,1,""],argmax:[498,1,1,""],argmin:[498,1,1,""],argsort:[498,1,1,""],as_strided:[498,1,1,""],as_subclass:[498,1,1,""],asin:[498,1,1,""],asin_:[498,1,1,""],asinh:[498,1,1,""],asinh_:[498,1,1,""],atan2:[498,1,1,""],atan2_:[498,1,1,""],atan:[498,1,1,""],atan_:[498,1,1,""],atanh:[498,1,1,""],atanh_:[498,1,1,""],backward:[2,1,1,""],baddbmm:[498,1,1,""],baddbmm_:[498,1,1,""],bernoulli:[498,1,1,""],bernoulli_:[498,1,1,""],bfloat16:[498,1,1,""],bincount:[498,1,1,""],bitwise_and:[498,1,1,""],bitwise_and_:[498,1,1,""],bitwise_not:[498,1,1,""],bitwise_not_:[498,1,1,""],bitwise_or:[498,1,1,""],bitwise_or_:[498,1,1,""],bitwise_xor:[498,1,1,""],bitwise_xor_:[498,1,1,""],bmm:[498,1,1,""],bool:[498,1,1,""],cauchy_:[498,1,1,""],ceil:[498,1,1,""],ceil_:[498,1,1,""],cholesky:[498,1,1,""],cholesky_inverse:[498,1,1,""],cholesky_solve:[498,1,1,""],chunk:[498,1,1,""],clamp:[498,1,1,""],clamp_:[498,1,1,""],clone:[498,1,1,""],conj:[498,1,1,""],contiguous:[498,1,1,""],copy_:[498,1,1,""],cos:[498,1,1,""],cos_:[498,1,1,""],cosh:[498,1,1,""],cosh_:[498,1,1,""],cpu:[498,1,1,""],cross:[498,1,1,""],cuda:[498,1,1,""],cummax:[498,1,1,""],cummin:[498,1,1,""],cumprod:[498,1,1,""],cumsum:[498,1,1,""],data_ptr:[498,1,1,""],deg2rad:[498,1,1,""],dense_dim:[498,1,1,""],dequantize:[498,1,1,""],det:[498,1,1,""],detach:[2,1,1,""],detach_:[2,1,1,""],device:[498,2,1,""],diag:[498,1,1,""],diag_embed:[498,1,1,""],diagflat:[498,1,1,""],diagonal:[498,1,1,""],digamma:[498,1,1,""],digamma_:[498,1,1,""],dim:[498,1,1,""],dist:[498,1,1,""],div:[498,1,1,""],div_:[498,1,1,""],dot:[498,1,1,""],eig:[498,1,1,""],element_size:[498,1,1,""],eq:[498,1,1,""],eq_:[498,1,1,""],equal:[498,1,1,""],erf:[498,1,1,""],erf_:[498,1,1,""],erfc:[498,1,1,""],erfc_:[498,1,1,""],erfinv:[498,1,1,""],erfinv_:[498,1,1,""],exp:[498,1,1,""],exp_:[498,1,1,""],expand:[498,1,1,""],expand_as:[498,1,1,""],expm1:[498,1,1,""],expm1_:[498,1,1,""],exponential_:[498,1,1,""],fft:[498,1,1,""],fill_:[498,1,1,""],fill_diagonal_:[498,1,1,""],flatten:[498,1,1,""],flip:[498,1,1,""],fliplr:[498,1,1,""],flipud:[498,1,1,""],floor:[498,1,1,""],floor_:[498,1,1,""],floor_divide:[498,1,1,""],floor_divide_:[498,1,1,""],fmod:[498,1,1,""],fmod_:[498,1,1,""],frac:[498,1,1,""],frac_:[498,1,1,""],gather:[498,1,1,""],ge:[498,1,1,""],ge_:[498,1,1,""],geometric_:[498,1,1,""],geqrf:[498,1,1,""],ger:[498,1,1,""],get_device:[498,1,1,""],grad:[2,2,1,""],gt:[498,1,1,""],gt_:[498,1,1,""],half:[498,1,1,""],hardshrink:[498,1,1,""],histc:[498,1,1,""],ifft:[498,1,1,""],imag:[498,2,1,""],index_add:[498,1,1,""],index_add_:[498,1,1,""],index_copy:[498,1,1,""],index_copy_:[498,1,1,""],index_fill:[498,1,1,""],index_fill_:[498,1,1,""],index_put:[498,1,1,""],index_put_:[498,1,1,""],index_select:[498,1,1,""],indices:[498,1,1,""],int_repr:[498,1,1,""],inverse:[498,1,1,""],irfft:[498,1,1,""],is_complex:[498,1,1,""],is_contiguous:[498,1,1,""],is_cuda:[498,2,1,""],is_floating_point:[498,1,1,""],is_leaf:[2,2,1,""],is_meta:[498,2,1,""],is_pinned:[498,1,1,""],is_quantized:[498,2,1,""],is_set_to:[498,1,1,""],is_shared:[498,1,1,""],is_signed:[498,1,1,""],is_sparse:[498,2,1,""],isclose:[498,1,1,""],isfinite:[498,1,1,""],isinf:[498,1,1,""],isnan:[498,1,1,""],istft:[498,1,1,""],item:[498,1,1,""],kthvalue:[498,1,1,""],le:[498,1,1,""],le_:[498,1,1,""],lerp:[498,1,1,""],lerp_:[498,1,1,""],lgamma:[498,1,1,""],lgamma_:[498,1,1,""],log10:[498,1,1,""],log10_:[498,1,1,""],log1p:[498,1,1,""],log1p_:[498,1,1,""],log2:[498,1,1,""],log2_:[498,1,1,""],log:[498,1,1,""],log_:[498,1,1,""],log_normal_:[498,1,1,""],logaddexp2:[498,1,1,""],logaddexp:[498,1,1,""],logcumsumexp:[498,1,1,""],logdet:[498,1,1,""],logical_and:[498,1,1,""],logical_and_:[498,1,1,""],logical_not:[498,1,1,""],logical_not_:[498,1,1,""],logical_or:[498,1,1,""],logical_or_:[498,1,1,""],logical_xor:[498,1,1,""],logical_xor_:[498,1,1,""],logsumexp:[498,1,1,""],lstsq:[498,1,1,""],lt:[498,1,1,""],lt_:[498,1,1,""],lu:[498,1,1,""],lu_solve:[498,1,1,""],map_:[498,1,1,""],masked_fill:[498,1,1,""],masked_fill_:[498,1,1,""],masked_scatter:[498,1,1,""],masked_scatter_:[498,1,1,""],masked_select:[498,1,1,""],matmul:[498,1,1,""],matrix_power:[498,1,1,""],max:[498,1,1,""],mean:[498,1,1,""],median:[498,1,1,""],min:[498,1,1,""],mm:[498,1,1,""],mode:[498,1,1,""],mul:[498,1,1,""],mul_:[498,1,1,""],multinomial:[498,1,1,""],mv:[498,1,1,""],mvlgamma:[498,1,1,""],mvlgamma_:[498,1,1,""],names:[468,2,1,""],narrow:[498,1,1,""],narrow_copy:[498,1,1,""],ndim:[498,2,1,""],ndimension:[498,1,1,""],ne:[498,1,1,""],ne_:[498,1,1,""],neg:[498,1,1,""],neg_:[498,1,1,""],nelement:[498,1,1,""],new_empty:[498,1,1,""],new_full:[498,1,1,""],new_ones:[498,1,1,""],new_tensor:[498,1,1,""],new_zeros:[498,1,1,""],nonzero:[498,1,1,""],norm:[498,1,1,""],normal_:[498,1,1,""],numel:[498,1,1,""],numpy:[498,1,1,""],orgqr:[498,1,1,""],ormqr:[498,1,1,""],permute:[498,1,1,""],pin_memory:[498,1,1,""],pinverse:[498,1,1,""],polygamma:[498,1,1,""],polygamma_:[498,1,1,""],pow:[498,1,1,""],pow_:[498,1,1,""],prod:[498,1,1,""],put_:[498,1,1,""],q_per_channel_axis:[498,1,1,""],q_per_channel_scales:[498,1,1,""],q_per_channel_zero_points:[498,1,1,""],q_scale:[498,1,1,""],q_zero_point:[498,1,1,""],qr:[498,1,1,""],qscheme:[498,1,1,""],rad2deg:[498,1,1,""],random_:[498,1,1,""],real:[498,2,1,""],reciprocal:[498,1,1,""],reciprocal_:[498,1,1,""],record_stream:[498,1,1,""],refine_names:[468,1,1,""],register_hook:[2,1,1,""],remainder:[498,1,1,""],remainder_:[498,1,1,""],rename:[468,1,1,""],rename_:[468,1,1,""],renorm:[498,1,1,""],renorm_:[498,1,1,""],repeat:[498,1,1,""],repeat_interleave:[498,1,1,""],requires_grad:[2,2,1,""],requires_grad_:[498,1,1,""],reshape:[498,1,1,""],reshape_as:[498,1,1,""],resize_:[498,1,1,""],resize_as_:[498,1,1,""],retain_grad:[2,1,1,""],rfft:[498,1,1,""],roll:[498,1,1,""],rot90:[498,1,1,""],round:[498,1,1,""],round_:[498,1,1,""],rsqrt:[498,1,1,""],rsqrt_:[498,1,1,""],scatter:[498,1,1,""],scatter_:[498,1,1,""],scatter_add:[498,1,1,""],scatter_add_:[498,1,1,""],select:[498,1,1,""],set_:[498,1,1,""],share_memory_:[498,1,1,""],sigmoid:[498,1,1,""],sigmoid_:[498,1,1,""],sign:[498,1,1,""],sign_:[498,1,1,""],sin:[498,1,1,""],sin_:[498,1,1,""],sinh:[498,1,1,""],sinh_:[498,1,1,""],size:[498,1,1,""],slogdet:[498,1,1,""],solve:[498,1,1,""],sort:[498,1,1,""],sparse_dim:[498,1,1,""],sparse_mask:[498,1,1,""],split:[498,1,1,""],sqrt:[498,1,1,""],sqrt_:[498,1,1,""],square:[498,1,1,""],square_:[498,1,1,""],squeeze:[498,1,1,""],squeeze_:[498,1,1,""],std:[498,1,1,""],stft:[498,1,1,""],storage:[498,1,1,""],storage_offset:[498,1,1,""],storage_type:[498,1,1,""],stride:[498,1,1,""],sub:[498,1,1,""],sub_:[498,1,1,""],sum:[498,1,1,""],sum_to_size:[498,1,1,""],svd:[498,1,1,""],symeig:[498,1,1,""],t:[498,1,1,""],t_:[498,1,1,""],take:[498,1,1,""],tan:[498,1,1,""],tan_:[498,1,1,""],tanh:[498,1,1,""],tanh_:[498,1,1,""],to:[498,1,1,""],to_mkldnn:[498,1,1,""],to_sparse:[498,1,1,""],tolist:[498,1,1,""],topk:[498,1,1,""],trace:[498,1,1,""],transpose:[498,1,1,""],transpose_:[498,1,1,""],triangular_solve:[498,1,1,""],tril:[498,1,1,""],tril_:[498,1,1,""],triu:[498,1,1,""],triu_:[498,1,1,""],true_divide:[498,1,1,""],true_divide_:[498,1,1,""],trunc:[498,1,1,""],trunc_:[498,1,1,""],type:[498,1,1,""],type_as:[498,1,1,""],unbind:[498,1,1,""],unflatten:[468,1,1,""],unfold:[498,1,1,""],uniform_:[498,1,1,""],unique:[498,1,1,""],unique_consecutive:[498,1,1,""],unsqueeze:[498,1,1,""],unsqueeze_:[498,1,1,""],values:[498,1,1,""],view:[498,1,1,""],view_as:[498,1,1,""],where:[498,1,1,""],zero_:[498,1,1,""]},"torch.__config__":{parallel_info:[0,4,1,""],show:[0,4,1,""]},"torch.autograd":{Function:[2,0,1,""],backward:[2,4,1,""],detect_anomaly:[2,0,1,""],enable_grad:[2,0,1,""],grad:[2,4,1,""],gradcheck:[2,4,1,""],gradgradcheck:[2,4,1,""],no_grad:[2,0,1,""],set_detect_anomaly:[2,0,1,""],set_grad_enabled:[2,0,1,""]},"torch.autograd.Function":{backward:[2,1,1,""],forward:[2,1,1,""]},"torch.autograd.function":{_ContextMethodMixin:[2,0,1,""]},"torch.autograd.function._ContextMethodMixin":{mark_dirty:[2,1,1,""],mark_non_differentiable:[2,1,1,""],save_for_backward:[2,1,1,""]},"torch.autograd.functional":{hessian:[2,4,1,""],hvp:[2,4,1,""],jacobian:[2,4,1,""],jvp:[2,4,1,""],vhp:[2,4,1,""],vjp:[2,4,1,""]},"torch.autograd.profiler":{emit_nvtx:[2,0,1,""],load_nvprof:[2,4,1,""],profile:[2,0,1,""]},"torch.autograd.profiler.profile":{export_chrome_trace:[2,1,1,""],key_averages:[2,1,1,""],self_cpu_time_total:[2,1,1,""],table:[2,1,1,""],total_average:[2,1,1,""]},"torch.cuda":{Event:[11,0,1,""],Stream:[11,0,1,""],amp:[1,3,0,"-"],current_blas_handle:[11,4,1,""],current_device:[11,4,1,""],current_stream:[11,4,1,""],default_stream:[11,4,1,""],device:[11,0,1,""],device_count:[11,4,1,""],device_of:[11,0,1,""],empty_cache:[11,4,1,""],get_arch_list:[11,4,1,""],get_device_capability:[11,4,1,""],get_device_name:[11,4,1,""],get_gencode_flags:[11,4,1,""],get_rng_state:[11,4,1,""],get_rng_state_all:[11,4,1,""],init:[11,4,1,""],initial_seed:[11,4,1,""],ipc_collect:[11,4,1,""],is_available:[11,4,1,""],is_initialized:[11,4,1,""],manual_seed:[11,4,1,""],manual_seed_all:[11,4,1,""],max_memory_allocated:[11,4,1,""],max_memory_cached:[11,4,1,""],max_memory_reserved:[11,4,1,""],memory_allocated:[11,4,1,""],memory_cached:[11,4,1,""],memory_reserved:[11,4,1,""],memory_snapshot:[11,4,1,""],memory_stats:[11,4,1,""],memory_summary:[11,4,1,""],reset_max_memory_allocated:[11,4,1,""],reset_max_memory_cached:[11,4,1,""],seed:[11,4,1,""],seed_all:[11,4,1,""],set_device:[11,4,1,""],set_rng_state:[11,4,1,""],set_rng_state_all:[11,4,1,""],stream:[11,4,1,""],synchronize:[11,4,1,""]},"torch.cuda.Event":{elapsed_time:[11,1,1,""],from_ipc_handle:[11,1,1,""],ipc_handle:[11,1,1,""],query:[11,1,1,""],record:[11,1,1,""],synchronize:[11,1,1,""],wait:[11,1,1,""]},"torch.cuda.Stream":{query:[11,1,1,""],record_event:[11,1,1,""],synchronize:[11,1,1,""],wait_event:[11,1,1,""],wait_stream:[11,1,1,""]},"torch.cuda.amp":{GradScaler:[1,0,1,""],autocast:[1,0,1,""],custom_bwd:[1,4,1,""],custom_fwd:[1,4,1,""]},"torch.cuda.amp.GradScaler":{get_backoff_factor:[1,1,1,""],get_growth_factor:[1,1,1,""],get_growth_interval:[1,1,1,""],get_scale:[1,1,1,""],is_enabled:[1,1,1,""],load_state_dict:[1,1,1,""],scale:[1,1,1,""],set_backoff_factor:[1,1,1,""],set_growth_factor:[1,1,1,""],set_growth_interval:[1,1,1,""],state_dict:[1,1,1,""],step:[1,1,1,""],unscale_:[1,1,1,""],update:[1,1,1,""]},"torch.cuda.comm":{broadcast:[11,4,1,""],broadcast_coalesced:[11,4,1,""],gather:[11,4,1,""],reduce_add:[11,4,1,""],scatter:[11,4,1,""]},"torch.cuda.nvtx":{mark:[11,4,1,""],range_pop:[11,4,1,""],range_push:[11,4,1,""]},"torch.distributed":{Backend:[14,0,1,""],ReduceOp:[14,0,1,""],all_gather:[14,4,1,""],all_gather_multigpu:[14,4,1,""],all_reduce:[14,4,1,""],all_reduce_multigpu:[14,4,1,""],all_to_all:[14,4,1,""],autograd:[490,3,0,"-"],barrier:[14,4,1,""],broadcast:[14,4,1,""],broadcast_multigpu:[14,4,1,""],gather:[14,4,1,""],get_backend:[14,4,1,""],get_rank:[14,4,1,""],get_world_size:[14,4,1,""],init_process_group:[14,4,1,""],irecv:[14,4,1,""],is_available:[14,4,1,""],is_initialized:[14,4,1,""],is_mpi_available:[14,4,1,""],is_nccl_available:[14,4,1,""],isend:[14,4,1,""],launch:[14,3,0,"-"],new_group:[14,4,1,""],optim:[490,3,0,"-"],recv:[14,4,1,""],reduce:[14,4,1,""],reduce_multigpu:[14,4,1,""],reduce_op:[14,0,1,""],reduce_scatter:[14,4,1,""],reduce_scatter_multigpu:[14,4,1,""],rpc:[490,3,0,"-"],scatter:[14,4,1,""],send:[14,4,1,""]},"torch.distributed.autograd":{backward:[490,4,1,""],context:[490,0,1,""],get_gradients:[490,4,1,""]},"torch.distributed.optim":{DistributedOptimizer:[490,0,1,""]},"torch.distributed.optim.DistributedOptimizer":{step:[490,1,1,""]},"torch.distributed.rpc":{BackendType:[490,0,1,""],ProcessGroupRpcBackendOptions:[490,0,1,""],RRef:[490,0,1,""],RpcBackendOptions:[490,0,1,""],TensorPipeRpcBackendOptions:[490,0,1,""],WorkerInfo:[490,0,1,""],get_worker_info:[490,4,1,""],init_rpc:[490,4,1,""],remote:[490,4,1,""],rpc_async:[490,4,1,""],rpc_sync:[490,4,1,""],shutdown:[490,4,1,""]},"torch.distributed.rpc.ProcessGroupRpcBackendOptions":{init_method:[490,1,1,""],num_send_recv_threads:[490,1,1,""],rpc_timeout:[490,1,1,""]},"torch.distributed.rpc.RRef":{confirmed_by_owner:[490,1,1,""],is_owner:[490,1,1,""],local_value:[490,1,1,""],owner:[490,1,1,""],owner_name:[490,1,1,""],remote:[490,1,1,""],rpc_async:[490,1,1,""],rpc_sync:[490,1,1,""],to_here:[490,1,1,""]},"torch.distributed.rpc.RpcBackendOptions":{init_method:[490,1,1,""],rpc_timeout:[490,1,1,""]},"torch.distributed.rpc.TensorPipeRpcBackendOptions":{init_method:[490,1,1,""],num_worker_threads:[490,1,1,""],rpc_timeout:[490,1,1,""]},"torch.distributed.rpc.WorkerInfo":{id:[490,1,1,""],name:[490,1,1,""]},"torch.distributed.rpc.functions":{async_execution:[490,4,1,""]},"torch.distributions":{constraint_registry:[15,3,0,"-"],constraints:[15,3,0,"-"],kl:[15,3,0,"-"],transforms:[15,3,0,"-"]},"torch.distributions.bernoulli":{Bernoulli:[15,0,1,""]},"torch.distributions.bernoulli.Bernoulli":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.beta":{Beta:[15,0,1,""]},"torch.distributions.beta.Beta":{arg_constraints:[15,2,1,""],concentration0:[15,1,1,""],concentration1:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.binomial":{Binomial:[15,0,1,""]},"torch.distributions.binomial.Binomial":{arg_constraints:[15,2,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.categorical":{Categorical:[15,0,1,""]},"torch.distributions.categorical.Categorical":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.cauchy":{Cauchy:[15,0,1,""]},"torch.distributions.cauchy.Cauchy":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.chi2":{Chi2:[15,0,1,""]},"torch.distributions.chi2.Chi2":{arg_constraints:[15,2,1,""],df:[15,1,1,""],expand:[15,1,1,""]},"torch.distributions.constraint_registry":{ConstraintRegistry:[15,0,1,""]},"torch.distributions.constraint_registry.ConstraintRegistry":{register:[15,1,1,""]},"torch.distributions.constraints":{Constraint:[15,0,1,""],cat:[15,2,1,""],dependent_property:[15,2,1,""],greater_than:[15,2,1,""],greater_than_eq:[15,2,1,""],half_open_interval:[15,2,1,""],integer_interval:[15,2,1,""],interval:[15,2,1,""],less_than:[15,2,1,""],stack:[15,2,1,""]},"torch.distributions.constraints.Constraint":{check:[15,1,1,""]},"torch.distributions.continuous_bernoulli":{ContinuousBernoulli:[15,0,1,""]},"torch.distributions.continuous_bernoulli.ContinuousBernoulli":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.dirichlet":{Dirichlet:[15,0,1,""]},"torch.distributions.dirichlet.Dirichlet":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.distribution":{Distribution:[15,0,1,""]},"torch.distributions.distribution.Distribution":{arg_constraints:[15,1,1,""],batch_shape:[15,1,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],event_shape:[15,1,1,""],expand:[15,1,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],perplexity:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],sample_n:[15,1,1,""],stddev:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.exp_family":{ExponentialFamily:[15,0,1,""]},"torch.distributions.exp_family.ExponentialFamily":{entropy:[15,1,1,""]},"torch.distributions.exponential":{Exponential:[15,0,1,""]},"torch.distributions.exponential.Exponential":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.fishersnedecor":{FisherSnedecor:[15,0,1,""]},"torch.distributions.fishersnedecor.FisherSnedecor":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.gamma":{Gamma:[15,0,1,""]},"torch.distributions.gamma.Gamma":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.geometric":{Geometric:[15,0,1,""]},"torch.distributions.geometric.Geometric":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.gumbel":{Gumbel:[15,0,1,""]},"torch.distributions.gumbel.Gumbel":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.half_cauchy":{HalfCauchy:[15,0,1,""]},"torch.distributions.half_cauchy.HalfCauchy":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],scale:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.half_normal":{HalfNormal:[15,0,1,""]},"torch.distributions.half_normal.HalfNormal":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],scale:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.independent":{Independent:[15,0,1,""]},"torch.distributions.independent.Independent":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,1,1,""],has_rsample:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.kl":{kl_divergence:[15,4,1,""],register_kl:[15,4,1,""]},"torch.distributions.laplace":{Laplace:[15,0,1,""]},"torch.distributions.laplace.Laplace":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.log_normal":{LogNormal:[15,0,1,""]},"torch.distributions.log_normal.LogNormal":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],loc:[15,1,1,""],mean:[15,1,1,""],scale:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.lowrank_multivariate_normal":{LowRankMultivariateNormal:[15,0,1,""]},"torch.distributions.lowrank_multivariate_normal.LowRankMultivariateNormal":{arg_constraints:[15,2,1,""],covariance_matrix:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],precision_matrix:[15,2,1,""],rsample:[15,1,1,""],scale_tril:[15,2,1,""],support:[15,2,1,""],variance:[15,2,1,""]},"torch.distributions.mixture_same_family":{MixtureSameFamily:[15,0,1,""]},"torch.distributions.mixture_same_family.MixtureSameFamily":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],component_distribution:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],mixture_distribution:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.multinomial":{Multinomial:[15,0,1,""]},"torch.distributions.multinomial.Multinomial":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,1,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.multivariate_normal":{MultivariateNormal:[15,0,1,""]},"torch.distributions.multivariate_normal.MultivariateNormal":{arg_constraints:[15,2,1,""],covariance_matrix:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],precision_matrix:[15,2,1,""],rsample:[15,1,1,""],scale_tril:[15,2,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.negative_binomial":{NegativeBinomial:[15,0,1,""]},"torch.distributions.negative_binomial.NegativeBinomial":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.normal":{Normal:[15,0,1,""]},"torch.distributions.normal.Normal":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],stddev:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.one_hot_categorical":{OneHotCategorical:[15,0,1,""]},"torch.distributions.one_hot_categorical.OneHotCategorical":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],enumerate_support:[15,1,1,""],expand:[15,1,1,""],has_enumerate_support:[15,2,1,""],log_prob:[15,1,1,""],logits:[15,1,1,""],mean:[15,1,1,""],param_shape:[15,1,1,""],probs:[15,1,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.pareto":{Pareto:[15,0,1,""]},"torch.distributions.pareto.Pareto":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],mean:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.poisson":{Poisson:[15,0,1,""]},"torch.distributions.poisson.Poisson":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.relaxed_bernoulli":{LogitRelaxedBernoulli:[15,0,1,""],RelaxedBernoulli:[15,0,1,""]},"torch.distributions.relaxed_bernoulli.LogitRelaxedBernoulli":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],log_prob:[15,1,1,""],logits:[15,2,1,""],param_shape:[15,1,1,""],probs:[15,2,1,""],rsample:[15,1,1,""],support:[15,2,1,""]},"torch.distributions.relaxed_bernoulli.RelaxedBernoulli":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],logits:[15,1,1,""],probs:[15,1,1,""],support:[15,2,1,""],temperature:[15,1,1,""]},"torch.distributions.relaxed_categorical":{RelaxedOneHotCategorical:[15,0,1,""]},"torch.distributions.relaxed_categorical.RelaxedOneHotCategorical":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],logits:[15,1,1,""],probs:[15,1,1,""],support:[15,2,1,""],temperature:[15,1,1,""]},"torch.distributions.studentT":{StudentT:[15,0,1,""]},"torch.distributions.studentT.StudentT":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.distributions.transformed_distribution":{TransformedDistribution:[15,0,1,""]},"torch.distributions.transformed_distribution.TransformedDistribution":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,1,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],rsample:[15,1,1,""],sample:[15,1,1,""],support:[15,1,1,""]},"torch.distributions.transforms":{AbsTransform:[15,0,1,""],AffineTransform:[15,0,1,""],CatTransform:[15,0,1,""],ComposeTransform:[15,0,1,""],ExpTransform:[15,0,1,""],LowerCholeskyTransform:[15,0,1,""],PowerTransform:[15,0,1,""],SigmoidTransform:[15,0,1,""],SoftmaxTransform:[15,0,1,""],StackTransform:[15,0,1,""],StickBreakingTransform:[15,0,1,""],TanhTransform:[15,0,1,""],Transform:[15,0,1,""]},"torch.distributions.transforms.Transform":{inv:[15,1,1,""],log_abs_det_jacobian:[15,1,1,""],sign:[15,1,1,""]},"torch.distributions.uniform":{Uniform:[15,0,1,""]},"torch.distributions.uniform.Uniform":{arg_constraints:[15,2,1,""],cdf:[15,1,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],icdf:[15,1,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],rsample:[15,1,1,""],stddev:[15,1,1,""],support:[15,1,1,""],variance:[15,1,1,""]},"torch.distributions.von_mises":{VonMises:[15,0,1,""]},"torch.distributions.von_mises.VonMises":{arg_constraints:[15,2,1,""],expand:[15,1,1,""],has_rsample:[15,2,1,""],log_prob:[15,1,1,""],mean:[15,1,1,""],sample:[15,1,1,""],support:[15,2,1,""],variance:[15,2,1,""]},"torch.distributions.weibull":{Weibull:[15,0,1,""]},"torch.distributions.weibull.Weibull":{arg_constraints:[15,2,1,""],entropy:[15,1,1,""],expand:[15,1,1,""],mean:[15,1,1,""],support:[15,2,1,""],variance:[15,1,1,""]},"torch.futures":{Future:[17,0,1,""],collect_all:[17,4,1,""],wait_all:[17,4,1,""]},"torch.futures.Future":{set_result:[17,1,1,""],then:[17,1,1,""],wait:[17,1,1,""]},"torch.hub":{download_url_to_file:[457,4,1,""],get_dir:[457,4,1,""],help:[457,4,1,""],list:[457,4,1,""],load:[457,4,1,""],load_state_dict_from_url:[457,4,1,""],set_dir:[457,4,1,""]},"torch.jit":{"export":[459,4,1,""],ScriptFunction:[142,0,1,""],ScriptModule:[143,0,1,""],fork:[144,4,1,""],freeze:[145,4,1,""],ignore:[146,4,1,""],is_scripting:[461,4,1,""],load:[147,4,1,""],save:[148,4,1,""],script:[149,4,1,""],supported_ops:[460,3,0,"-"],trace:[150,4,1,""],trace_module:[151,4,1,""],unsupported_tensor_ops:[463,3,0,"-"],unused:[152,4,1,""],wait:[153,4,1,""]},"torch.jit.ScriptFunction":{get_debug_state:[142,1,1,""],save:[142,1,1,""],save_to_buffer:[142,1,1,""]},"torch.jit.ScriptModule":{"double":[143,1,1,""],"float":[143,1,1,""],add_module:[143,1,1,""],apply:[143,1,1,""],bfloat16:[143,1,1,""],buffers:[143,1,1,""],children:[143,1,1,""],code:[143,1,1,""],code_with_constants:[143,1,1,""],cpu:[143,1,1,""],cuda:[143,1,1,""],eval:[143,1,1,""],extra_repr:[143,1,1,""],graph:[143,1,1,""],half:[143,1,1,""],inlined_graph:[143,1,1,""],load_state_dict:[143,1,1,""],modules:[143,1,1,""],named_buffers:[143,1,1,""],named_children:[143,1,1,""],named_modules:[143,1,1,""],named_parameters:[143,1,1,""],parameters:[143,1,1,""],register_backward_hook:[143,1,1,""],register_buffer:[143,1,1,""],register_forward_hook:[143,1,1,""],register_forward_pre_hook:[143,1,1,""],register_parameter:[143,1,1,""],requires_grad_:[143,1,1,""],save:[143,1,1,""],state_dict:[143,1,1,""],to:[143,1,1,""],train:[143,1,1,""],type:[143,1,1,""],zero_grad:[143,1,1,""]},"torch.multiprocessing":{SpawnContext:[466,0,1,""],get_all_sharing_strategies:[466,4,1,""],get_sharing_strategy:[466,4,1,""],set_sharing_strategy:[466,4,1,""],spawn:[466,4,1,""]},"torch.multiprocessing.SpawnContext":{join:[466,1,1,""]},"torch.nn":{AdaptiveAvgPool1d:[199,0,1,""],AdaptiveAvgPool2d:[200,0,1,""],AdaptiveAvgPool3d:[201,0,1,""],AdaptiveLogSoftmaxWithLoss:[202,0,1,""],AdaptiveMaxPool1d:[203,0,1,""],AdaptiveMaxPool2d:[204,0,1,""],AdaptiveMaxPool3d:[205,0,1,""],AlphaDropout:[206,0,1,""],AvgPool1d:[207,0,1,""],AvgPool2d:[208,0,1,""],AvgPool3d:[209,0,1,""],BCELoss:[210,0,1,""],BCEWithLogitsLoss:[211,0,1,""],BatchNorm1d:[212,0,1,""],BatchNorm2d:[213,0,1,""],BatchNorm3d:[214,0,1,""],Bilinear:[215,0,1,""],CELU:[216,0,1,""],CTCLoss:[217,0,1,""],ConstantPad1d:[218,0,1,""],ConstantPad2d:[219,0,1,""],ConstantPad3d:[220,0,1,""],Conv1d:[221,0,1,""],Conv2d:[222,0,1,""],Conv3d:[223,0,1,""],ConvTranspose1d:[224,0,1,""],ConvTranspose2d:[225,0,1,""],ConvTranspose3d:[226,0,1,""],CosineEmbeddingLoss:[227,0,1,""],CosineSimilarity:[228,0,1,""],CrossEntropyLoss:[229,0,1,""],DataParallel:[230,0,1,""],Dropout2d:[232,0,1,""],Dropout3d:[233,0,1,""],Dropout:[231,0,1,""],ELU:[234,0,1,""],Embedding:[235,0,1,""],EmbeddingBag:[236,0,1,""],Flatten:[237,0,1,""],Fold:[238,0,1,""],FractionalMaxPool2d:[239,0,1,""],GELU:[240,0,1,""],GRU:[241,0,1,""],GRUCell:[242,0,1,""],GroupNorm:[243,0,1,""],Hardshrink:[244,0,1,""],Hardsigmoid:[245,0,1,""],Hardswish:[246,0,1,""],Hardtanh:[247,0,1,""],HingeEmbeddingLoss:[248,0,1,""],Identity:[249,0,1,""],InstanceNorm1d:[250,0,1,""],InstanceNorm2d:[251,0,1,""],InstanceNorm3d:[252,0,1,""],KLDivLoss:[253,0,1,""],L1Loss:[254,0,1,""],LPPool1d:[255,0,1,""],LPPool2d:[256,0,1,""],LSTM:[257,0,1,""],LSTMCell:[258,0,1,""],LayerNorm:[259,0,1,""],LeakyReLU:[260,0,1,""],Linear:[261,0,1,""],LocalResponseNorm:[262,0,1,""],LogSigmoid:[263,0,1,""],LogSoftmax:[264,0,1,""],MSELoss:[265,0,1,""],MarginRankingLoss:[266,0,1,""],MaxPool1d:[267,0,1,""],MaxPool2d:[268,0,1,""],MaxPool3d:[269,0,1,""],MaxUnpool1d:[270,0,1,""],MaxUnpool2d:[271,0,1,""],MaxUnpool3d:[272,0,1,""],Module:[273,0,1,""],ModuleDict:[274,0,1,""],ModuleList:[275,0,1,""],MultiLabelMarginLoss:[276,0,1,""],MultiLabelSoftMarginLoss:[277,0,1,""],MultiMarginLoss:[278,0,1,""],MultiheadAttention:[279,0,1,""],NLLLoss:[280,0,1,""],PReLU:[281,0,1,""],PairwiseDistance:[282,0,1,""],ParameterDict:[283,0,1,""],ParameterList:[284,0,1,""],PixelShuffle:[285,0,1,""],PoissonNLLLoss:[286,0,1,""],RNN:[287,0,1,""],RNNBase:[288,0,1,""],RNNCell:[289,0,1,""],RReLU:[290,0,1,""],ReLU6:[292,0,1,""],ReLU:[291,0,1,""],ReflectionPad1d:[293,0,1,""],ReflectionPad2d:[294,0,1,""],ReplicationPad1d:[295,0,1,""],ReplicationPad2d:[296,0,1,""],ReplicationPad3d:[297,0,1,""],SELU:[298,0,1,""],Sequential:[299,0,1,""],Sigmoid:[300,0,1,""],SmoothL1Loss:[301,0,1,""],SoftMarginLoss:[302,0,1,""],Softmax2d:[304,0,1,""],Softmax:[303,0,1,""],Softmin:[305,0,1,""],Softplus:[306,0,1,""],Softshrink:[307,0,1,""],Softsign:[308,0,1,""],SyncBatchNorm:[309,0,1,""],Tanh:[310,0,1,""],Tanhshrink:[311,0,1,""],Threshold:[312,0,1,""],Transformer:[313,0,1,""],TransformerDecoder:[314,0,1,""],TransformerDecoderLayer:[315,0,1,""],TransformerEncoder:[316,0,1,""],TransformerEncoderLayer:[317,0,1,""],TripletMarginLoss:[318,0,1,""],Unfold:[319,0,1,""],Upsample:[320,0,1,""],UpsamplingBilinear2d:[321,0,1,""],UpsamplingNearest2d:[322,0,1,""],ZeroPad2d:[323,0,1,""],intrinsic:[488,3,0,"-"],qat:[488,3,0,"-"],quantized:[488,3,0,"-"]},"torch.nn.AdaptiveLogSoftmaxWithLoss":{log_prob:[202,1,1,""],predict:[202,1,1,""]},"torch.nn.Embedding":{from_pretrained:[235,1,1,""]},"torch.nn.EmbeddingBag":{from_pretrained:[236,1,1,""]},"torch.nn.Flatten":{"double":[237,1,1,""],"float":[237,1,1,""],add_module:[237,1,1,""],apply:[237,1,1,""],bfloat16:[237,1,1,""],buffers:[237,1,1,""],children:[237,1,1,""],cpu:[237,1,1,""],cuda:[237,1,1,""],eval:[237,1,1,""],extra_repr:[237,1,1,""],half:[237,1,1,""],load_state_dict:[237,1,1,""],modules:[237,1,1,""],named_buffers:[237,1,1,""],named_children:[237,1,1,""],named_modules:[237,1,1,""],named_parameters:[237,1,1,""],parameters:[237,1,1,""],register_backward_hook:[237,1,1,""],register_buffer:[237,1,1,""],register_forward_hook:[237,1,1,""],register_forward_pre_hook:[237,1,1,""],register_parameter:[237,1,1,""],requires_grad_:[237,1,1,""],state_dict:[237,1,1,""],to:[237,1,1,""],train:[237,1,1,""],type:[237,1,1,""],zero_grad:[237,1,1,""]},"torch.nn.Module":{"double":[273,1,1,""],"float":[273,1,1,""],add_module:[273,1,1,""],apply:[273,1,1,""],bfloat16:[273,1,1,""],buffers:[273,1,1,""],children:[273,1,1,""],cpu:[273,1,1,""],cuda:[273,1,1,""],dump_patches:[273,2,1,""],eval:[273,1,1,""],extra_repr:[273,1,1,""],half:[273,1,1,""],load_state_dict:[273,1,1,""],modules:[273,1,1,""],named_buffers:[273,1,1,""],named_children:[273,1,1,""],named_modules:[273,1,1,""],named_parameters:[273,1,1,""],parameters:[273,1,1,""],register_backward_hook:[273,1,1,""],register_buffer:[273,1,1,""],register_forward_hook:[273,1,1,""],register_forward_pre_hook:[273,1,1,""],register_parameter:[273,1,1,""],requires_grad_:[273,1,1,""],state_dict:[273,1,1,""],to:[273,1,1,""],train:[273,1,1,""],type:[273,1,1,""],zero_grad:[273,1,1,""]},"torch.nn.ModuleDict":{clear:[274,1,1,""],items:[274,1,1,""],keys:[274,1,1,""],pop:[274,1,1,""],update:[274,1,1,""],values:[274,1,1,""]},"torch.nn.ModuleList":{append:[275,1,1,""],extend:[275,1,1,""],insert:[275,1,1,""]},"torch.nn.MultiheadAttention":{forward:[279,1,1,""]},"torch.nn.ParameterDict":{clear:[283,1,1,""],items:[283,1,1,""],keys:[283,1,1,""],pop:[283,1,1,""],update:[283,1,1,""],values:[283,1,1,""]},"torch.nn.ParameterList":{append:[284,1,1,""],extend:[284,1,1,""]},"torch.nn.RNNBase":{flatten_parameters:[288,1,1,""]},"torch.nn.SyncBatchNorm":{convert_sync_batchnorm:[309,1,1,""]},"torch.nn.Transformer":{forward:[313,1,1,""],generate_square_subsequent_mask:[313,1,1,""]},"torch.nn.TransformerDecoder":{forward:[314,1,1,""]},"torch.nn.TransformerDecoderLayer":{forward:[315,1,1,""]},"torch.nn.TransformerEncoder":{forward:[316,1,1,""]},"torch.nn.TransformerEncoderLayer":{forward:[317,1,1,""]},"torch.nn.functional":{adaptive_avg_pool1d:[470,4,1,""],adaptive_avg_pool2d:[470,4,1,""],adaptive_avg_pool3d:[470,4,1,""],adaptive_max_pool1d:[470,4,1,""],adaptive_max_pool2d:[470,4,1,""],adaptive_max_pool3d:[470,4,1,""],affine_grid:[470,4,1,""],alpha_dropout:[470,4,1,""],avg_pool1d:[470,4,1,""],avg_pool2d:[470,4,1,""],avg_pool3d:[470,4,1,""],batch_norm:[470,4,1,""],bilinear:[470,4,1,""],binary_cross_entropy:[470,4,1,""],binary_cross_entropy_with_logits:[470,4,1,""],celu:[470,4,1,""],conv1d:[470,4,1,""],conv2d:[470,4,1,""],conv3d:[470,4,1,""],conv_transpose1d:[470,4,1,""],conv_transpose2d:[470,4,1,""],conv_transpose3d:[470,4,1,""],cosine_embedding_loss:[470,4,1,""],cosine_similarity:[470,4,1,""],cross_entropy:[470,4,1,""],ctc_loss:[470,4,1,""],dropout2d:[470,4,1,""],dropout3d:[470,4,1,""],dropout:[470,4,1,""],elu:[470,4,1,""],elu_:[470,4,1,""],embedding:[470,4,1,""],embedding_bag:[470,4,1,""],feature_alpha_dropout:[470,4,1,""],fold:[470,4,1,""],gelu:[470,4,1,""],glu:[470,4,1,""],grid_sample:[470,4,1,""],gumbel_softmax:[470,4,1,""],hardshrink:[470,4,1,""],hardsigmoid:[470,4,1,""],hardswish:[470,4,1,""],hardtanh:[470,4,1,""],hardtanh_:[470,4,1,""],hinge_embedding_loss:[470,4,1,""],instance_norm:[470,4,1,""],interpolate:[470,4,1,""],kl_div:[470,4,1,""],l1_loss:[470,4,1,""],layer_norm:[470,4,1,""],leaky_relu:[470,4,1,""],leaky_relu_:[470,4,1,""],linear:[470,4,1,""],local_response_norm:[470,4,1,""],log_softmax:[470,4,1,""],logsigmoid:[470,4,1,""],lp_pool1d:[470,4,1,""],lp_pool2d:[470,4,1,""],margin_ranking_loss:[470,4,1,""],max_pool1d:[470,4,1,""],max_pool2d:[470,4,1,""],max_pool3d:[470,4,1,""],max_unpool1d:[470,4,1,""],max_unpool2d:[470,4,1,""],max_unpool3d:[470,4,1,""],mse_loss:[470,4,1,""],multi_margin_loss:[470,4,1,""],multilabel_margin_loss:[470,4,1,""],multilabel_soft_margin_loss:[470,4,1,""],nll_loss:[470,4,1,""],normalize:[470,4,1,""],one_hot:[470,4,1,""],pad:[470,4,1,""],pairwise_distance:[470,4,1,""],pdist:[470,4,1,""],pixel_shuffle:[470,4,1,""],poisson_nll_loss:[470,4,1,""],prelu:[470,4,1,""],relu6:[470,4,1,""],relu:[470,4,1,""],relu_:[470,4,1,""],rrelu:[470,4,1,""],rrelu_:[470,4,1,""],selu:[470,4,1,""],sigmoid:[470,4,1,""],smooth_l1_loss:[470,4,1,""],soft_margin_loss:[470,4,1,""],softmax:[470,4,1,""],softmin:[470,4,1,""],softplus:[470,4,1,""],softshrink:[470,4,1,""],softsign:[470,4,1,""],tanh:[470,4,1,""],tanhshrink:[470,4,1,""],threshold:[470,4,1,""],threshold_:[470,4,1,""],triplet_margin_loss:[470,4,1,""],unfold:[470,4,1,""],upsample:[470,4,1,""],upsample_bilinear:[470,4,1,""],upsample_nearest:[470,4,1,""]},"torch.nn.init":{calculate_gain:[471,4,1,""],constant_:[471,4,1,""],dirac_:[471,4,1,""],eye_:[471,4,1,""],kaiming_normal_:[471,4,1,""],kaiming_uniform_:[471,4,1,""],normal_:[471,4,1,""],ones_:[471,4,1,""],orthogonal_:[471,4,1,""],sparse_:[471,4,1,""],uniform_:[471,4,1,""],xavier_normal_:[471,4,1,""],xavier_uniform_:[471,4,1,""],zeros_:[471,4,1,""]},"torch.nn.intrinsic":{ConvBn1d:[488,0,1,""],ConvBn2d:[488,0,1,""],ConvBnReLU1d:[488,0,1,""],ConvBnReLU2d:[488,0,1,""],ConvReLU1d:[488,0,1,""],ConvReLU2d:[488,0,1,""],ConvReLU3d:[488,0,1,""],LinearReLU:[488,0,1,""],qat:[488,3,0,"-"],quantized:[488,3,0,"-"]},"torch.nn.intrinsic.qat":{ConvBn2d:[488,0,1,""],ConvBnReLU2d:[488,0,1,""],ConvReLU2d:[488,0,1,""],LinearReLU:[488,0,1,""]},"torch.nn.intrinsic.quantized":{ConvReLU2d:[488,0,1,""],ConvReLU3d:[488,0,1,""],LinearReLU:[488,0,1,""]},"torch.nn.parallel":{DistributedDataParallel:[324,0,1,""],data_parallel:[470,4,1,""]},"torch.nn.parallel.DistributedDataParallel":{no_sync:[324,1,1,""]},"torch.nn.parameter":{Parameter:[325,0,1,""]},"torch.nn.qat":{Conv2d:[488,0,1,""],Linear:[488,0,1,""]},"torch.nn.qat.Conv2d":{from_float:[488,1,1,""]},"torch.nn.qat.Linear":{from_float:[488,1,1,""]},"torch.nn.quantized":{BatchNorm2d:[488,0,1,""],BatchNorm3d:[488,0,1,""],Conv1d:[488,0,1,""],Conv2d:[488,0,1,""],Conv3d:[488,0,1,""],DeQuantize:[488,0,1,""],ELU:[488,0,1,""],FloatFunctional:[488,0,1,""],GroupNorm:[488,0,1,""],Hardswish:[488,0,1,""],InstanceNorm1d:[488,0,1,""],InstanceNorm2d:[488,0,1,""],InstanceNorm3d:[488,0,1,""],LayerNorm:[488,0,1,""],Linear:[488,0,1,""],QFunctional:[488,0,1,""],Quantize:[488,0,1,""],ReLU6:[488,0,1,""],ReLU:[488,0,1,""],dynamic:[488,3,0,"-"],functional:[488,3,0,"-"]},"torch.nn.quantized.Conv1d":{from_float:[488,1,1,""]},"torch.nn.quantized.Conv2d":{from_float:[488,1,1,""]},"torch.nn.quantized.Conv3d":{from_float:[488,1,1,""]},"torch.nn.quantized.Linear":{from_float:[488,1,1,""]},"torch.nn.quantized.dynamic":{LSTM:[488,0,1,""],Linear:[488,0,1,""]},"torch.nn.quantized.dynamic.Linear":{from_float:[488,1,1,""]},"torch.nn.quantized.functional":{adaptive_avg_pool2d:[488,4,1,""],avg_pool2d:[488,4,1,""],conv1d:[488,4,1,""],conv2d:[488,4,1,""],conv3d:[488,4,1,""],hardswish:[488,4,1,""],interpolate:[488,4,1,""],linear:[488,4,1,""],max_pool2d:[488,4,1,""],relu:[488,4,1,""],upsample:[488,4,1,""],upsample_bilinear:[488,4,1,""],upsample_nearest:[488,4,1,""]},"torch.nn.utils":{clip_grad_norm_:[326,4,1,""],clip_grad_value_:[327,4,1,""],parameters_to_vector:[328,4,1,""],remove_spectral_norm:[346,4,1,""],remove_weight_norm:[347,4,1,""],spectral_norm:[353,4,1,""],vector_to_parameters:[354,4,1,""],weight_norm:[355,4,1,""]},"torch.nn.utils.prune":{BasePruningMethod:[329,0,1,""],CustomFromMask:[330,0,1,""],Identity:[331,0,1,""],L1Unstructured:[332,0,1,""],LnStructured:[333,0,1,""],PruningContainer:[334,0,1,""],RandomStructured:[335,0,1,""],RandomUnstructured:[336,0,1,""],custom_from_mask:[337,4,1,""],global_unstructured:[338,4,1,""],identity:[339,4,1,""],is_pruned:[340,4,1,""],l1_unstructured:[341,4,1,""],ln_structured:[342,4,1,""],random_structured:[343,4,1,""],random_unstructured:[344,4,1,""],remove:[345,4,1,""]},"torch.nn.utils.prune.BasePruningMethod":{apply:[329,1,1,""],apply_mask:[329,1,1,""],compute_mask:[329,1,1,""],prune:[329,1,1,""],remove:[329,1,1,""]},"torch.nn.utils.prune.CustomFromMask":{apply:[330,1,1,""],apply_mask:[330,1,1,""],prune:[330,1,1,""],remove:[330,1,1,""]},"torch.nn.utils.prune.Identity":{apply:[331,1,1,""],apply_mask:[331,1,1,""],prune:[331,1,1,""],remove:[331,1,1,""]},"torch.nn.utils.prune.L1Unstructured":{apply:[332,1,1,""],apply_mask:[332,1,1,""],prune:[332,1,1,""],remove:[332,1,1,""]},"torch.nn.utils.prune.LnStructured":{apply:[333,1,1,""],apply_mask:[333,1,1,""],compute_mask:[333,1,1,""],prune:[333,1,1,""],remove:[333,1,1,""]},"torch.nn.utils.prune.PruningContainer":{add_pruning_method:[334,1,1,""],apply:[334,1,1,""],apply_mask:[334,1,1,""],compute_mask:[334,1,1,""],prune:[334,1,1,""],remove:[334,1,1,""]},"torch.nn.utils.prune.RandomStructured":{apply:[335,1,1,""],apply_mask:[335,1,1,""],compute_mask:[335,1,1,""],prune:[335,1,1,""],remove:[335,1,1,""]},"torch.nn.utils.prune.RandomUnstructured":{apply:[336,1,1,""],apply_mask:[336,1,1,""],prune:[336,1,1,""],remove:[336,1,1,""]},"torch.nn.utils.rnn":{PackedSequence:[348,0,1,""],pack_padded_sequence:[349,4,1,""],pack_sequence:[350,4,1,""],pad_packed_sequence:[351,4,1,""],pad_sequence:[352,4,1,""]},"torch.nn.utils.rnn.PackedSequence":{batch_sizes:[348,1,1,""],count:[348,1,1,""],data:[348,1,1,""],index:[348,1,1,""],is_cuda:[348,1,1,""],is_pinned:[348,1,1,""],sorted_indices:[348,1,1,""],to:[348,1,1,""],unsorted_indices:[348,1,1,""]},"torch.onnx":{"export":[485,4,1,""],export_to_pretty_string:[485,4,1,""],is_in_onnx_export:[485,4,1,""],register_custom_op_symbolic:[485,4,1,""],select_model_mode_for_export:[485,4,1,""]},"torch.onnx.operators":{shape_as_tensor:[485,4,1,""]},"torch.optim":{ASGD:[486,0,1,""],Adadelta:[486,0,1,""],Adagrad:[486,0,1,""],Adam:[486,0,1,""],AdamW:[486,0,1,""],Adamax:[486,0,1,""],LBFGS:[486,0,1,""],Optimizer:[486,0,1,""],RMSprop:[486,0,1,""],Rprop:[486,0,1,""],SGD:[486,0,1,""],SparseAdam:[486,0,1,""]},"torch.optim.ASGD":{step:[486,1,1,""]},"torch.optim.Adadelta":{step:[486,1,1,""]},"torch.optim.Adagrad":{step:[486,1,1,""]},"torch.optim.Adam":{step:[486,1,1,""]},"torch.optim.AdamW":{step:[486,1,1,""]},"torch.optim.Adamax":{step:[486,1,1,""]},"torch.optim.LBFGS":{step:[486,1,1,""]},"torch.optim.Optimizer":{add_param_group:[486,1,1,""],load_state_dict:[486,1,1,""],state_dict:[486,1,1,""],step:[486,1,1,""],zero_grad:[486,1,1,""]},"torch.optim.RMSprop":{step:[486,1,1,""]},"torch.optim.Rprop":{step:[486,1,1,""]},"torch.optim.SGD":{step:[486,1,1,""]},"torch.optim.SparseAdam":{step:[486,1,1,""]},"torch.optim.lr_scheduler":{CosineAnnealingLR:[486,0,1,""],CosineAnnealingWarmRestarts:[486,0,1,""],CyclicLR:[486,0,1,""],ExponentialLR:[486,0,1,""],LambdaLR:[486,0,1,""],MultiStepLR:[486,0,1,""],MultiplicativeLR:[486,0,1,""],OneCycleLR:[486,0,1,""],ReduceLROnPlateau:[486,0,1,""],StepLR:[486,0,1,""]},"torch.optim.lr_scheduler.CosineAnnealingWarmRestarts":{step:[486,1,1,""]},"torch.optim.lr_scheduler.CyclicLR":{get_lr:[486,1,1,""]},"torch.optim.lr_scheduler.LambdaLR":{load_state_dict:[486,1,1,""],state_dict:[486,1,1,""]},"torch.optim.lr_scheduler.MultiplicativeLR":{load_state_dict:[486,1,1,""],state_dict:[486,1,1,""]},"torch.quantization":{DeQuantStub:[488,0,1,""],FakeQuantize:[488,0,1,""],HistogramObserver:[488,0,1,""],MinMaxObserver:[488,0,1,""],MovingAverageMinMaxObserver:[488,0,1,""],MovingAveragePerChannelMinMaxObserver:[488,0,1,""],NoopObserver:[488,0,1,""],ObserverBase:[488,0,1,""],PerChannelMinMaxObserver:[488,0,1,""],QConfig:[488,0,1,""],QConfigDynamic:[488,0,1,""],QuantStub:[488,0,1,""],QuantWrapper:[488,0,1,""],RecordingObserver:[488,0,1,""],add_observer_:[488,4,1,""],add_quant_dequant:[488,4,1,""],convert:[488,4,1,""],default_eval_fn:[488,4,1,""],fuse_modules:[488,4,1,""],get_observer_dict:[488,4,1,""],prepare:[488,4,1,""],prepare_qat:[488,4,1,""],propagate_qconfig_:[488,4,1,""],quantize:[488,4,1,""],quantize_dynamic:[488,4,1,""],quantize_qat:[488,4,1,""],swap_module:[488,4,1,""]},"torch.quantization.ObserverBase":{with_args:[488,1,1,""]},"torch.quasirandom":{SobolEngine:[375,0,1,""]},"torch.quasirandom.SobolEngine":{draw:[375,1,1,""],fast_forward:[375,1,1,""],reset:[375,1,1,""]},"torch.random":{fork_rng:[489,4,1,""],get_rng_state:[489,4,1,""],initial_seed:[489,4,1,""],manual_seed:[489,4,1,""],seed:[489,4,1,""],set_rng_state:[489,4,1,""]},"torch.sparse":{FloatTensor:[493,0,1,""],addmm:[493,4,1,""],mm:[493,4,1,""],sum:[493,4,1,""]},"torch.sparse.FloatTensor":{_indices:[493,1,1,""],_nnz:[493,1,1,""],_values:[493,1,1,""],add:[493,1,1,""],add_:[493,1,1,""],clone:[493,1,1,""],coalesce:[493,1,1,""],dim:[493,1,1,""],div:[493,1,1,""],div_:[493,1,1,""],get_device:[493,1,1,""],hspmm:[493,1,1,""],is_coalesced:[493,1,1,""],mm:[493,1,1,""],mul:[493,1,1,""],mul_:[493,1,1,""],narrow_copy:[493,1,1,""],resizeAs_:[493,1,1,""],size:[493,1,1,""],spadd:[493,1,1,""],spmm:[493,1,1,""],sspaddmm:[493,1,1,""],sspmm:[493,1,1,""],sub:[493,1,1,""],sub_:[493,1,1,""],t_:[493,1,1,""],to_dense:[493,1,1,""],transpose:[493,1,1,""],transpose_:[493,1,1,""],zero_:[493,1,1,""]},"torch.torch":{default_generator:[499,2,1,""],device:[495,0,1,""],dtype:[495,0,1,""],finfo:[507,0,1,""],iinfo:[507,0,1,""],layout:[495,0,1,""],memory_format:[495,0,1,""]},"torch.utils":{data:[13,3,0,"-"],model_zoo:[465,3,0,"-"]},"torch.utils.checkpoint":{checkpoint:[4,4,1,""],checkpoint_sequential:[4,4,1,""]},"torch.utils.cpp_extension":{BuildExtension:[9,4,1,""],CUDAExtension:[9,4,1,""],CppExtension:[9,4,1,""],check_compiler_abi_compatibility:[9,4,1,""],include_paths:[9,4,1,""],is_ninja_available:[9,4,1,""],load:[9,4,1,""],load_inline:[9,4,1,""],verify_ninja_availability:[9,4,1,""]},"torch.utils.data":{BatchSampler:[13,0,1,""],ChainDataset:[13,0,1,""],ConcatDataset:[13,0,1,""],DataLoader:[13,0,1,""],Dataset:[13,0,1,""],IterableDataset:[13,0,1,""],RandomSampler:[13,0,1,""],Sampler:[13,0,1,""],SequentialSampler:[13,0,1,""],Subset:[13,0,1,""],SubsetRandomSampler:[13,0,1,""],TensorDataset:[13,0,1,""],WeightedRandomSampler:[13,0,1,""],get_worker_info:[13,4,1,""],random_split:[13,4,1,""]},"torch.utils.data.distributed":{DistributedSampler:[13,0,1,""]},"torch.utils.dlpack":{from_dlpack:[16,4,1,""],to_dlpack:[16,4,1,""]},"torch.utils.mobile_optimizer":{optimize_for_mobile:[464,4,1,""]},"torch.utils.model_zoo":{load_url:[465,4,1,""]},"torchvision.datasets":{CIFAR100:[500,0,1,""],CIFAR10:[500,0,1,""],CelebA:[500,0,1,""],Cityscapes:[500,0,1,""],CocoCaptions:[500,0,1,""],CocoDetection:[500,0,1,""],DatasetFolder:[500,0,1,""],EMNIST:[500,0,1,""],FakeData:[500,0,1,""],FashionMNIST:[500,0,1,""],Flickr30k:[500,0,1,""],Flickr8k:[500,0,1,""],HMDB51:[500,0,1,""],ImageFolder:[500,0,1,""],ImageNet:[500,0,1,""],KMNIST:[500,0,1,""],Kinetics400:[500,0,1,""],LSUN:[500,0,1,""],MNIST:[500,0,1,""],PhotoTour:[500,0,1,""],QMNIST:[500,0,1,""],SBDataset:[500,0,1,""],SBU:[500,0,1,""],STL10:[500,0,1,""],SVHN:[500,0,1,""],UCF101:[500,0,1,""],USPS:[500,0,1,""],VOCDetection:[500,0,1,""],VOCSegmentation:[500,0,1,""]},"torchvision.datasets.CIFAR10":{__getitem__:[500,1,1,""]},"torchvision.datasets.Cityscapes":{__getitem__:[500,1,1,""]},"torchvision.datasets.CocoCaptions":{__getitem__:[500,1,1,""]},"torchvision.datasets.CocoDetection":{__getitem__:[500,1,1,""]},"torchvision.datasets.DatasetFolder":{__getitem__:[500,1,1,""]},"torchvision.datasets.Flickr30k":{__getitem__:[500,1,1,""]},"torchvision.datasets.Flickr8k":{__getitem__:[500,1,1,""]},"torchvision.datasets.ImageFolder":{__getitem__:[500,1,1,""]},"torchvision.datasets.LSUN":{__getitem__:[500,1,1,""]},"torchvision.datasets.PhotoTour":{__getitem__:[500,1,1,""]},"torchvision.datasets.SBU":{__getitem__:[500,1,1,""]},"torchvision.datasets.STL10":{__getitem__:[500,1,1,""]},"torchvision.datasets.SVHN":{__getitem__:[500,1,1,""]},"torchvision.datasets.USPS":{__getitem__:[500,1,1,""]},"torchvision.datasets.VOCDetection":{__getitem__:[500,1,1,""]},"torchvision.datasets.VOCSegmentation":{__getitem__:[500,1,1,""]},"torchvision.io":{read_video:[502,4,1,""],read_video_timestamps:[502,4,1,""],write_video:[502,4,1,""]},"torchvision.models":{alexnet:[503,4,1,""],densenet121:[503,4,1,""],densenet161:[503,4,1,""],densenet169:[503,4,1,""],densenet201:[503,4,1,""],googlenet:[503,4,1,""],inception_v3:[503,4,1,""],mnasnet0_5:[503,4,1,""],mnasnet0_75:[503,4,1,""],mnasnet1_0:[503,4,1,""],mnasnet1_3:[503,4,1,""],mobilenet_v2:[503,4,1,""],resnet101:[503,4,1,""],resnet152:[503,4,1,""],resnet18:[503,4,1,""],resnet34:[503,4,1,""],resnet50:[503,4,1,""],resnext101_32x8d:[503,4,1,""],resnext50_32x4d:[503,4,1,""],shufflenet_v2_x0_5:[503,4,1,""],shufflenet_v2_x1_0:[503,4,1,""],shufflenet_v2_x1_5:[503,4,1,""],shufflenet_v2_x2_0:[503,4,1,""],squeezenet1_0:[503,4,1,""],squeezenet1_1:[503,4,1,""],vgg11:[503,4,1,""],vgg11_bn:[503,4,1,""],vgg13:[503,4,1,""],vgg13_bn:[503,4,1,""],vgg16:[503,4,1,""],vgg16_bn:[503,4,1,""],vgg19:[503,4,1,""],vgg19_bn:[503,4,1,""],wide_resnet101_2:[503,4,1,""],wide_resnet50_2:[503,4,1,""]},"torchvision.models.detection":{fasterrcnn_resnet50_fpn:[503,4,1,""],keypointrcnn_resnet50_fpn:[503,4,1,""],maskrcnn_resnet50_fpn:[503,4,1,""]},"torchvision.models.segmentation":{deeplabv3_resnet101:[503,4,1,""],deeplabv3_resnet50:[503,4,1,""],fcn_resnet101:[503,4,1,""],fcn_resnet50:[503,4,1,""]},"torchvision.models.video":{mc3_18:[503,4,1,""],r2plus1d_18:[503,4,1,""],r3d_18:[503,4,1,""]},"torchvision.ops":{DeformConv2d:[504,0,1,""],FeaturePyramidNetwork:[504,0,1,""],MultiScaleRoIAlign:[504,0,1,""],PSRoIAlign:[504,0,1,""],PSRoIPool:[504,0,1,""],RoIAlign:[504,0,1,""],RoIPool:[504,0,1,""],deform_conv2d:[504,4,1,""],nms:[504,4,1,""],ps_roi_align:[504,4,1,""],ps_roi_pool:[504,4,1,""],roi_align:[504,4,1,""],roi_pool:[504,4,1,""]},"torchvision.transforms":{CenterCrop:[505,0,1,""],ColorJitter:[505,0,1,""],Compose:[505,0,1,""],FiveCrop:[505,0,1,""],Grayscale:[505,0,1,""],Lambda:[505,0,1,""],LinearTransformation:[505,0,1,""],Normalize:[505,0,1,""],Pad:[505,0,1,""],RandomAffine:[505,0,1,""],RandomApply:[505,0,1,""],RandomChoice:[505,0,1,""],RandomCrop:[505,0,1,""],RandomErasing:[505,0,1,""],RandomGrayscale:[505,0,1,""],RandomHorizontalFlip:[505,0,1,""],RandomOrder:[505,0,1,""],RandomPerspective:[505,0,1,""],RandomResizedCrop:[505,0,1,""],RandomRotation:[505,0,1,""],RandomSizedCrop:[505,0,1,""],RandomVerticalFlip:[505,0,1,""],Resize:[505,0,1,""],Scale:[505,0,1,""],TenCrop:[505,0,1,""],ToPILImage:[505,0,1,""],ToTensor:[505,0,1,""],functional:[505,3,0,"-"]},"torchvision.transforms.Normalize":{__call__:[505,1,1,""]},"torchvision.transforms.ToPILImage":{__call__:[505,1,1,""]},"torchvision.transforms.ToTensor":{__call__:[505,1,1,""]},"torchvision.transforms.functional":{adjust_brightness:[505,4,1,""],adjust_contrast:[505,4,1,""],adjust_gamma:[505,4,1,""],adjust_hue:[505,4,1,""],adjust_saturation:[505,4,1,""],affine:[505,4,1,""],center_crop:[505,4,1,""],convert_image_dtype:[505,4,1,""],crop:[505,4,1,""],erase:[505,4,1,""],five_crop:[505,4,1,""],hflip:[505,4,1,""],normalize:[505,4,1,""],pad:[505,4,1,""],perspective:[505,4,1,""],pil_to_tensor:[505,4,1,""],resize:[505,4,1,""],resized_crop:[505,4,1,""],rotate:[505,4,1,""],ten_crop:[505,4,1,""],to_grayscale:[505,4,1,""],to_pil_image:[505,4,1,""],to_tensor:[505,4,1,""],vflip:[505,4,1,""]},"torchvision.utils":{make_grid:[506,4,1,""],save_image:[506,4,1,""]},torch:{"var":[450,4,1,""],BoolTensor:[498,0,1,""],FloatStorage:[494,0,1,""],Generator:[18,0,1,""],Tensor:[498,0,1,""],__config__:[0,3,0,"-"],abs:[19,4,1,""],absolute:[20,4,1,""],acos:[21,4,1,""],acosh:[22,4,1,""],add:[23,4,1,""],addbmm:[24,4,1,""],addcdiv:[25,4,1,""],addcmul:[26,4,1,""],addmm:[27,4,1,""],addmv:[28,4,1,""],addr:[29,4,1,""],allclose:[30,4,1,""],angle:[31,4,1,""],arange:[32,4,1,""],argmax:[33,4,1,""],argmin:[34,4,1,""],argsort:[35,4,1,""],as_strided:[36,4,1,""],as_tensor:[37,4,1,""],asin:[38,4,1,""],asinh:[39,4,1,""],atan2:[41,4,1,""],atan:[40,4,1,""],atanh:[42,4,1,""],autograd:[2,3,0,"-"],baddbmm:[43,4,1,""],bartlett_window:[44,4,1,""],bernoulli:[45,4,1,""],bincount:[46,4,1,""],bitwise_and:[47,4,1,""],bitwise_not:[48,4,1,""],bitwise_or:[49,4,1,""],bitwise_xor:[50,4,1,""],blackman_window:[51,4,1,""],block_diag:[52,4,1,""],bmm:[53,4,1,""],broadcast_tensors:[54,4,1,""],bucketize:[55,4,1,""],can_cast:[56,4,1,""],cartesian_prod:[57,4,1,""],cat:[58,4,1,""],cdist:[59,4,1,""],ceil:[60,4,1,""],chain_matmul:[61,4,1,""],cholesky:[62,4,1,""],cholesky_inverse:[63,4,1,""],cholesky_solve:[64,4,1,""],chunk:[65,4,1,""],clamp:[66,4,1,""],combinations:[67,4,1,""],compiled_with_cxx11_abi:[68,4,1,""],conj:[69,4,1,""],cos:[70,4,1,""],cosh:[71,4,1,""],cross:[72,4,1,""],cuda:[11,3,0,"-"],cummax:[73,4,1,""],cummin:[74,4,1,""],cumprod:[75,4,1,""],cumsum:[76,4,1,""],deg2rad:[77,4,1,""],dequantize:[78,4,1,""],det:[79,4,1,""],diag:[80,4,1,""],diag_embed:[81,4,1,""],diagflat:[82,4,1,""],diagonal:[83,4,1,""],digamma:[84,4,1,""],dist:[85,4,1,""],distributed:[14,3,0,"-"],distributions:[15,3,0,"-"],div:[86,4,1,""],dot:[87,4,1,""],eig:[88,4,1,""],einsum:[89,4,1,""],empty:[90,4,1,""],empty_like:[91,4,1,""],empty_strided:[92,4,1,""],enable_grad:[93,0,1,""],eq:[94,4,1,""],equal:[95,4,1,""],erf:[96,4,1,""],erfc:[97,4,1,""],erfinv:[98,4,1,""],exp:[99,4,1,""],expm1:[100,4,1,""],eye:[101,4,1,""],fft:[102,4,1,""],flatten:[103,4,1,""],flip:[104,4,1,""],fliplr:[105,4,1,""],flipud:[106,4,1,""],floor:[107,4,1,""],floor_divide:[108,4,1,""],fmod:[109,4,1,""],frac:[110,4,1,""],from_numpy:[111,4,1,""],full:[112,4,1,""],full_like:[113,4,1,""],futures:[17,3,0,"-"],gather:[114,4,1,""],ge:[115,4,1,""],geqrf:[116,4,1,""],ger:[117,4,1,""],get_default_dtype:[118,4,1,""],get_num_interop_threads:[119,4,1,""],get_num_threads:[120,4,1,""],get_rng_state:[121,4,1,""],gt:[122,4,1,""],hamming_window:[123,4,1,""],hann_window:[124,4,1,""],histc:[125,4,1,""],hub:[457,3,0,"-"],ifft:[126,4,1,""],imag:[127,4,1,""],index_select:[128,4,1,""],initial_seed:[129,4,1,""],inverse:[130,4,1,""],irfft:[131,4,1,""],is_complex:[132,4,1,""],is_floating_point:[133,4,1,""],is_nonzero:[134,4,1,""],is_storage:[135,4,1,""],is_tensor:[136,4,1,""],isclose:[137,4,1,""],isfinite:[138,4,1,""],isinf:[139,4,1,""],isnan:[140,4,1,""],istft:[141,4,1,""],jit:[459,3,0,"-"],kthvalue:[154,4,1,""],le:[155,4,1,""],lerp:[156,4,1,""],lgamma:[157,4,1,""],linspace:[158,4,1,""],load:[159,4,1,""],lobpcg:[160,4,1,""],log10:[162,4,1,""],log1p:[163,4,1,""],log2:[164,4,1,""],log:[161,4,1,""],logaddexp2:[166,4,1,""],logaddexp:[165,4,1,""],logcumsumexp:[167,4,1,""],logdet:[168,4,1,""],logical_and:[169,4,1,""],logical_not:[170,4,1,""],logical_or:[171,4,1,""],logical_xor:[172,4,1,""],logspace:[173,4,1,""],logsumexp:[174,4,1,""],lstsq:[175,4,1,""],lt:[176,4,1,""],lu:[177,4,1,""],lu_solve:[178,4,1,""],lu_unpack:[179,4,1,""],manual_seed:[180,4,1,""],masked_select:[181,4,1,""],matmul:[182,4,1,""],matrix_power:[183,4,1,""],matrix_rank:[184,4,1,""],max:[185,4,1,""],mean:[186,4,1,""],median:[187,4,1,""],meshgrid:[188,4,1,""],min:[189,4,1,""],mm:[190,4,1,""],mode:[191,4,1,""],mul:[192,4,1,""],multinomial:[193,4,1,""],multiprocessing:[466,3,0,"-"],mv:[194,4,1,""],mvlgamma:[195,4,1,""],narrow:[196,4,1,""],ne:[197,4,1,""],neg:[198,4,1,""],no_grad:[356,0,1,""],nonzero:[357,4,1,""],norm:[358,4,1,""],normal:[359,4,1,""],numel:[360,4,1,""],ones:[361,4,1,""],ones_like:[362,4,1,""],onnx:[485,3,0,"-"],optim:[486,3,0,"-"],orgqr:[363,4,1,""],ormqr:[364,4,1,""],pca_lowrank:[365,4,1,""],pinverse:[366,4,1,""],poisson:[367,4,1,""],polygamma:[368,4,1,""],pow:[369,4,1,""],prod:[370,4,1,""],promote_types:[371,4,1,""],qr:[372,4,1,""],quantization:[488,3,0,"-"],quantize_per_channel:[373,4,1,""],quantize_per_tensor:[374,4,1,""],rad2deg:[376,4,1,""],rand:[377,4,1,""],rand_like:[378,4,1,""],randint:[379,4,1,""],randint_like:[380,4,1,""],randn:[381,4,1,""],randn_like:[382,4,1,""],random:[489,3,0,"-"],randperm:[383,4,1,""],range:[384,4,1,""],real:[385,4,1,""],reciprocal:[386,4,1,""],remainder:[387,4,1,""],renorm:[388,4,1,""],repeat_interleave:[389,4,1,""],reshape:[390,4,1,""],result_type:[391,4,1,""],rfft:[392,4,1,""],roll:[393,4,1,""],rot90:[394,4,1,""],round:[395,4,1,""],rsqrt:[396,4,1,""],save:[397,4,1,""],searchsorted:[398,4,1,""],seed:[399,4,1,""],set_default_dtype:[400,4,1,""],set_default_tensor_type:[401,4,1,""],set_flush_denormal:[402,4,1,""],set_grad_enabled:[403,0,1,""],set_num_interop_threads:[404,4,1,""],set_num_threads:[405,4,1,""],set_printoptions:[406,4,1,""],set_rng_state:[407,4,1,""],sigmoid:[408,4,1,""],sign:[409,4,1,""],sin:[410,4,1,""],sinh:[411,4,1,""],slogdet:[412,4,1,""],solve:[413,4,1,""],sort:[414,4,1,""],sparse_coo_tensor:[415,4,1,""],split:[416,4,1,""],sqrt:[417,4,1,""],square:[418,4,1,""],squeeze:[419,4,1,""],stack:[420,4,1,""],std:[421,4,1,""],std_mean:[422,4,1,""],stft:[423,4,1,""],sum:[424,4,1,""],svd:[425,4,1,""],svd_lowrank:[426,4,1,""],symeig:[427,4,1,""],t:[428,4,1,""],take:[429,4,1,""],tan:[430,4,1,""],tanh:[431,4,1,""],tensor:[432,4,1,""],tensordot:[433,4,1,""],topk:[434,4,1,""],trace:[435,4,1,""],transpose:[436,4,1,""],trapz:[437,4,1,""],triangular_solve:[438,4,1,""],tril:[439,4,1,""],tril_indices:[440,4,1,""],triu:[441,4,1,""],triu_indices:[442,4,1,""],true_divide:[443,4,1,""],trunc:[444,4,1,""],unbind:[445,4,1,""],unique:[446,4,1,""],unique_consecutive:[447,4,1,""],unsqueeze:[448,4,1,""],vander:[449,4,1,""],var_mean:[451,4,1,""],view_as_complex:[452,4,1,""],view_as_real:[453,4,1,""],where:[454,4,1,""],zeros:[455,4,1,""],zeros_like:[456,4,1,""]},torchvision:{get_image_backend:[501,4,1,""],set_image_backend:[501,4,1,""],set_video_backend:[501,4,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","module","Python module"],"4":["py","function","Python function"],"5":["std","envvar","environment variable"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute","3":"py:module","4":"py:function","5":"std:envvar"},terms:{"00000e":[90,178,413],"0000e":[92,165,173,366,498],"0303j":8,"041m":2,"048m":2,"0545e":498,"0633j":[127,385,498],"0705e":92,"0949e":498,"10k":500,"10x7":[200,204],"1239e":92,"1269e":165,"13x12":239,"1421j":8,"1428e":91,"148m":2,"1548e":366,"1681j":8,"16x112x112":503,"17m1129830":160,"1918j":8,"1921e":[130,366],"1cycl":486,"1e4":486,"1e6":486,"1hr":5,"1mb":11,"1st":[15,474],"1x1":503,"20l":[143,237,273],"224x224":503,"2352e":366,"2gb":[457,485],"2nd":[15,281,304,470,474,498],"2x2":473,"2x3":[319,493],"3121e":366,"3136j":453,"32x4d":503,"32x8d":503,"3487j":8,"3493e":91,"3553j":[127,385,498],"3839j":453,"3842e":62,"3rd":[474,486,498,501],"3x4":319,"4064e":91,"427l":500,"483m":2,"4842e":[92,498],"4901e":366,"4th":[474,500],"4us":2,"50k":500,"50x":503,"5390e":366,"5751e":91,"5765e":498,"5772j":452,"5874j":8,"5955e":91,"5c106cde":[457,465],"5mb":503,"5x2":493,"5x7":[200,204],"5x7x9":[201,205],"60k":500,"60s":490,"6391e":366,"640l":500,"6503e":425,"6531e":425,"6623j":452,"6699j":453,"727m":2,"7497j":452,"7567e":366,"7896j":[127,385,498],"7981j":8,"7x7":[200,204],"7x7x7":[201,205],"7x9x8":[201,205],"8000e":91,"8119j":[127,385,498],"816u":2,"8182e":498,"88131e":402,"8b3f7e2e7a0f2aba0e629e23d89f07c7fc0e6a5":485,"9073e":[130,319],"9120j":452,"9407e":366,"9451j":453,"9683e":92,"9802e":[179,366],"\u2102":473,"\u211d":473,"abstract":[13,15,329,477,488,490],"boolean":[2,11,15,47,48,49,50,67,137,138,139,140,160,181,212,213,214,235,236,243,250,251,252,259,309,427,434,461,462,470,478,486,495,498,500,505],"break":[2,5,15,406,462,483,486],"byte":[11,15,142,159,279,461,462,467,486,494,498],"case":[1,2,3,8,9,10,11,13,14,32,44,46,66,79,89,130,131,134,143,150,159,160,165,168,175,177,193,202,207,208,209,210,211,221,222,223,225,226,227,229,232,233,236,237,238,241,244,245,246,247,248,253,254,255,256,257,260,265,267,268,269,273,280,281,287,290,301,307,312,319,324,357,390,398,412,415,426,443,454,457,466,467,468,470,471,472,473,474,475,476,478,479,481,483,485,486,488,489,490,491,492,493,496,498,500,504,505,507],"catch":459,"char":[467,494,498],"ciss\u00e9":202,"class":[1,2,10,11,13,14,15,17,18,93,142,143,144,145,146,148,149,150,151,152,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,329,330,331,332,333,334,335,336,348,356,375,403,460,462,466,468,470,472,478,479,481,482,483,485,486,488,490,491,493,494,495,497,498,500,503,504,505,507],"const":[480,485],"default":[1,4,8,9,11,14,30,32,37,44,51,53,55,59,62,63,64,72,75,76,81,82,83,90,91,92,101,102,112,113,118,123,124,126,131,137,141,143,145,149,150,151,158,159,160,173,177,184,185,187,191,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,222,223,224,225,226,227,228,229,230,231,234,235,236,237,238,239,241,242,243,244,247,248,250,251,252,253,254,255,256,257,258,259,260,261,262,265,266,267,268,269,270,271,272,273,276,277,278,279,280,281,282,286,287,289,290,291,292,298,301,302,306,307,309,312,313,315,317,318,319,320,324,325,329,330,331,332,333,334,335,336,349,350,352,353,355,357,358,361,362,365,366,370,375,377,378,379,380,381,382,383,384,389,392,397,398,400,401,406,415,423,424,425,426,427,432,437,438,440,442,443,446,447,449,455,456,457,459,464,465,466,470,471,472,473,475,476,477,478,479,484,485,486,488,489,490,493,494,497,498,499,500,502,503,504,505,506,507],"enum":[14,485,490],"export":[2,10,11,14,16,144,146,149,152,349,350,459,461,478,490,503],"final":[14,15,24,27,28,43,57,67,159,241,257,287,459,461,462,467,478,488,491,492,503,505,506],"float":[1,2,8,13,15,25,30,32,44,45,51,56,85,94,109,115,118,122,123,124,133,137,138,139,140,143,150,151,155,156,158,160,165,173,176,184,193,197,202,206,216,218,219,220,227,228,231,232,233,234,235,236,237,243,244,247,248,250,251,252,255,256,259,260,262,266,273,278,281,282,286,288,290,293,294,295,296,307,309,312,313,318,320,321,322,326,327,332,333,335,336,338,341,342,343,344,351,352,353,358,359,366,369,373,374,384,387,388,400,401,402,406,437,443,459,460,461,462,466,467,469,470,472,478,479,482,485,486,488,490,494,495,498,502,504,505,506,507],"function":[1,4,5,8,9,10,11,13,17,18,30,36,44,51,53,59,61,81,83,84,87,89,93,96,97,98,102,116,117,123,124,126,130,131,136,141,142,143,144,146,148,149,150,152,157,159,160,163,165,173,177,182,185,187,189,190,191,194,195,206,210,216,217,218,219,220,227,231,234,237,240,241,242,244,245,246,247,248,255,256,257,258,260,263,264,266,273,278,281,287,290,291,292,293,294,295,296,297,300,303,305,306,307,308,309,310,311,313,315,317,318,319,321,323,324,338,348,349,352,356,359,362,363,364,365,366,368,372,375,384,387,392,403,413,423,425,427,437,446,447,452,453,456,457,458,462,465,466,468,471,474,476,477,478,479,480,482,486,489,490,491,492,495,498,499,500,501,502,503],"herv\u00e9":202,"import":[2,5,6,9,11,13,14,17,52,141,144,145,146,147,148,149,150,151,152,273,324,350,351,352,358,459,461,462,466,472,473,475,476,477,478,479,480,481,482,485,486,488,490,491,492,495,497,498,500,503,505],"int":[1,11,13,14,15,18,33,34,35,36,44,46,51,56,58,65,67,72,73,74,75,76,80,81,82,83,90,92,101,102,103,112,114,119,120,123,124,125,126,128,131,141,143,144,154,158,160,167,173,174,180,183,185,186,187,189,191,193,195,196,200,201,202,204,205,207,208,209,215,217,218,219,220,221,222,223,224,225,226,228,229,230,235,236,237,238,242,243,250,251,252,255,256,258,259,261,262,264,268,269,270,271,272,273,275,278,280,281,284,285,288,289,293,294,295,296,297,303,305,306,309,313,318,319,320,321,322,323,324,326,327,332,333,335,336,338,341,342,343,344,351,353,355,358,359,360,361,365,368,370,373,374,375,377,379,380,381,383,388,389,390,391,392,393,394,404,405,414,416,419,420,421,422,423,424,426,433,434,436,437,439,440,441,442,443,445,446,447,448,449,450,451,455,459,460,461,462,466,467,470,484,485,486,488,489,490,493,494,495,498,500,502,503,504,505,506,507],"j\u00e9gou":202,"long":[2,5,6,13,112,129,191,217,229,257,258,280,371,440,442,446,466,467,468,470,474,478,479,481,485,488,489,494,495,498],"new":[1,2,4,6,11,13,14,15,17,21,22,23,37,38,39,40,41,42,55,60,70,71,77,81,86,99,100,105,106,107,127,128,137,138,139,140,143,149,161,162,163,164,181,192,196,198,212,213,214,237,241,250,251,252,273,274,279,283,309,329,333,334,335,337,338,339,341,342,343,344,352,376,385,386,390,395,396,397,398,400,401,408,409,410,411,417,418,420,429,430,431,444,448,452,453,457,459,461,464,466,467,468,470,473,476,478,480,481,483,484,486,488,492,494,496,498,504],"return":[0,1,2,4,8,9,11,13,14,15,16,17,18,21,22,23,32,33,34,35,36,37,38,39,40,41,42,44,45,46,51,52,55,57,60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,78,80,81,82,83,85,86,88,90,91,92,93,94,99,100,101,102,105,106,107,108,111,112,113,115,116,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,196,197,198,202,203,204,205,210,211,227,228,229,230,236,237,239,248,253,254,264,265,266,267,268,269,273,274,275,276,277,278,280,283,284,286,301,302,303,304,305,309,318,324,326,328,329,330,331,332,333,334,335,336,337,339,340,341,342,343,344,348,349,350,351,352,353,355,356,357,358,359,360,361,362,363,365,366,367,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,388,389,390,391,392,395,396,398,399,402,408,409,410,411,412,413,414,415,417,418,419,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,444,445,446,447,448,449,450,451,452,453,454,455,456,457,459,462,464,465,466,468,470,471,472,473,475,476,478,480,484,485,486,488,489,490,491,493,494,495,496,498,499,500,502,503,504,505,507],"short":[141,217,257,258,406,423,461,467,470,474,488,490,494,495,498,505],"static":[2,459,460,461,480,485,488,490,494],"super":[13,144,145,149,150,151,152,273,274,275,283,284,285,459,461,462,478,485,486],"switch":[8,13,397,466,470,473,483,503],"throw":[17,134,177,351,490,498],"transient":492,"true":[1,2,4,9,11,13,14,15,25,30,37,44,46,47,49,50,51,55,56,62,63,64,67,86,88,93,94,95,102,114,115,122,123,124,126,131,132,133,134,135,136,137,138,139,140,141,143,146,150,151,152,154,155,160,169,170,171,172,174,176,177,179,181,184,185,186,187,189,191,193,197,202,203,204,205,206,207,208,209,210,211,212,213,214,215,217,221,222,223,224,225,226,227,229,231,232,233,235,236,237,239,241,242,243,248,250,251,252,253,254,255,256,257,258,259,261,265,266,267,268,269,270,271,272,273,276,277,278,279,280,282,286,287,288,289,301,302,309,313,318,320,321,324,325,340,348,349,350,351,352,353,355,356,357,364,365,370,372,375,392,397,398,402,403,406,414,421,422,423,424,425,427,432,434,438,443,446,447,449,450,451,454,457,460,461,465,466,467,468,470,472,473,474,476,477,478,479,480,482,485,486,488,489,490,491,493,494,495,496,497,498,499,500,503,504,505,506],"try":[3,5,14,46,146,150,217,221,222,223,224,225,226,320,324,457,459,462,470,473,478,479,481,485,486,490,498,505],"var":[2,212,213,214,243,250,251,252,259,309,460,467,498],"void":[18,480],"while":[1,6,13,14,15,41,143,144,150,151,202,237,250,251,252,273,279,313,324,337,338,339,341,342,343,344,358,372,462,468,470,472,473,476,479,481,486,488,490,492,496,497,498,505],AND:[47,169],Abs:485,And:[73,74,154,185,187,189,217,473,484,488,505],But:[2,5,150,473,478,479,496,498],Doing:10,For:[1,2,3,4,5,6,8,9,10,11,13,14,15,24,25,26,27,28,29,43,47,48,49,50,53,75,76,102,114,126,131,143,148,149,150,151,160,167,174,182,183,185,187,189,190,202,206,210,211,218,219,220,221,222,223,224,225,226,230,236,237,238,241,257,273,276,277,278,286,287,293,294,295,296,297,306,319,323,324,348,349,350,352,392,415,419,452,453,457,459,463,467,468,470,472,473,474,475,476,478,479,481,485,486,488,490,491,492,493,494,495,496,497,498,500,503,505],Going:503,Has:[248,266,278,320,373,374,420,470,488],IDs:489,Its:[143,237,273,477,486],NFS:14,NMS:504,NOT:[14,48,170,329,330,331,332,333,334,335,336,345,485,492,493],Not:[459,461,462,478,488],One:[9,14,52,320,379,380,459,468,470,474,475,478,480,482,486,492,500,503],Ops:[3,476,498],PRs:[5,6],RHS:178,Such:[9,13,425,427,449],That:[175,464,478,479,490,505],The:[1,2,4,6,8,9,10,11,13,14,15,16,17,18,22,23,25,26,27,28,30,41,42,44,45,46,47,48,49,50,51,56,57,63,67,80,81,82,83,85,86,88,89,90,92,94,96,97,98,102,109,111,115,122,123,124,125,126,127,128,131,141,143,144,146,147,148,149,150,151,155,156,158,159,160,173,174,175,176,177,178,180,181,182,184,185,187,189,192,193,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,217,221,222,223,224,225,226,227,229,230,235,236,237,238,239,241,242,243,247,248,250,251,252,253,254,256,257,258,259,261,264,265,266,268,269,273,276,278,280,286,287,289,290,301,309,312,313,318,319,320,324,326,327,328,329,330,331,332,333,334,335,336,339,345,351,353,355,357,358,359,365,366,369,372,375,377,379,381,385,387,389,392,393,397,400,401,406,407,415,419,425,426,427,429,432,433,434,436,437,439,440,441,442,448,449,452,454,457,459,460,461,462,463,464,465,466,467,468,470,471,472,473,474,475,476,477,478,479,480,481,483,484,485,486,488,489,490,491,492,494,495,497,498,499,500,501,502,503,504,505,506,507],Then:[2,238,319,474,477,478,483,485,486,490,491,505],There:[2,5,6,14,89,230,457,459,461,468,473,476,478,479,480,481,482,483,484,485,488,490,492,498,499],These:[1,9,10,13,14,15,141,143,202,459,460,461,467,468,469,472,477,478,485,490,491,493,495,499,500,503,505],Use:[2,11,13,14,86,102,126,131,152,230,303,309,324,392,467,468,470,481,488,490,491,498,505],Used:[13,18,400,488,495],Useful:[11,203,204,205,239,267,268,269,495,498],Uses:[11,462],Using:[2,13,15,136,150,232,233,285,324,459,478,481,485,486,490],WITH:485,Will:[7,14,415,461,468,488,505],With:[13,15,151,212,213,214,222,223,225,226,235,250,251,252,259,309,320,462,470,476,478,485,486,488,490],Yes:485,__and__:460,__array_function__:478,__background__:503,__bool__:460,__bytes__:462,__call__:505,__config__:[458,475],__constants__:[459,461],__del__:462,__dict__:486,__file__:[457,484],__float__:460,__format__:462,__getitem__:[13,500],__hash__:462,__hex__:460,__iand__:460,__ilshift__:460,__init__:[2,13,15,144,145,149,150,151,152,273,274,275,283,284,459,461,478,479,485,505],__int__:460,__ior__:460,__irshift__:460,__iter__:[13,462],__ixor__:460,__len__:[13,460,500],__lshift__:460,__main__:[13,474,477,481,484,491],__matmul__:1,__name__:[13,477,478,481,484,491],__new__:[461,462],__oct__:460,__or__:460,__pow__:1,__r:462,__rdiv__:1,__repr__:478,__rpow__:1,__rshift__:460,__rtruediv__:1,__slots__:462,__str__:460,__torch__:460,__xor__:460,_audio_channel:500,_audio_sampl:500,_back:[220,297,470],_bottom:[219,220,294,296,297,323,470],_call:15,_caller:489,_cat:15,_channel:[221,222,223,224,225,226,243,470,488],_class:202,_compilation_unit:[150,151],_contextmethodmixin:2,_dependentproperti:15,_devices_kw:489,_dim:235,_direct:[241,287],_ext:484,_extra_fil:[142,143,147,148,480],_factor:[285,320,321,322],_featur:[202,215,261,470,488],_fft:423,_force_outplac:[150,151],_fork:475,_formatt:406,_forward_cl:2,_frames_up:149,_front:[220,297,470],_glibcxx_use_cxx11_abi:68,_greaterthan:15,_greaterthaneq:15,_growth_track:1,_halfopeninterv:15,_if_scalar_type_a:485,_in:471,_index:280,_indic:[415,493],_instanc:15,_integerinterv:15,_interv:15,_invers:15,_key_padding_mask:313,_layer:[241,287],_left:[218,219,220,293,294,295,296,297,323,470],_length:[44,51,123,124,141,217,423],_lessthan:15,_like:498,_load_from_state_dict:273,_log_api_usage_onc:480,_mask:[313,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345],_metadata:[273,478],_mode:471,_module_class:[150,151],_nn:460,_nnz:493,_onnx_master_opset:485,_onnx_stable_opset:485,_orig:[329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345],_out:471,_overrid:478,_pad:[224,225,226],_precomputed_metadata:500,_random_sampl:[239,460],_rcb:149,_resnet18:457,_retain_param_nam:485,_right:[218,219,220,293,294,295,296,297,323,470],_run_process:491,_safe_foo:9,_sampl:193,_scalar:485,_set_rpc_timeout:490,_shape:259,_size:[207,208,209,221,222,223,224,225,226,238,241,242,255,256,257,258,267,268,269,270,271,272,287,289,319],_slope:[260,470,471],_stack:15,_stacklevel:[460,470],_sync_param:477,_tensor:498,_tensor_str:406,_top:[219,220,294,296,297,323,470],_use_new_zipfile_seri:[397,483],_valu:[202,327,415,478,493],_video_height:500,_video_min_dimens:500,_video_width:500,_wait:475,_weight:[235,236],_with_arg:488,a3c:481,a_big:[425,427],a_dict:461,a_float32:1,a_i:318,a_l:179,a_lu:[177,178,179],a_tupl:461,a_u:179,abbrevi:11,abc:348,abi:[9,10],abil:[6,397,480,483],abl:[5,148,313,366,459,467,478,485,488,490],abnorm:[466,481],about:[2,6,11,13,348,457,459,461,473,475,478,479,480,481,485,490,491,492,496,498,504,505],abov:[2,10,14,15,44,51,80,81,82,83,123,124,160,210,238,306,319,359,379,380,406,423,437,439,440,441,442,457,459,461,473,474,475,476,478,482,485,486,491,492,500,505],abridg:479,abruptli:466,abs:[15,20,59,62,130,160,291,313,319,355,358,365,460,467,468,470,485,486,498,503],abs_:[460,467,498],absent:477,absolut:[2,6,8,9,19,30,137,254,301,332,333,335,336,338,341,342,343,344,412,460,470,485,498,505],absolute_:[460,498],abstransform:15,acc:503,acceler:[5,212,213,214,309,486],accept:[2,5,6,14,111,143,145,229,237,273,280,334,348,349,468,478,485,486,488,490,495,498],access:[2,6,13,14,143,144,150,202,237,273,349,459,460,462,464,466,468,473,476,479,480,490,495,496,498,507],accident:5,accimag:501,accommod:[270,271,272],accompani:5,accomplish:5,accord:[2,45,54,181,193,202,236,329,330,331,332,333,334,335,336,416,468,471,484,485,486,492,500,503,504],accordingli:[473,490,498,500,503,505],accordinli:490,account:[3,324,475],accumul:[1,2,24,324,459,460,473,477,479,490,491,498],accumulategrad:[2,473],accur:[11,163,375,476,485,491],accuraci:[1,472,488,497,503],achiev:[13,14,15,217,280,470,480,485,490,492],ack:492,acknowledg:492,aco:[1,460,467,485,498],acos_:[460,467,498],acosh:[460,467,498],acosh_:[460,467,498],acquaint:5,acquir:492,across:[2,11,13,14,33,34,148,150,229,230,238,262,281,309,319,324,334,338,372,459,467,470,473,476,477,479,480,481,482,488,490,491,494,498,500],act:[15,211,274,275,284,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,488,505],action:[6,15,473,476,492,500,503],activ:[2,4,5,11,206,232,233,243,259,274,290,313,315,317,464,466,478,488,490],activation_post_process:488,active_byt:11,actual:[2,150,224,225,226,339,457,461,467,473,476,477,478,481,484,485,486,488],actual_input_1:485,acycl:473,adadelta:486,adagrad:[235,486,490],adam:[6,7,15,486],adamax:486,adamw:486,adapt:[199,200,201,202,203,204,205,231,375,470,486,488,504],adaptive_avg_pool1d:[460,478,485],adaptive_avg_pool2d:[460,478,485,488],adaptive_avg_pool3d:[460,478,485],adaptive_max_pool1d:[460,478,485],adaptive_max_pool1d_with_indic:[460,478],adaptive_max_pool2d:[460,485],adaptive_max_pool2d_with_indic:460,adaptive_max_pool3d:[460,485],adaptive_max_pool3d_with_indic:460,adaptiveavgpool1d:470,adaptiveavgpool2d:[470,488],adaptiveavgpool3d:470,adaptivelogsoftmaxwithloss:463,adaptivemaxpool1d:470,adaptivemaxpool2d:[200,470],adaptivemaxpool3d:[201,470],add:[1,2,5,8,10,11,17,24,25,26,29,143,149,202,217,221,222,223,224,225,226,237,273,275,279,280,284,286,324,329,330,331,332,333,334,335,336,457,459,460,461,467,470,472,474,475,478,480,485,486,488,490,491,492,493,495,496,498,503,504],add_:[2,460,467,474,493,498],add_argu:[14,476],add_bias_kv:279,add_graph:497,add_imag:497,add_modul:[143,237,273],add_observer_:488,add_param_group:486,add_pruning_method:334,add_quant_dequ:488,add_relu:488,add_scalar:[488,497],add_zero_attn:[279,460],addbmm:[1,43,460,498],addbmm_:[460,498],addcdiv:[1,460,498],addcdiv_:[460,498],addcmul:[1,460,498],addcmul_:[460,498],added:[5,9,17,23,24,25,26,27,28,29,43,143,207,208,209,212,213,214,221,222,223,224,225,226,237,238,243,250,251,252,259,267,268,269,270,271,272,273,279,286,299,309,313,319,324,325,334,459,461,470,480,485,486,488,493,498,504],adder:2,addglobalcallback:480,adding:[13,14,32,165,211,280,337,338,339,341,342,343,344,457,459,461,468,472,478,485,486,488,498],addit:[1,2,5,6,9,10,11,15,141,143,145,202,210,211,212,213,214,215,216,224,225,226,234,236,237,240,244,245,246,247,250,251,252,253,254,260,261,262,263,264,265,270,271,272,273,281,286,290,291,292,298,300,301,302,303,305,306,307,308,309,310,311,312,313,324,425,446,447,452,459,461,467,468,470,475,476,478,480,481,482,484,486,488,490,491,492,493,496,498],addition:[2,13,14,15,145,202,250,251,252,479,482,498,499,505],addmm:[1,460,467,485,493,498],addmm_:[1,460,467,498],addmv:[1,460,467,498],addmv_:[460,467,498],addr:[1,460,498],addr_:[460,498],address:[2,13,14,466,490,491,498,503],adequ:488,adher:6,adjac:[32,52,232,233,384],adjust:[14,247,475,505],adjust_bright:505,adjust_contrast:505,adjust_gamma:505,adjust_hu:505,adjust_satur:505,admit:476,adopt:[6,488],advanc:[4,10,313,315,317,357,468,473,476,481,485,496],advantag:[14,211,479,490],adventur:485,adversari:353,advic:5,advis:[32,36,481,498],advisori:5,aeroplan:503,affect:[1,2,5,11,93,118,143,237,273,320,356,403,470,472,488,494],affin:[15,212,213,214,243,250,251,252,259,309,470,473,488,498,505],affine_grid:460,affine_grid_gener:460,affinetransform:15,aforement:481,afram:502,after:[1,2,5,9,11,13,14,89,134,143,182,230,237,273,276,324,329,333,335,457,461,466,470,471,472,476,477,479,480,481,483,486,488,490,491,492,495,498,504,505],afterward:[2,235],again:[1,4,13,14,193,500],against:[2,3,14,32,150,151,488,505],agent:490,aggreg:[14,236,338,470,503],aggress:[2,141,473],agnost:[468,470],agre:492,ahead:[5,488],aid:[5,473],aidan:[313,315,317],ail:7,ailzhang:7,aim:[5,468],airplan:503,aka:[2,482,495],akin:480,alban:7,alband:7,alex:7,alexandr:449,alfredo:7,algebra:7,algorithm:[5,12,15,18,46,61,141,160,217,221,222,223,224,225,226,238,241,257,287,319,320,365,425,426,470,488,490,498],alia:[15,20,348,498],alias:[461,478],alican:7,alicanb:7,align:[209,217,253,268,269,320,467,470,486,488,504],align_a:[460,467,468],align_corn:[320,321,460,470,488],align_tensor:460,align_to:[460,467,468],aliv:[479,481,490,491,492],all:[1,2,4,5,6,8,9,10,11,13,14,15,17,18,24,30,33,34,45,52,57,58,66,67,89,141,143,147,148,149,150,159,177,185,186,187,188,189,195,202,209,211,215,217,219,220,221,222,223,224,225,226,230,235,236,237,238,241,242,243,248,253,254,257,258,261,265,269,270,271,272,273,274,275,276,277,278,279,280,281,283,284,287,289,293,294,295,296,297,301,309,313,315,317,318,319,323,324,326,334,338,348,352,357,359,370,415,419,420,421,422,423,424,425,427,439,440,441,442,445,447,450,451,452,457,459,460,461,464,466,467,468,470,472,473,475,476,477,478,479,481,482,484,485,486,488,489,490,491,492,493,494,495,497,498,500,503,504,505,506],all_gath:14,all_gather_multigpu:14,all_reduc:14,all_reduce_multigpu:14,all_to_al:14,allclos:[2,372,427,460,485,498],alloc:[2,3,8,11,15,90,92,432,466,473,476,477,495,498],allocated_byt:11,allow:[1,2,5,6,8,9,10,13,14,15,56,67,146,152,165,230,273,276,279,313,324,327,357,457,461,467,468,472,473,474,475,476,477,478,480,481,485,486,488,490,495,496,498,500],allow_unreach:2,allow_unus:[2,460],allreduc:477,almost:[126,131,484,500],alon:461,along:[1,9,11,13,14,15,24,35,65,104,114,128,154,196,203,204,205,228,239,264,267,268,269,303,305,333,335,342,343,352,357,388,389,393,414,416,420,434,437,445,457,461,470,474,478,479,480,486,488,498],alongsid:[143,237,273],alpha:[15,23,24,27,28,29,43,123,206,216,234,262,298,460,470,478,485,486,488,493,498],alpha_dropout:460,alpha_dropout_:460,alpha_f:485,alphabet:[89,470,490,500],alphadropout:470,alreadi:[1,2,8,11,13,14,37,143,159,237,273,324,348,445,446,457,459,465,467,468,472,478,481,485,486,488,491,492,494,496,498,500],also:[1,2,4,5,6,8,9,10,11,13,14,15,17,44,51,75,76,93,118,123,124,143,144,145,150,188,202,210,212,213,214,221,222,223,224,225,226,229,236,237,238,241,257,273,280,287,299,301,309,319,324,337,339,341,342,343,344,356,366,381,397,401,419,425,446,447,454,457,459,461,464,466,467,468,470,471,472,473,475,476,477,478,479,480,481,482,484,485,486,488,490,491,493,496,498,499,500,505],alter:472,altern:[2,13,147,159,299,362,456,457,462,470,472,484,488],although:[5,15,224,225,226,281,472,478],alwai:[1,2,11,13,14,44,51,59,80,123,124,148,150,175,210,230,235,250,251,252,306,324,348,366,372,398,432,443,446,466,474,475,476,477,478,480,485,489,490,492,493,495,498,506],amazonaw:[457,465,484],ambigu:[15,134,224,225,226,238,270,271,272,320],among:[11,13,14,15,230,359,485],amount:[2,3,5,11,141,221,222,223,224,225,226,238,262,276,319,332,333,335,336,338,340,341,342,343,344,345,468,473,475,476,479,490,505,506],amp:[458,472],amplitud:486,amsgrad:486,an_error:461,anaconda:484,analog:[30,425,443,486],analysi:[365,462],analyt:[2,15],analyz:[477,478],ancestor:492,anchor:[318,460,470],andrea:160,andrew:160,angl:[15,41,77,260,376,460,498,505],ani:[1,2,3,4,5,6,8,11,13,14,15,17,32,54,57,58,142,143,145,148,149,150,199,200,201,203,204,205,206,210,211,215,216,230,231,234,237,238,240,244,245,246,247,248,249,253,254,260,261,263,264,265,273,281,286,290,291,292,298,299,300,301,302,303,305,306,307,308,309,310,311,312,313,319,324,329,330,331,332,333,334,335,336,339,349,350,352,384,397,404,406,459,460,461,464,466,467,468,470,472,473,475,476,478,480,481,482,483,485,486,488,490,491,492,498,505],anm:89,ann_fil:500,anneal:486,anneal_strategi:486,annfil:500,annot:[2,459,461,462,490,500],annotation_path:500,anoth:[2,5,11,13,14,274,283,459,461,472,475,476,478,481,484,485,491,492,498,499,504],another_forward:459,another_input:324,answer:[5,6,211,340,488],anticip:4,anymor:[2,14,324,498],anyon:6,anystr:461,anyth:[4,5,14,149,459,488],anywher:472,aoa:484,apart:8,apaszk:[6,7],api:[6,8,11,14,17,148,149,457,458,464,466,467,473,476,477,485,490,491,493,498,500,501],aplli:505,appear:[1,3,14,15,89,105,106,159,191,325,389,425,427,459,467,468,478,486],append:[2,14,17,83,182,242,258,275,284,289,324,461,473,475,481,484,485,498,503],appl:503,appli:[1,2,4,15,81,83,143,160,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,221,222,223,224,225,226,227,229,234,237,239,240,241,243,244,245,246,247,248,250,251,252,253,254,255,256,257,259,260,261,262,263,264,265,266,267,268,269,273,276,277,278,280,281,286,287,290,291,292,298,300,301,302,303,304,305,306,307,308,309,310,311,313,318,321,322,324,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,348,349,353,355,358,369,373,374,423,446,447,448,459,466,468,470,472,473,478,485,486,488,490,491,498,504,505],applic:[11,14,15,230,315,317,324,473,475,476,477,478,480,482,488,490,491,492,498,505],apply_:[463,498],apply_mask:[329,330,331,332,333,334,335,336],apprear:89,appreci:5,approach:[14,59,397,459,466,473,488,490],appropri:[1,5,14,15,150,177,229,273,280,462,468,490,491,492,503],approv:6,approx:426,approxim:[1,2,160,202,286,306,365,426,470,477,478,486],apr:141,arang:[8,13,14,29,54,104,105,106,117,154,156,157,293,294,295,296,320,321,322,358,359,369,384,390,394,416,424,433,434,435,460,470,485,498],arbitrari:[2,14,102,159,230,235,254,265,301,319,348,392,425,470,473,480,485,498,499,505],arbitrarili:[144,470],arccosin:21,architectur:[313,402,501,503],architecutr:11,archiv:480,arcsin:38,arctang:[40,41],area:[5,6,470,505],aren:[1,467,491],arg0:2,arg1:[2,14],arg2:14,arg3:14,arg:[1,2,3,4,9,14,15,17,66,143,144,177,188,210,211,227,229,237,241,248,249,253,254,257,265,266,273,276,277,278,280,286,287,299,301,302,309,318,324,329,334,348,446,447,457,460,462,466,468,470,473,476,477,478,481,483,485,488,490,491,492,494,498,500,505],arg_constraint:15,arg_nam:460,argmax:[185,202,460,485,498],argmin:[189,460,485,498],argpars:[14,476],argsort:[460,498,504],argument:[1,2,3,4,9,11,13,14,15,17,18,22,23,24,27,28,29,32,39,42,43,53,77,80,81,82,83,86,90,92,94,108,112,115,122,126,131,138,139,143,144,150,151,155,159,160,165,166,176,182,193,197,212,213,214,217,221,222,223,224,225,226,229,236,237,238,247,249,250,251,252,270,271,272,273,274,280,281,283,309,319,321,322,329,333,334,338,342,348,361,376,377,379,381,384,403,426,427,433,438,439,440,441,442,443,446,455,457,460,461,463,466,467,468,470,472,474,476,477,478,479,480,485,486,488,489,490,494,495,498,500,506,507],argumentpars:[14,476],ari:485,aris:15,arithmet:[61,391,392,462,467,468,488,495],arm:[464,488],armand:202,around:[2,5,6,8,11,14,17,459,466,476,490,498,504,505],arr:485,arrai:[13,37,46,105,106,111,159,175,238,241,242,257,258,389,406,449,459,462,470,485,488,494,498,500],arrang:[52,500],array_lik:[37,415,432,498],arriv:[490,492],arrow:492,art:375,articul:6,artifact:480,artifici:2,arxiv:[15,290,291,313,355,365,426,488,503,505],as_strid:[92,460,488,496,498],as_strided_:460,as_subclass:[463,498],as_tensor:[432,460,478,498],as_tupl:[357,454],asap:466,ascend:[35,414,427,437,446],ascent:15,ascii:[11,159],asd932_:500,asgd:486,ashish:[313,315,317],asin:[1,460,467,485,498],asin_:[460,467,498],asinh:[460,467,498],asinh_:[460,467,498],ask:[14,458],aspect:[5,478,505],assembl:[8,13],assert:[13,15,144,145,461,462,485],assert_allclos:459,assert_int_or_pair:460,assign:[1,2,5,13,14,202,229,273,280,325,459,462,472,478,479,485,488,491,492,496,500],assign_x:461,assist:477,associ:[2,11,89,143,159,217,237,273,459,467,468,470,482,485,490,491,495,498],assp:141,assum:[1,8,13,14,15,150,184,217,266,320,324,352,365,426,438,459,461,467,470,473,478,480,485,486,490,491,492,503,505],assumpt:[217,473,477,490,491,505],ast_1:[228,470],ast_2:[228,470],astensor:505,astyp:485,asuhan:7,asymmetr:[469,488],async:[2,14,462,480,494,498],async_add:490,async_add_chain:490,async_execut:490,async_op:14,asyncexecutionclass:490,asynchron:[3,17,143,144,153,237,273,462,475,477,490,494,498],atan2:[1,460,467,498],atan2_:[460,467,498],atan:[460,467,485,498],atan_:[460,467,498],atanh:[460,467,498],atanh_:[460,467,498],aten:[193,459,475,484],aten_thread:475,atol:[2,30,137,459,460,478,498],atom:[462,482],atomicadd:482,attach:[17,457,459,461,467,478,488,491,498],attempt:[2,9,145,148,177,459,467,468,472,476,484,490],attend:[279,313],attent:[5,279,313,315,317,484,496],attn:[315,317],attn_mask:[279,460],attn_output:279,attn_output_weight:279,attr1:485,attr1_f:485,attr2:485,attr2_i:485,attr:[253,309,324,358,470,485,500],attribut:[1,2,8,13,14,142,143,144,145,148,149,160,230,237,273,313,324,325,349,458,460,462,472,473,476,478,485,488,490,498,500,507],attributeerror:478,audio:[500,502],audio_fp:502,aug_add_x:461,augment:[10,462,505],author:472,auto:[14,210,211],autocastmodel:1,autoencod:15,autograd:[1,3,4,5,15,32,44,51,90,91,92,101,112,113,123,124,131,143,158,173,237,273,324,361,362,377,378,379,380,381,382,383,384,405,415,432,455,456,458,460,463,470,477,479,480,485,498],autograd_context_id:491,autograd_hook:477,autograd_message_id:491,autograd_tensor:2,autom:[459,485],automat:[9,11,14,150,188,324,325,406,457,458,461,465,467,468,473,474,476,478,481,485,488,490,498],aux_logit:503,aux_loss:503,auxiliari:[457,480,503],avail:[2,9,10,11,13,14,53,102,126,131,177,313,320,365,392,423,426,457,461,466,470,476,478,484,485,488,490,500,505],averag:[2,14,143,199,200,201,207,208,209,210,211,212,213,214,227,229,236,237,248,253,254,255,256,265,266,273,276,277,278,280,286,301,302,309,318,324,470,477,486,488],averaging_const:488,avg:[2,505],avg_pool1d:[460,485],avg_pool2d:[460,485,488],avg_pool3d:[460,485,488],avgpool1d:470,avgpool2d:[470,488],avgpool3d:470,avi:500,avmgithub:7,avoid:[1,2,6,13,15,18,32,131,159,228,254,265,282,286,301,319,392,423,432,446,468,470,473,475,476,479,482,485,488,490,491,496,497,498,505],avx2:488,awai:[468,470],await:[462,490],awar:[5,468,473,488,491,498,503],axbc:348,axes:485,axi:[104,114,373,389,393,394,460,485,488,498,505],b_float32:1,b_hf:257,b_hg:257,b_hh:[241,242,257,258,287,289,460],b_hi:257,b_hn:241,b_ho:257,b_hr:241,b_hz:241,b_if:257,b_ig:257,b_ih:[241,242,257,258,287,289,460],b_ii:257,b_in:241,b_io:257,b_ir:241,b_iz:241,back:[1,159,457,459,478,481,485,490,493,505],backbon:503,backcompat:474,backend:[2,9,46,102,126,131,217,221,222,223,224,225,226,324,392,459,460,461,464,470,475,476,482,485,488,498,501],backend_str:14,backendtyp:490,background:[46,217,221,222,223,224,225,226,470,481,490,498,500,503],backoff:1,backoff_factor:1,backpack:503,backprop:366,backpropag:[2,15,479,486],backward:[1,2,4,6,15,79,88,93,143,168,210,211,217,229,230,237,241,254,257,265,273,280,286,287,318,324,325,356,366,412,425,427,460,468,470,471,472,477,478,479,480,481,482,486,488,490,493,498],bad:466,baddbmm:[1,460,485,498],baddbmm_:[460,498],bag:[236,470],bai:7,balanc:[18,500],ball:503,balnta:318,banana:503,band:[14,505],bandwidth:[14,488,490],bao:7,bar:[5,144,147,148,457,459,461,465,485,503],bare:9,barrier:14,bartlett:44,bartlett_window:[460,463],base:[2,5,6,9,10,11,13,15,156,162,164,166,173,230,273,276,277,278,313,315,317,324,329,333,335,369,375,397,403,425,426,440,442,460,470,473,475,477,478,483,485,486,488,490,491,496,498,500,504,505],base_distribut:15,base_lr:486,base_momentum:486,base_se:13,basebal:503,basedistribut:15,basep:15,basepruningmethod:[334,340],baseq:15,basi:[15,160,480,486,488,490],basic:[2,5,160,324,462,469,486,488,491,496],bat:503,batch1:[24,43,460,498],batch2:[24,43,460,498],batch:[15,24,43,53,59,62,64,79,81,83,89,102,126,130,131,160,168,177,178,182,183,210,211,212,213,214,217,221,222,227,229,230,232,233,235,236,238,241,242,243,248,250,251,252,253,254,257,258,259,265,266,276,277,278,279,280,286,287,289,301,302,309,313,314,315,316,317,318,319,324,348,349,351,352,365,366,372,392,412,413,419,423,425,426,427,438,439,441,467,468,470,472,476,479,481,482,485,486,488,500,503,504,505,506],batch_first:[241,257,287,288,349,351,352,460,479],batch_ndx:13,batch_norm:460,batch_norm_backward_elemt:460,batch_norm_backward_reduc:460,batch_norm_elemt:460,batch_norm_gather_stat:460,batch_norm_gather_stats_with_count:460,batch_norm_stat:460,batch_norm_update_stat:460,batch_per_it:472,batch_sampl:13,batch_shap:15,batch_siz:[13,15,348,350,351,460,479,497,500,504],batch_sz:504,batchmean:[253,470],batchnorm1d:[309,470,488],batchnorm2d:[230,464,470],batchnorm3d:[309,470],batchnorm:[143,237,273,309,324,464,485,488],batchsampl:13,batchsiz:[253,470],batchwis:282,bbox:500,bceloss:[1,211,470],bcewithlogit:1,bcewithlogitsloss:[1,470],bckenstler:486,bddppq:7,beam:459,bear:503,becaus:[1,2,3,4,5,13,15,141,147,159,212,213,214,221,222,223,224,225,226,230,309,325,398,423,459,463,466,467,468,473,474,476,477,479,480,482,485,486,488,490,492,498,503],becom:[1,2,5,6,13,15,126,221,222,223,224,225,226,241,257,278,287,470,473,477,485,486,488,490,498],bed:503,bedroom_train:500,been:[1,2,8,11,14,15,93,144,145,159,241,247,257,287,329,333,335,375,466,467,468,470,472,475,481,484,486,490,492,503,504],befor:[1,2,5,11,13,14,15,75,76,105,106,143,230,236,237,238,273,275,309,319,353,355,370,393,398,404,405,423,424,438,443,446,459,461,466,470,472,473,476,477,478,480,484,485,486,488,490,491,492,493,497,498,504],beforehand:5,begin:[1,5,11,13,14,32,44,66,89,175,209,210,211,227,241,242,244,245,246,247,248,253,254,257,258,260,265,268,269,280,281,290,301,307,312,324,406,423,446,454,470,472,473,478,480,485,486,488,498],behav:[9,10,150,461,488,498],behavior:[2,5,9,14,25,36,54,57,67,86,92,131,143,148,150,159,182,230,237,253,273,309,320,324,357,390,457,459,462,463,467,470,473,474,476,485,486,488,490,496,498,503,504,505],behaviour:[2,30,470],behind:[491,500],being:[2,6,13,15,101,137,143,145,210,211,227,229,235,236,237,239,241,248,253,254,257,265,266,273,276,277,278,280,286,287,301,302,318,324,329,330,331,332,333,334,335,336,372,423,438,459,467,468,470,472,478,479,481,482,485,488,490,491,498,505],belair:7,believ:1,belong:[4,11,14,15,55,476,486,505],below:[1,2,9,13,14,15,80,81,82,83,131,143,151,184,224,225,226,229,237,270,271,272,273,280,301,320,357,439,440,441,442,459,461,463,466,467,470,472,473,476,477,478,481,484,485,488,490,491,492,496,505],ben:239,bench:503,benchmark:[460,476,482],benefit:[5,14,466,486],benefiti:14,bengio:471,bernoulli:[206,231,232,233,241,257,460,467,470,498,499],bernoulli_:[460,467,498,499],bert:313,besid:[14,477],bessel:[421,422,450,451],best:[1,2,5,10,13,14,15,58,150,151,458,459,461,466,472,473,478,479,486,490],beta:[2,8,24,27,28,29,43,123,212,213,214,243,250,251,252,259,262,306,309,460,464,470,485,486,488,490,493,495,498],better:[5,6,11,13,136,150,273,303,375,398,470,472,475,484,485,488,497],between:[1,2,5,11,14,15,27,28,29,32,41,53,59,125,141,143,158,173,210,211,217,221,222,223,224,225,226,228,232,233,237,238,254,265,267,268,269,273,276,277,278,282,302,303,318,319,324,329,330,331,332,333,334,335,336,338,341,342,343,344,367,379,380,384,420,423,437,459,461,462,466,470,472,473,475,476,481,482,486,488,490,492,494,498,500,503,504,505],bewar:5,beyond:[6,393,479,486,492],bfg:486,bfloat16:[2,143,237,273,463,467,494,495,498],bfloat16tensor:[495,498],bia:[6,143,202,215,221,222,223,224,225,226,237,241,242,257,258,259,261,273,279,287,288,289,337,339,341,353,355,460,464,470,478,488,497,504],bias:[212,213,214,241,242,243,250,251,252,257,258,259,287,289,309,421,422,450,451],bias_:488,bias_defin:460,bias_g:460,bias_hh:[242,258,289],bias_hh_l:[241,257,287],bias_ih:[242,258,289],bias_ih_l:[241,257,287],bias_k:460,bias_mask:[337,339],bias_v:460,bicub:[320,470,505],bicycl:503,bidirect:[241,257,287,288,460,485],big:[5,415],bij:89,biject:15,biject_to:15,bik:89,bilenear:488,bilinear:[1,89,320,321,460,488,505],bin:[46,125,460,488,498,504],binari:[1,10,15,45,181,210,211,279,337,338,339,340,341,342,343,344,462,467,468,470,480,485,498,500,503],binary16:[495,498],binary_cross_entropi:460,binary_cross_entropy_with_logit:460,binaryio:506,bincount:[460,482,498],bind:[9,11,458,462,485,501],binomi:460,bird:503,bit:[5,18,399,484,488,489,495,498,507],bitshift:485,bitwidth:[469,488],bitwis:[14,47,48,49,50,462],bitwise_and:[460,498],bitwise_and_:[460,498],bitwise_not:[460,467,498],bitwise_not_:[460,467,498],bitwise_or:[460,498],bitwise_or_:[460,498],bitwise_xor:[460,498],bitwise_xor_:[460,498],bivari:15,bjk:89,bl_flip:505,bla:475,black:505,blacklist:464,blackman:51,blackman_window:[460,463],blank:[217,460,462,470],blob:[480,485,497],block0:[459,485],block1:459,block:[5,11,13,14,17,52,160,221,222,223,224,225,226,238,276,319,459,461,466,469,470,473,477,485,490,503],block_diag:460,blog:5,blogpost:496,blow:479,blue:500,bmatrix:473,bmm:[1,178,179,460,467,498],bn1:488,bnmodul:488,bnrelu2d:488,bnrelu3d:488,board:6,boat:503,bodi:[149,459,461,462],boil:5,book:503,bool:[1,2,4,9,11,13,14,15,30,32,33,34,35,44,47,48,49,50,51,53,55,56,62,63,64,88,90,91,92,95,101,102,111,112,113,114,123,124,126,131,132,133,134,137,138,139,141,143,150,151,154,158,160,169,170,171,172,173,174,177,179,184,185,186,187,189,191,193,202,203,204,205,206,207,208,209,210,211,215,216,217,221,222,223,224,225,226,227,229,231,232,233,234,235,236,237,239,242,243,247,248,250,251,252,253,254,255,256,258,259,260,261,265,266,267,268,269,273,276,277,278,280,282,286,288,289,290,291,292,298,301,302,309,312,318,320,324,325,349,350,351,352,358,361,362,365,370,372,375,377,378,379,380,381,382,383,384,392,398,402,403,414,415,421,422,423,424,425,432,434,438,443,446,447,449,450,451,455,456,457,459,460,461,463,465,466,467,468,470,485,486,488,489,490,494,495,498,500,503,504,505,506],bool_tensor:495,booltensor:[94,115,122,140,155,176,181,197,279,313,454,495,498],bootcamp:5,bootstrap:484,bor:14,border:[470,505],both:[2,8,11,13,14,15,43,88,109,125,138,141,143,154,182,207,208,212,213,214,218,221,222,223,224,225,226,237,238,243,250,251,252,257,258,259,267,268,269,273,309,319,320,324,387,423,427,443,459,461,467,468,469,470,474,478,482,485,486,488,490,492,493,498,500,502,503,505],bottl:503,bottleneck:[458,503],bottom:[2,470,505],bound:[3,10,55,66,290,383,398,462,470,471,483,486,498,500,504],boundari:[55,218,219,220,293,294,295,296,297,320,323,398,460,470,486,488,490,500],bowen:7,bowenbao:7,bowl:503,box:[468,477,500,503,504,505],bozkurt:7,bparam:160,bptt:479,br_flip:505,bracket:491,brain:[495,498],branch:[5,457,461,503],brand:14,bregman:15,breviti:[2,485],brief:[14,324,466,490],bright:[500,505],brightness_factor:505,bring:[470,490],broadcast:[11,14,15,23,24,25,26,27,28,29,41,43,53,54,85,86,87,94,108,109,115,117,122,155,156,176,181,182,185,189,190,192,194,197,279,324,369,387,389,433,454,458,467,468,477,485,498],broadcast_buff:324,broadcast_coalesc:11,broadcast_multigpu:14,broadcast_tensor:460,broadcast_warn:474,broader:[6,480,499],broccoli:503,broken:[5,11,13],brokenpipeerror:484,bucket0:477,bucket1:477,bucket:[202,324,398,460,477],bucket_cap_mb:[324,477],buf:[143,237,273],buffer:[2,3,11,13,143,147,148,154,159,230,237,273,324,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345,397,414,434,461,473,477,478],buffer_s:11,bug:[1,6,177,472,481],bugfix:5,build:[2,9,10,14,15,313,459,469,470,473,488,491,505],build_directori:9,build_ext:9,buildextens:9,built:[5,14,68,473,475,481,486],builtin:[159,459,461,462,490,492],bulk:13,bump:273,bundl:480,bus:503,bvar:160,bwd:1,bxor:14,byclass:500,bymerg:500,bypass:476,byte_arrai:159,bytecod:13,bytesio:[147,148,159,397],bytesliter:462,bytetensor:[11,18,94,121,279,313,407,489,495,498],bz2:500,c10:480,c10_log_api_usage_onc:480,c10d:[14,477],c655:160,c676:160,c99:484,c_0:[257,258],c_1:258,c_float32:1,c_j:[207,208,209,267,268,269],c_n:257,c_t:257,cach:[11,15,102,126,131,325,392,466,479,498,503],cache_s:15,caffe2:[485,497],cake:503,calcul:[2,4,13,53,59,79,81,93,141,165,166,168,207,208,209,212,213,214,217,224,225,226,238,243,250,251,252,259,309,319,320,324,334,353,356,358,366,403,412,421,422,427,440,442,450,451,470,473,474,477,484,486,488],calculate_gain:[463,471],calculate_qparam:488,calib_data:488,calibr:[1,472,488],call:[1,2,9,10,11,13,14,15,116,134,143,144,146,148,149,159,160,206,212,213,214,230,231,232,233,237,238,270,271,272,273,280,281,309,319,324,334,337,338,339,341,342,343,344,353,355,356,363,364,368,381,404,405,423,433,457,459,462,466,468,470,472,475,476,477,478,479,480,481,484,485,486,488,490,491,492,495,496,498,503,506,507],callabl:[2,13,15,17,143,144,149,150,159,160,237,273,457,459,461,462,486,488,490,498,500],callback:[17,480,490],calle:[490,492],caller:[473,476,490,492],camera:480,can:[2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,25,37,45,46,58,64,88,89,90,94,102,115,122,126,130,131,141,143,144,145,148,149,150,151,154,155,159,176,177,179,188,197,200,201,202,204,205,206,207,208,209,210,211,212,213,214,216,217,221,222,223,224,225,226,229,230,231,234,235,237,239,241,247,253,254,256,257,260,264,265,267,268,269,270,271,272,273,274,275,278,280,283,284,286,287,288,289,290,291,292,298,299,301,306,309,312,313,320,324,326,348,349,358,361,369,377,381,390,392,397,403,404,406,413,414,415,419,423,425,427,432,434,438,448,455,457,459,460,461,464,466,467,468,470,472,473,474,475,476,477,478,480,481,482,483,484,485,486,488,490,491,492,493,495,496,497,498,499,500,502,503,505,507],can_cast:460,cancel:141,candid:2,cannot:[1,2,13,15,17,141,146,193,217,320,425,426,457,459,460,461,462,463,468,470,477,478,484,485,490,492,493,494,495,498,505],cap:500,capabl:[10,11,14,375,476,480,490,499],capac:476,capacit:15,captur:[2,10,11,144,459,462,476,478,485],car:503,card:484,cardin:15,care:[5,9,15,425,427,466,473,475,476,477,478,479,481,493],carefulli:485,carlo:15,carri:[1,474,488,498],carrier:15,carrot:503,cartesian:[15,57],cartesian_prod:460,cast:[1,2,56,75,76,143,237,273,358,370,415,424,443,459,470,472,485,494,495,498,505],cast_input:[1,472],castabl:86,cat:[1,15,291,459,460,467,485,488,493,498,500,503],categor:[5,462,470,490],categori:[15,193,463,495,500,503],cattransform:15,cauchi:[473,498,499],cauchy_:[460,467,498,499],caught:466,caus:[1,2,4,9,13,14,149,150,423,459,466,470,474,476,479,481,484,485,488,492,498],caveat:[466,476],cb_fut:17,cdf:15,cdist:1,cdot:[195,210,211,228,246,253,276,277,278,280,423,470],cdoubl:[2,8,495,498],ceil:[13,207,208,209,255,256,267,268,269,460,467,470,485,488,498,504],ceil_:[460,467,498],ceil_mod:[207,208,209,255,256,267,268,269,460,470,488],celeba:501,celebfac:500,cell:[242,257,258,289,503],cellparamsbas:460,celu:[460,485],celu_:460,center:[141,365,423,460,470,486,488,498,504,505],center_crop:505,center_flip:505,centercrop:[503,505],central:[480,505],cerr:480,certain:[11,13,14,81,141,143,147,159,237,259,273,279,319,357,468,470,474,480,485,490,491,493],certainli:131,cfloat:[2,8,127,385,453,495,498],ch_axi:488,chain:[2,13,15,17,61,236,473,498,505],chain_cb_fut:17,chain_matmul:[1,460],chainabl:486,chaindataset:13,chair:503,challeng:[5,491],chanan:[6,7],chanc:[5,15],chang:[1,2,5,8,11,14,15,17,81,118,128,143,148,149,235,237,253,273,320,324,357,419,423,436,459,464,466,467,468,470,472,473,474,475,476,478,484,485,486,488,490,492,493,494,496,498,503,505],channel:[6,13,141,212,213,214,221,222,223,224,225,226,231,232,233,238,243,250,251,252,259,262,281,304,309,319,320,321,322,333,334,335,342,343,355,373,468,469,470,471,485,488,498,500,502,503,504,505],channel_shuffl:460,channels_last:[143,237,273,324,495],chao:160,charact:[406,459,468,470,490],characterist:426,chartensor:[495,498],cheap:[15,202],cheaper:13,check:[1,3,8,9,11,13,14,15,30,102,126,131,136,138,139,140,141,150,151,177,324,340,350,392,398,457,461,462,467,468,472,478,479,480,485,486,490,498,500],check_compiler_abi_compat:9,check_hash:[457,465],check_input:[150,151,459],check_model:485,check_reduct:324,check_sparse_nnz:2,check_toler:[150,151],check_trac:[150,151],check_undefined_grad:2,checker:[150,151,485],checkout:485,checkpoint:[1,2,159,324,457,458,465,492],checkpoint_sequenti:4,cher:7,cherniavskii:7,child:[13,143,237,273,334,466,484,488,492],children:[143,237,273,466,488,492],chintala:[6,7],choic:[150,274,283,475,485,505],choleski:[15,63,64,160,460,498],cholesky_invers:[460,498],cholesky_solv:[460,498],choos:[2,10,53,210,471,472,475],chose:472,chosen:[1,81,154,406,414,434,472,485,488,505],chr:460,christian:7,chrome:2,chunk:[4,11,13,14,58,230,324,416,459,460,467,490,496,498],chunk_siz:11,church_outdoor_train:500,cifar100:500,cifar10:500,cifar:501,circleci:5,circular:[15,221,222,223,470],circumst:[46,217,221,222,223,224,225,226,470,498],circumv:4,cityscap:501,claim:5,clamp:[210,460,464,467,470,485,488,498],clamp_:[460,467,498],clamp_max:[460,485],clamp_max_:460,clamp_min:[460,485],clamp_min_:460,class_async_add:490,class_i:500,class_index:[13,500],class_x:500,classat_1_1_tensor:10,classif:[211,217,229,276,278,280,302,470,471,500,501],classifi:[473,485,486],classmethod:[11,235,236,309,329,330,331,332,333,334,335,336,462,488,490],classvar:461,claus:479,clean:[11,14,457,466],cleaner:473,clear:[274,283,457,476,486],click:499,client:490,clip:[1,326,327,500,503],clip_grad_norm_:[1,472],clip_grad_value_:472,clip_valu:327,clock:503,clockwis:505,clone:[2,10,13,36,54,92,145,432,438,460,466,470,488,493,494,495,498],cloned_coeffici:438,close:[10,11,55,137,398,478,490,497],closest:[59,395,470],closur:1,clr:[61,486],cls:[490,498],cluster:[202,497],clutter:497,cmake:484,cmake_gener:484,cmake_include_path:484,cmdclass:9,cmyk:505,cnn:[301,473,488,504],coalesc:[11,460,477,493,498],coars:500,coco:[501,503],coco_instance_category_nam:503,coco_person_keypoint_nam:503,coco_util:503,cococapt:500,cocodetect:500,code:[2,3,6,8,9,10,13,14,15,143,145,146,148,149,150,151,152,159,288,324,405,457,461,468,473,474,477,478,479,480,481,482,484,485,486,489,490,491,492,493,495,496,498,503],code_with_const:143,codebas:6,codec:159,codomain:15,coeffici:[123,438,486],coexist:468,cohes:6,col2im:[238,460],col:[440,442,460,500],col_offset:460,col_offsets_hh:460,col_offsets_ih:460,colesburi:[6,7],collaps:467,collat:13,collate_wrapp:13,collect:[2,5,13,17,59,90,361,377,381,455,460,461,486,488,490,492,500],collect_al:17,collector:488,colon:490,color:[252,500,505],colorjitt:505,column:[2,88,101,105,106,160,175,193,221,222,223,224,225,226,319,365,425,440,442,449,470,471,498,504,505],columns_prun:343,com:[5,6,14,313,457,465,484,485,488],combin:[1,11,13,17,211,229,238,319,334,459,460,461,470,472,476,485,488,490],combinations_with_replac:67,come:[5,13,15,159,232,233,464,480,490,492,500],comm:[11,477],comma:[14,89],command:[2,3,14,484,491],comment:[5,462,478],commit:[5,6,457,482],committ:6,common:[13,32,159,212,213,214,217,309,397,468,476,478,479,481,488,496,500,501,505],commonli:[14,15,463,472,486,488,495],commun:[5,6,458,477,490,491],comp:15,compact:[478,488],compani:6,compar:[2,4,9,13,30,32,89,94,115,122,137,155,176,185,189,197,273,478,484,488,490],comparison:[94,115,122,150,151,155,176,197,462,478],compat:[9,13,15,146,152,390,461,466,467,472,478,494,498,500],compil:[9,10,11,145,146,149,150,151,152,459,461,462,463,472,475,480,484],compilationunit:[150,151],complementari:[97,505],complet:[5,11,13,14,17,144,149,153,372,461,462,466,470,472,473,476,482,490,491,498,505],complex128:[8,111,132,400,495,498],complex32:498,complex64:[8,111,132,400,495,498],complex:[1,2,5,88,102,126,127,131,132,138,139,140,143,237,273,375,385,392,400,423,452,453,458,462,481,494,495,498,505],complex_doubl:494,complex_double_tensor:495,complex_float:494,complex_float_tensor:495,complex_tensor:8,complic:[3,468,474,490,492],compon:[5,10,14,15,102,314,316,365,452,453,462,477,480,505],component_distribut:15,compos:[15,62,64,130,199,200,201,203,204,205,207,208,209,221,222,223,224,225,226,239,255,256,262,267,268,269,318,321,322,459,467,470,485,488,497,503,505],composetransform:15,composit:[15,459,482],compound:462,comprehens:[462,468,476],compris:4,comput:[1,4,5,8,11,13,14,15,19,31,37,47,48,49,50,59,61,62,63,67,69,84,85,87,88,89,93,94,96,97,98,102,109,110,115,116,122,125,126,131,143,144,149,155,157,160,169,170,171,172,174,175,176,177,184,195,197,202,206,207,208,209,212,213,214,228,231,235,236,237,241,243,250,251,252,255,256,257,259,264,267,268,269,270,271,272,273,280,282,286,287,303,305,309,324,326,329,330,331,332,333,334,335,336,337,349,355,356,363,368,372,387,388,392,403,423,425,426,427,433,443,459,467,468,469,470,472,473,475,476,478,479,482,485,486,488,490,493,498,501,503,504,505,506],compute_mask:[329,330,331,332,333,334,335,336],compute_mod:59,compute_uv:[425,460,498],compute_z:475,concat:[279,485],concatdataset:13,concaten:[2,9,11,13,58,217,221,222,223,224,225,226,236,326,420,462,470],concentr:15,concentrarion:15,concentration0:15,concentration1:15,concept:[5,485,495],conceptu:[2,473,492],concern:[13,466],concis:490,concret:[15,320,459,470,478,481,488,503],concurr:[475,476,490,491],cond:485,conda:[159,397,484,485],condit:[2,12,30,141,150,241,257,287,350,454,459,460,461,462,473,478,485,498],condition:[2,403],condsid:470,conduct:[6,324,365,426,490],confer:6,confid:5,config:484,configur:[0,5,13,14,102,126,131,324,348,392,402,476,477,484,488,490,503],confirm:[5,459,478,485,490,492],confirmed_by_own:490,conform:348,conj:[8,460,498],conjuct:324,conjug:[69,88,131,160,392,423,486],conjunct:[13,324,470],connect:[14,221,222,223,224,225,226,466,473,488,490,503],connectionist:[217,470],conquer:425,consecut:[1,14,446,447,468,498,505],consensu:5,consequ:476,consid:[2,30,64,80,81,82,83,137,140,143,184,237,238,253,273,276,319,325,329,330,331,332,333,334,335,336,427,439,440,441,442,457,459,470,472,474,478,479,486,488,491,492,495,498,500],consider:[5,41,141,236,475],consist:[13,15,62,372,425,427,459,468,485,486,488,501],constant:[2,13,141,143,145,150,160,218,219,220,236,238,319,366,460,470,472,478,485,486,488,505],constant_:471,constant_pad_nd:460,constantpad2d:470,constantpadnd:485,constmap:143,constrain:[15,306],constraint:[2,324,348],constraint_registri:15,constraintregistri:15,construct:[2,10,13,15,80,116,143,149,150,151,159,221,222,223,237,273,324,348,365,415,426,432,459,473,477,481,488,490,492,493,495,498,503],construct_transform:15,constructor:[9,13,202,278,299,321,322,324,459,462,476,477,488,490,493,495,498,503,507],consum:[13,16,89,466,481],consumpt:[2,356,497],contain:[1,2,4,8,9,10,11,13,14,15,18,24,43,44,45,51,53,55,88,94,102,109,115,122,123,124,126,127,128,131,138,139,140,143,147,148,150,151,155,159,175,176,177,181,185,187,189,193,197,202,211,229,230,235,236,237,238,241,242,243,248,253,257,258,266,273,274,275,280,283,284,287,289,299,302,309,319,324,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,346,347,348,349,350,351,353,355,357,365,367,385,387,392,397,398,412,413,423,425,427,440,442,446,447,459,461,462,468,470,472,473,477,478,479,480,485,486,488,490,492,494,495,498,499,500,502,503,504,505],containu:150,content:[2,5,147,148,419,436,457,465,466,486,490,496,498],contenti:6,context:[1,11,93,324,356,403,462,466,472,476,478,480,481,485,489,490,492,499],context_id:[324,460,490,491],contigu:[2,8,103,130,237,276,324,390,413,425,427,460,468,470,494,496,498],contiguous_format:[90,324,495,498],continu:[2,13,15,216,217,253,366,462,485,488,498,499],continuous_bernoulli:15,continuum:484,contract:[433,468],contrail:500,contrari:[5,475],contrast:[15,486,503,505],contrast_factor:505,contribut:[2,6,229,280,437,458,470],contributor:[5,6],control:[1,2,9,13,35,44,51,80,81,82,83,102,123,124,126,131,149,150,177,202,221,222,223,224,225,226,238,260,267,268,269,319,324,392,402,414,423,425,427,434,439,440,441,442,459,473,475,476,477,481,485,488,492,505],conv1:[149,273,299,459,488,497],conv1d:[1,224,460],conv2:[149,273,299,459],conv2d:[1,149,150,151,225,232,237,273,274,280,299,319,342,459,460,464,485,497],conv3d:[1,226,233,460],conv4:[143,237,273],conv5:[143,237,273],conv:[150,151,221,222,223,224,225,226,274,280,471,485,488],conv_bn_fus:464,conv_fus:488,conv_tbc:460,conv_transpose1d:[1,460],conv_transpose2d:[1,460],conv_transpose3d:[1,460],convbnmodul:488,conveni:[1,5,9,457,461,472,476,478,480,489],convent:[2,89,212,213,214,250,251,252,273,309,397,437,457,465,473,485,498],conver:488,converg:[160,472,486],converged_count:160,convers:[5,56,134,348,462,473,485,488,498,501],convert:[2,13,37,57,67,77,143,237,273,309,328,354,373,374,376,459,460,461,478,485,488,498,505],convert_image_dtyp:505,convert_sync_batchnorm:309,convmodul:488,convolut:[1,221,222,223,224,225,226,232,233,285,290,318,319,460,464,471,475,488,504],convolv:[221,222,223,224,225,226,470,488],convtranspos:353,convtranspose1d:470,convtranspose2d:470,convtranspose3d:470,coo:[415,493,495,498],cooldown:486,coordin:[5,15,41,415,440,442,493,498,504,505],cope:481,copi:[5,8,11,13,14,37,143,149,160,230,237,238,273,319,348,390,432,459,460,466,474,476,478,481,485,488,490,494,495,496,498],copy_:[2,320,459,460,467,476,488,494,498],copysign:460,copyslic:473,core:[5,11,475,477,485],corner:[52,320,470,488,505],coroutin:462,corpor:[5,6],correct:[3,5,14,15,128,131,150,151,230,253,324,348,405,421,422,450,451,459,461,467,468,494,498,505],correctli:[4,13,14,150,324,459,461,468,470,472,473,478,481,485,490,498],correl:[2,15,221,222,223,224,225,226,232,233],correspond:[1,2,5,11,13,14,15,37,63,88,137,143,151,160,185,189,192,193,230,235,237,273,279,313,324,337,338,339,341,342,343,344,353,367,392,393,398,448,457,459,460,467,468,470,472,477,478,480,485,486,488,490,491,494,498,503,504,505],correspondingli:464,corrupt:[1,230,481,500],cos:[21,51,123,124,227,228,460,467,485,486,498],cos_:[460,467,498],cosh:[1,22,460,467,498],cosh_:[460,467,498],cosin:[22,70,71,227,228,470,486],cosine_embedding_loss:[1,460],cosine_similar:[1,460],cosineannealinglr:486,cosineannealingwarmrestart:486,cosineembeddingloss:470,cost:[2,3,46,61,217,221,222,223,224,225,226,470,491,498],cotang:473,couch:503,could:[3,5,11,13,15,141,159,253,366,446,461,466,473,476,477,484,486,490,491,492,496],couldn:[484,485],count:[2,11,15,46,348,446,447,460,490,492],count_include_pad:[207,208,209,460,470,488],counter:[2,11,230,466,473,505],counterpart:[464,488,499],coupl:[480,482,491],cours:[3,457,477,478,486,490],courtesi:15,cov_diag:15,cov_factor:15,covari:[15,212,213,214,309,365,505],covariance_matrix:15,covector:473,cover:[463,468,478,480,488,490,500],coverag:[5,458,459,463,468],cow:503,cpp:[5,6,9,14,193,477],cpp_autograd:10,cpp_c10d_extens:14,cpp_extens:[14,458,478],cpp_frontend:10,cpp_sourc:9,cppdoc:[5,10],cppextens:9,cprofil:3,cpu:[1,2,3,8,9,11,14,18,32,37,44,51,90,92,101,102,112,119,120,123,124,126,131,143,147,148,158,159,173,177,185,187,189,230,235,237,273,324,348,361,377,379,381,383,384,392,402,404,405,415,425,432,433,440,442,446,455,458,459,460,464,466,467,470,476,481,482,484,485,488,489,490,494,495,498,499,504],cpu_memory_usag:2,cpu_model:459,cpu_tim:2,cpu_time_tot:2,cpuhrsch:7,crack:5,crash:[466,473,490,492],creat:[1,2,4,5,9,11,13,14,15,17,18,36,52,81,92,111,141,144,153,188,193,210,227,235,236,238,254,265,266,276,277,278,301,302,309,318,319,324,348,415,432,462,464,466,472,473,476,477,478,481,485,488,490,491,492,494,496,498,499,500,504,507],create_extens:484,create_graph:[2,460,472,498],creation:[2,11,13,324,329,459,462,466,476,488,490,492,498,500],creator:[473,490,492],crelu:291,criteria:160,criterion:[160,210,211,227,229,253,254,265,266,276,277,278,301,302,318,470,479,486,504],critic:[353,475,488],crop:[503,504,505],cross:[1,5,15,210,221,222,223,224,225,226,460,470,476,484,498],cross_entropi:[1,460],crossentropyloss:[280,470],crucial:10,csr:236,csrc:[484,485],ctc_loss:[217,460,482],ctcloss:470,ctx:[2,472,478],cube:[201,205,375],cubla:[8,11],cublashandle_t:11,cuda0:[476,498],cuda1:495,cuda2:476,cuda92:484,cuda:[2,3,4,9,13,14,18,32,37,44,46,51,53,90,92,101,102,112,123,124,126,131,143,158,159,173,177,191,217,221,222,223,224,225,226,230,235,237,273,309,324,361,377,379,381,383,384,392,415,432,433,440,442,446,455,458,460,467,470,472,478,482,485,486,488,489,490,494,495,498,499,503],cuda_extens:9,cuda_hom:9,cuda_launch_block:476,cuda_memory_usag:2,cuda_prefix:484,cuda_runtim:9,cuda_sourc:9,cuda_tim:2,cuda_time_tot:2,cuda_visible_devic:[11,476],cudaev:2,cudaeventsynchron:11,cudaextens:9,cudamalloc:11,cudart:[9,484],cudastreamsynchron:11,cudastreamwaitev:11,cudnn:[12,46,217,221,222,223,224,225,226,241,257,287,288,460,470,498,503],cudnn_affine_grid_gener:460,cudnn_batch_norm:460,cudnn_convolut:460,cudnn_convolution_transpos:460,cudnn_en:460,cudnn_grid_sampl:460,cudnn_is_accept:460,cufft:[102,126,131,392],cufft_plan_cach:476,cuh:9,cultur:6,cummax:[460,498],cummin:[460,498],cumprod:[1,460,467,498],cumsum:[1,460,467,485,498],cumul:[15,73,74,75,76,167,212,213,214,240,309,470],cunningham:15,cup:503,cur:486,curl:484,current:[1,2,4,6,8,9,11,13,14,17,18,32,37,44,51,90,92,101,102,111,112,118,123,124,126,131,143,145,150,158,160,173,235,236,237,238,273,309,319,324,332,333,334,335,336,341,342,343,344,361,377,379,381,383,384,392,415,432,440,442,446,455,459,461,462,463,466,470,472,476,480,482,484,485,486,488,490,491,494,495,498,500,502,504],current_blas_handl:11,current_devic:[11,495],current_stream:11,custom:[1,9,10,13,14,143,235,237,273,313,329,338,462,466,467,473,480,484,486,488,498,501,505],custom_bwd:[1,472],custom_decod:313,custom_domain:485,custom_encod:313,custom_fwd:[1,472],custom_loop:485,custom_op:485,custom_opset:485,customiz:462,cut:[5,488],cutoff:[202,366],cxx11:10,cxx:9,cycl:[2,486,498],cycle_momentum:486,cyclic:[486,505],cycliclr:486,d_1:[229,280,470],d_2:[229,280,470],d_float32:1,d_k:[229,280,470],d_model:[313,314,315,316,317],daemon:466,dag:2,dai:5,damania:7,dampen:486,danger:492,dantu:7,dark:505,darker:505,dart:500,dash:[490,492],data1:500,data2:500,data:[1,2,5,8,12,14,15,32,37,44,51,55,75,76,90,91,92,101,112,113,123,124,125,132,133,150,158,159,160,173,179,215,217,230,241,243,250,251,252,257,259,261,280,287,288,320,324,325,348,349,350,351,358,361,362,365,370,373,374,375,377,378,379,380,381,382,383,384,390,398,415,424,432,440,442,448,455,456,458,459,460,462,466,470,472,473,474,476,478,480,481,483,484,486,488,490,492,493,494,495,496,497,498,499,500,504,505],data_load:[481,486,500],data_parallel:479,data_ptr:[463,467,494,496,498],data_sourc:13,data_typ:488,databas:[13,500],dataload:[13,324,476,479,484,486,497,498,500],dataparallel:[1,14,324,351,479,481],dataset:[202,211,479,480,484,486,488,497,501,503,505],dataset_it:13,datasetfold:501,datatyp:[1,143,184,237,273,485],datetim:14,datset:500,david:[7,202],dcgan:485,ddp:[309,324,477],ddp_model:[324,477],ddp_sync_bn_network:309,deactiv:505,deadlock:[14,324],deal:[5,433,466,479,505],dealloc:[466,476,479],debug:[2,3,13,14,461,473,475,480,482,484,485],debugg:146,debuginfoguard:480,decai:[281,486],decemb:375,decent:13,decid:[3,5,14,338,500],decis:[150,472],declar:[2,9,13,461,462,485],decod:[16,159,313,314,315,501,502],decoder_lay:[314,315],decompos:473,decomposit:[15,62,116,365,366,372,425,426],decompress:[457,465],deconvolut:[224,225,226,470],decor:[1,2,15,93,146,149,152,356,459,461,472,478,490],decoupl:[355,486],decreas:[11,15,232,233,349,350,437,486,495,504],dedic:476,deep:[5,6,212,213,214,309,458,471,486,488,503],deeper:503,deeplabv3_resnet101:503,deeplabv3_resnet50:503,def:[1,2,13,15,17,93,143,144,145,146,148,149,150,151,152,237,273,274,275,283,284,356,457,459,461,468,472,473,475,477,478,479,481,484,485,486,490,491,492,498,505],default_dynamic_qconfig:488,default_eval_fn:488,default_fake_qu:488,default_gener:499,default_load:500,default_mask:[329,330,331,332,333,334,335,336],default_observ:488,default_qat_qconfig:488,default_qconfig:488,default_stream:11,default_weight_fake_qu:488,default_weight_observ:488,defin:[1,2,4,9,10,13,15,89,90,92,96,97,98,112,116,137,160,188,191,230,247,255,256,290,303,305,312,324,333,335,342,343,359,361,377,379,381,406,425,427,439,440,441,442,454,455,457,459,463,466,467,470,477,484,485,486,488,490,493,498,499,500,505],define_macro:484,definit:[5,13,15,62,63,64,253,457,459,461,462,470,472,473,478,485,488,503],deform:504,deform_conv2d:504,deformconv2d:504,deg2rad:[460,467,498],deg2rad_:[460,467],degrad:[475,478],degre:[15,77,282,318,376,394,460,473,505],del:[462,466,479],delai:492,delet:[14,457,466,489,490,492],delimit:462,deliv:6,deliveri:492,delta:[15,241,248,257,471,486],delv:471,demand:[11,461,480,490],demonstr:217,denomin:[25,86,108,212,213,214,243,250,251,252,259,309,486],denorm:402,denot:[2,15,221,222,486,491,505],dens:[2,44,51,53,123,124,160,426,493,495,498,503],dense_dim:[415,460,493,498],densenet121:503,densenet161:503,densenet169:503,densenet201:503,densenet:485,densiti:15,depend:[2,3,4,13,14,15,149,150,182,210,211,221,222,223,224,225,226,227,229,236,238,248,253,254,265,266,276,277,278,280,286,301,302,318,319,320,334,365,372,375,390,438,454,457,459,461,466,470,475,476,482,485,486,488,490,493,498,503],dependent_properti:15,deploi:[5,480],deploy:458,deprec:[11,14,210,211,227,229,247,248,253,254,265,266,276,277,278,280,286,301,302,318,321,322,384,459,463,466,470,474,485,488,494,498,505],depth:[11,209,223,226,269,320,470,488,503,504,505],depthwis:[221,222,223],dequant:[460,498],dequantstub:488,deriv:[2,6,14,84,177,324,366,368,461,478,488,490,498],derivedp:15,derivedq:15,descend:[35,143,237,273,414,425,460,498],descent:[8,15,486],describ:[1,4,5,11,13,56,86,202,207,208,209,210,211,212,213,214,221,222,223,224,225,226,229,231,232,233,238,239,243,246,250,251,252,253,254,259,265,267,268,269,280,286,290,309,318,319,423,459,461,470,471,472,473,477,479,480,485,486,488,491,492,498,503,504],descript:[0,5,9,160,461,470,476,478,480,485,507],descriptor:[13,318,462,485,500],deseri:[159,457,465],design:[2,5,6,13,15,457,478,503],desir:[1,2,11,13,14,15,18,32,37,44,51,75,76,90,91,92,101,112,113,123,124,143,158,173,180,210,237,273,348,358,361,362,370,373,374,375,377,378,379,380,381,382,383,384,407,415,424,432,440,442,455,456,467,468,470,472,473,476,485,489,490,493,494,495,498,505],desmaison:7,despit:[150,151],destin:[11,14,114,143,175,237,273,490,491,494,498],destroi:[230,473,490],destruct:[490,492],destructor:[466,492],det:[15,168,412,460,485,498],detach:[2,4,217,324,432,459,460,467,470,479,496,498],detach_:[2,460,467,498],detail:[0,1,2,5,8,10,11,13,15,79,102,116,126,131,143,150,166,168,175,185,187,189,202,206,216,224,225,226,230,235,236,237,239,241,257,273,279,285,287,298,318,325,351,357,363,364,366,392,412,459,460,461,470,473,477,478,479,480,485,486,488,490,491,492,493,496,497,498,499,503,505],detect:[4,9,13,14,145,466,485,490,501,504],detect_anomali:2,detector:231,detectron2:504,determin:[2,6,8,9,11,13,15,44,51,56,61,79,86,91,113,123,124,131,168,239,282,329,330,331,332,333,334,335,336,362,366,378,380,382,412,423,456,462,468,470,476,477,482,486,488,492,495,505,506],determinist:[4,15,18,46,53,150,151,185,187,189,217,221,222,223,224,225,226,399,460,470,473,482,486,489,498],deterministicli:144,dev:6,dev_idx:14,develop:[14,461,478,480,485,488,490],deviat:[15,206,212,213,214,243,250,251,252,259,309,359,421,422,471,498,505],devic:[1,2,4,11,14,18,32,37,44,51,90,91,92,101,112,113,123,124,143,147,148,158,159,173,177,185,187,189,230,237,273,324,348,361,362,377,378,379,380,381,382,383,384,415,432,433,440,442,455,456,458,459,460,461,463,467,470,472,477,479,482,485,486,488,489,490,494,498],device_count:[11,14],device_id:[14,159,230,309,324,470,477],device_of:11,devito:7,df1:15,df2:15,dfrac:[228,353,355,470,498],dhanainm:7,dhanasekar:7,diag:[15,365,425,426,427,460,498],diag_emb:[83,425,427,460,498],diagflat:[80,460,498],diagn:15,diagnost:459,diagon:[15,52,80,81,82,89,101,435,438,439,440,441,442,460,470,478,496,498],diagonaltensor:478,diagram:492,dict:[1,11,15,143,150,151,159,230,237,238,273,274,283,299,319,457,459,460,462,465,478,485,486,488,490,491,502,503],dictat:324,dictionari:[9,11,13,15,143,147,150,151,160,235,236,237,273,274,283,461,462,470,478,485,486,488,490,500,503],did:[2,5,461],didn:[473,478,484,486],dies:466,dieterich:7,diff:[5,459],differ:[1,2,4,9,11,13,14,15,32,81,83,86,89,105,106,128,131,143,148,150,202,212,213,214,218,219,220,230,237,250,251,252,271,273,276,279,293,294,295,296,297,309,315,317,323,324,365,389,392,446,447,457,459,461,463,466,467,470,472,473,474,475,476,477,478,481,482,484,485,486,488,490,492,493,495,498,500,503],differenti:[15,216,217,324,470,473,478,479,490,498],difficult:[2,5],difficulti:[5,471],digamma:[368,460,467,498],digamma_:[460,467,498],digit:[406,457,465,480,500],dilat:[221,222,223,224,225,226,238,267,268,269,319,460,470,485,488,504],dim0:[436,460,498],dim1:[81,83,436,460,498],dim2:[81,83,460,498],dim:[2,11,15,33,34,35,58,65,72,73,74,75,76,103,104,114,128,154,167,174,185,186,187,189,191,196,202,228,230,236,237,264,279,280,281,303,305,324,329,333,335,342,343,353,355,358,370,388,389,393,394,414,416,419,420,421,422,424,433,434,437,445,446,447,448,450,451,459,460,468,470,479,485,488,493,495,498],dim_arang:485,dim_feedforward:[313,315,317],dimems:498,dimens:[2,8,11,13,15,24,33,34,35,52,58,61,62,64,65,72,73,74,75,76,79,81,82,83,89,102,126,128,130,131,154,167,168,174,178,182,185,186,187,188,189,191,195,196,208,209,210,211,212,213,214,215,216,217,222,223,225,226,228,229,230,234,235,236,238,240,244,245,246,247,248,250,251,252,253,254,256,259,260,261,262,263,264,265,268,269,279,280,281,282,286,290,291,292,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,315,317,318,319,324,329,330,331,332,333,334,335,336,349,350,352,353,355,357,358,366,370,372,373,375,388,389,390,392,393,398,406,412,413,414,415,416,419,420,421,422,423,424,425,427,428,433,434,436,437,438,439,440,441,442,445,446,447,448,450,451,452,453,460,461,470,471,474,479,488,493,495,498,505],dimension:[2,15,52,57,81,83,105,106,114,158,173,182,188,202,218,219,220,229,230,235,236,264,280,293,294,295,296,297,303,305,309,323,357,375,415,432,470,471,474,494,495,498,499],dims_i:485,dims_oth:460,dims_self:460,dine:503,diningt:503,dir:[457,485,500],dirac:471,dirac_:[463,471],direct:[5,6,8,14,105,106,143,237,241,253,257,273,287,355,365,375,394,473,478,482,488,505],directli:[1,5,6,9,10,13,14,15,116,143,237,273,303,349,363,364,459,461,470,476,477,480,481,485,488,490,493],directori:[9,14,457,465,480,483,497,500,503],dirnam:457,dirti:473,disabl:[1,93,150,151,324,356,402,403,406,461,472,475,476,489],disable_cuda:476,disable_jit_exampl:459,disadvantag:459,disallow:[490,495],disambigu:165,disappear:467,discard:[141,457,461,473,504],disconnect:2,discourag:[2,11,473],discov:[14,490],discrep:375,discret:[15,102,126,131,253,392,470,498,499],discrimin:353,discuss:[6,15,490,492,503],disjoint:459,disk:[2,13,397],dispatch:[14,146,478,485],displai:[11,457,462,465,470,485,503,506],displaystyl:195,dissimilar:[227,248],dist:[1,14,15,413,425,460,477,492,498],dist_autograd:[324,490,491],dist_autograd_simpl:491,dist_optim:[324,490,491],distanc:[59,141,196,227,248,253,282,318,423,437,486,500,504],distinct:[79,168,412,425,427,478,490,491],distort:505,distortion_scal:505,distribut:[8,13,17,45,193,202,206,230,231,232,233,240,253,286,290,309,324,359,367,375,377,378,379,380,381,382,458,460,468,471,472,476,488,492,493,498,499],distributed_test:14,distributeddataparallel:[1,13,14,230,309,481],distributedoptim:[324,490,491],distributedsampl:13,distutil:9,div:[25,108,202,443,460,467,485,493,495,498],div_:[460,467,493,498],div_factor:486,div_valu:202,dive:477,diverg:[150,151,253,470,485],divid:[1,4,11,86,102,148,210,211,217,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,392,425,470],dividend:[109,387,443],divis:[13,25,65,86,108,109,148,221,222,223,224,225,226,228,254,265,282,301,387,416,443,470,472,488],divisor:[109,208,209,238,319,387,443,470,488,498],divisor_overrid:[208,209,460,470,488],divmod:460,dlibenzi:7,dll:484,dlpack:458,dltensor:16,dmytro:[6,7],dnn:475,do_constant_fold:485,doc:[2,3,10,153,314,315,316,317,462,466,473,478,485,488],doc_str:485,docstr:[9,457],document:[11,13,14,33,34,35,56,86,116,143,202,235,236,237,273,333,342,363,364,371,391,457,461,466,467,468,469,472,478,479,485,488,496,499,506],doe:[1,2,3,4,5,6,9,11,14,15,53,87,89,117,128,131,142,148,150,156,177,181,182,185,187,189,190,194,212,213,214,221,222,223,224,225,226,229,235,236,238,241,242,250,251,252,257,258,267,268,269,274,280,283,287,289,309,319,331,362,456,457,459,461,463,464,466,467,468,470,472,474,475,476,477,478,481,485,488,490,492,493,495,498,501,505],doesn:[1,2,4,5,8,11,13,14,79,147,159,168,230,253,303,324,325,338,412,459,462,467,470,474,478,480,481,484,485,486,488,491],dog:[500,503],doi:160,doing:[5,10,13,136,150,470,478,484,488],domain:[6,15,22,42,485],domin:488,don:[1,2,3,5,8,14,181,185,189,250,251,252,320,324,359,457,459,462,466,467,468,470,473,478,479,481,484,485,486,488,490,491,498,505],done:[10,13,14,15,17,150,177,184,212,213,214,230,250,251,252,309,419,464,466,475,477,479,482,485,488,490,492,498,505],donot_use_mm_for_euclid_dist:59,donut:503,dot:[1,2,73,74,75,76,102,126,182,210,211,238,248,253,254,265,279,280,392,423,452,453,460,467,498,505],doubl:[2,56,79,143,168,169,170,171,172,236,237,273,366,412,425,467,470,478,488,494,495,498],double_tensor:495,doubler:[2,93,356],doubletensor:[23,24,25,26,27,28,29,43,66,192,401,432,495,498],down:[2,5,11,13,15,106,108,470,480,481,488,490,492],download:[465,484,497,500,503],download_url_to_fil:457,downsampl:[225,320,470],downstream:1,doxygen:5,dp_m:479,dp_model:472,dpotri:63,dpython:[56,505],dqm:488,draw:[13,45,193,375,498],drawn:[13,193,359,375,379,380,471,498,499],drier:503,drive:[6,14,473],driven:6,driver:490,drop:[13,146,206,459,468,473,481,500],drop_last:13,dropout2d:460,dropout3d:460,dropout:[4,143,206,232,233,237,241,257,273,279,287,288,313,315,317,460,464,468,485],dropout_:[460,464],dropout_p:460,dropout_st:460,dset:500,dst1:11,dst2:11,dst:[14,457],dst_name:491,dst_rank:491,dst_tensor:14,dst_type:[143,237,273],dtype:[1,8,11,12,13,14,32,37,44,45,46,47,48,49,50,51,56,75,76,86,90,91,92,101,111,112,113,118,123,124,127,138,139,143,158,169,170,171,172,173,177,193,211,217,229,237,238,241,257,273,280,287,293,294,295,296,319,320,321,322,338,348,358,361,362,370,371,373,374,375,377,378,379,380,381,382,383,384,385,391,400,401,402,415,424,432,440,442,443,446,452,453,455,456,459,460,461,463,468,470,476,478,485,493,494,498,500,505,507],dtype_filt:488,dtype_input:488,duck:478,due:[2,3,4,5,15,131,177,313,366,426,459,470,473,476,482,490,492,498],duersch:160,duerschetal2018:160,dummi:[13,478,504],dummy_add:478,dummy_input1:485,dummy_input2:485,dummy_input:485,dump:484,dump_alias_db:145,dump_patch:273,duplic:[13,44,51,67,123,124,143,237,273,415,446,447,479,493,498],dure:[1,2,4,9,11,14,148,150,159,206,212,213,214,230,231,250,251,252,309,315,317,324,440,442,464,467,470,472,473,475,476,477,480,485,488,490,492,493,498,503],dynam:[1,9,10,13,147,150,159,461,462,471,485,486],dynamic_ax:485,dynamic_threshold:486,dzhulgakov:[6,7],e_float16:1,each:[1,2,4,9,11,13,14,15,16,23,24,32,43,46,53,55,59,60,62,65,66,73,74,77,86,88,89,94,96,97,98,102,105,106,107,110,115,122,126,131,137,138,139,140,143,150,151,154,155,159,160,174,175,176,177,183,185,186,187,188,189,191,192,193,197,202,207,210,211,215,217,221,222,223,224,225,226,227,229,230,231,232,233,235,236,237,238,241,242,243,248,250,251,252,253,254,255,256,257,258,259,261,265,266,273,276,277,278,279,280,281,286,287,289,301,302,304,309,312,318,319,324,348,349,351,357,359,367,369,370,376,384,388,389,392,393,395,396,398,406,416,421,422,423,424,425,427,437,446,447,449,450,451,457,461,467,468,470,471,472,473,474,475,476,477,478,479,480,481,482,485,486,488,490,491,492,493,495,498,500,502,503,504,505,506],eager:[405,488],eagerli:11,earli:[232,233],earlier:[1,2,479,480,485],earliest:477,eas:[2,475,478],easi:[13,459,479,480,481,485,488,490,491],easier:[5,13,36,299,459,461,468,474,478],easili:[5,8,14,280,470,486,489,490,492],ecosystem:480,edg:[2,470,488,491,505],edgeitem:406,edit:496,edouard:202,edu:217,edward:[6,7],effect:[1,2,5,9,13,143,202,217,224,225,226,231,232,233,237,273,320,325,334,356,403,457,459,464,470,472,473,476,486,488,494,498,505],effici:[2,8,13,15,61,152,160,202,232,233,236,285,464,473,477,478,488,490,491,493,495,496,498,499,503],effort:490,eig:[8,460,498],eigenpair:160,eigenproblem:160,eigensolv:160,eigenvalu:[88,160,184,365,427],eigenvector:[88,160,427,460,498],eight:[457,465],einstein:89,einsum:[460,485],either:[2,9,13,14,15,58,109,140,141,143,159,188,200,201,204,205,208,209,210,211,222,223,225,226,227,229,237,248,253,254,256,265,266,268,269,273,276,277,278,280,286,287,289,301,302,318,320,321,322,324,340,369,371,387,423,454,457,459,461,463,468,470,471,474,476,478,479,480,481,485,486,488,490,491,492,496,498,502,507],elaps:11,elapsed_tim:[11,476],elapsed_time_m:476,elast:490,eleg:481,elem:460,element:[2,11,13,14,15,19,21,22,23,25,26,30,31,33,34,36,38,39,40,41,42,45,52,54,60,66,67,69,70,71,73,74,75,76,77,80,82,83,86,88,92,94,95,96,97,98,99,100,107,109,110,114,115,122,125,134,137,138,139,140,141,154,155,161,162,164,167,169,170,171,172,175,176,177,185,186,187,189,192,193,195,197,198,206,207,210,211,212,213,214,216,217,221,222,223,224,225,226,227,229,231,232,233,234,236,238,241,242,244,245,246,247,248,253,254,257,258,259,260,263,265,266,267,268,269,274,276,277,278,279,280,281,283,285,286,287,289,290,291,292,298,300,301,302,303,305,306,308,309,310,311,312,313,318,319,348,349,351,352,357,359,360,366,367,369,370,372,376,386,387,389,390,393,395,396,406,408,409,410,411,414,415,417,418,421,422,424,429,430,431,434,435,437,438,439,440,441,442,444,446,447,450,451,454,470,471,474,475,488,493,494,495,496,498,499,500,504,505],element_s:[460,467,494,498],elementari:116,elementwis:[11,30,250,251,252,307,449,470],elementwise_affin:[259,488],eleph:503,elf:479,elif:461,elig:492,elimin:[14,446,447,498],ell:[210,211,248,253,254,265,280],ell_c:211,ellips:89,ellipsi:[89,462,468],ellipsis_idx:460,elman:[287,289],els:[5,9,13,14,15,46,149,152,241,257,287,459,461,462,463,466,470,476,478,494,498,500,505],elsewher:[101,457],elu:[460,485],elu_:[460,470],embed:[10,202,227,236,248,279,460,475,485,488,490,497],embed_dim:279,embed_dim_to_check:460,embedding_bag:[460,482],embedding_dim:[235,236,470],embedding_matrix:470,embedding_renorm_:460,embedding_sum:236,embeddingbag:470,emerg:484,emit:[2,9,150,489,500],emit_nvtx:[2,3],emnist:501,empir:290,emploi:486,employe:6,empti:[1,14,45,46,58,88,91,92,156,169,170,171,172,195,210,211,229,236,280,324,362,415,427,432,456,459,460,461,463,464,467,468,470,471,474,476,485,493,498,499,500],empty_cach:[11,476],empty_lik:[460,463,467,485],empty_meta:460,empty_quant:460,empty_strid:[460,463],emptydatastructur:461,emul:[462,478,488],enabl:[1,2,12,13,14,93,241,257,287,288,324,329,330,331,332,333,334,335,336,402,403,406,464,472,474,475,476,480,484,485,486,489,490,491,498,499],enable_grad:[2,356,403,463,499],enable_onnx_check:485,enable_tim:[11,476],enablerecordfunct:480,encapsul:[17,490],encod:[14,159,210,211,313,314,315,316,317,459,462,478,491],encoder_lay:[316,317],encount:[14,235,459,463,470,475],encourag:6,end:[1,5,6,11,13,14,32,44,66,83,125,141,156,158,160,173,175,196,209,210,211,227,241,242,244,245,246,247,248,253,254,257,258,260,265,268,269,275,280,281,284,290,301,307,312,384,406,446,447,454,459,460,461,466,470,472,473,477,479,484,486,488,490,498,502],end_dim:[103,237,460,498],end_ev:[11,476],end_pt:502,endl:480,endpoint:505,enforc:[143,237,273,496],enforce_sort:[349,350,351],engin:[2,8,10,375,473,477,478,488,490,491,498],enhanc:505,enough:[149,193,415,461,466,473,478,486,495,505],enqueu:[11,476,491],ensur:[1,2,3,5,6,13,14,206,276,277,279,313,324,405,457,459,461,465,466,472,473,476,478,481,482,485,488,491,498,503],ensure_tensor:478,enter:[1,14],entir:[4,5,9,13,232,233,250,251,252,259,333,335,355,470,478,479,480,483,488,490,492,505],entiti:500,entranc:5,entri:[1,2,14,15,83,89,105,106,128,279,333,334,342,415,459,462,473,477,478,486,488,493,497,500],entropi:[1,15,210,277,470],entrypoint:466,entrypoint_nam:457,enumer:[13,15,143,237,273,275,284,460,461,472,476,484,486],enumerate_support:15,env:[14,15,490],envelop:141,environ:[5,9,10,15,150,457,459,473,475,476,484,490,503],environment:11,epoch:[1,13,472,486],eps:[2,184,212,213,214,228,243,250,251,252,259,282,286,309,318,353,460,470,478,486,488,507],epsilon:[32,184,212,213,214,228,243,250,251,252,259,309,353,460,470,486],epub:160,eq_:[460,498],equal:[1,11,14,15,30,44,51,60,61,66,82,94,107,123,124,125,134,137,158,177,178,199,200,201,203,204,205,210,211,217,222,223,225,226,230,238,239,241,257,278,286,287,319,349,352,416,423,454,460,462,467,468,470,474,488,498],equal_nan:[30,137,460,498],equat:[8,64,89,123,210,413,438,460,473,505],equival:[4,13,15,57,59,67,81,91,92,105,106,113,131,142,143,148,150,151,202,212,213,214,221,222,223,224,225,226,235,236,237,243,250,251,252,259,273,309,319,321,362,375,378,382,387,392,428,432,443,447,456,459,461,470,473,485,488,495,498,503],eras:505,erf:[98,460,467,485,498],erf_:[460,467,498],erfc:[460,467,498],erfc_:[460,467,498],erfinv:[1,460,467,498],erfinv_:[460,467,498],errno:484,error:[1,2,4,5,9,11,13,15,17,32,96,97,98,146,159,177,193,195,210,211,240,254,265,301,419,423,459,461,466,467,468,470,472,473,476,478,482,485,488,490,498,503,505],especi:[6,8,13,14,36,54,92,461,470,473,485,490,498],essenti:[13,14,468,484],estim:[1,13,15,131,141,212,213,214,243,250,251,252,259,309,421,422,437,450,451,486],eta:486,eta_:486,eta_min:486,eta_t:486,etaminu:486,etapli:486,etc:[2,8,13,14,15,141,143,237,273,389,461,478,479,481,485,486,488,490,499],eth0:14,eth1:14,eth2:14,eth3:14,ethernet:14,euclidean:[59,470],eval:[143,145,150,212,213,214,237,250,251,252,273,309,464,485,503],evalu:[3,15,143,202,206,212,213,214,231,237,243,250,251,252,259,273,286,290,309,375,462,470,473,478,482,486,488,500,503],even:[2,13,14,131,134,230,356,425,452,459,470,476,478,479,481,482,492,495,498],event:[2,15,150,151,165,466,476],event_dim:15,event_nam:480,event_shap:15,eventlist:2,eventu:[2,5],ever:459,everi:[1,2,13,14,15,143,206,231,232,233,237,273,303,305,324,353,355,356,447,470,472,473,476,477,478,485,486,488,490,491,492,494,498,500,503],everyon:5,everyth:[5,13,15,459,466],everywher:[423,470],evid:5,evolv:[477,485],exact:[2,33,34,35,185,187,189,225,324,471,477,481,483,493,504],exactli:[2,9,14,15,89,141,143,236,237,238,273,467,470,473,476,477,478,485,500,504,505],examin:485,exampl:[1,2,4,5,9,11,13,14,15,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,114,115,117,118,122,125,126,127,128,130,131,134,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,272,273,274,275,276,279,280,281,282,283,284,285,286,287,289,290,291,292,293,294,295,296,297,298,299,300,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,337,338,339,340,341,342,343,344,345,346,347,350,351,352,353,355,356,357,358,359,360,361,362,366,367,368,369,370,371,372,373,374,375,376,377,379,381,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,400,401,402,403,408,409,410,411,412,413,414,415,416,417,418,419,421,422,424,425,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,461,462,465,467,468,470,471,473,474,475,476,478,479,480,481,484,486,488,490,492,493,495,496,497,498,499,500,503,504,505,506],example_forward_input:[150,151],example_input:[150,151],example_method2_input:151,example_output:485,example_weight:[150,151],exce:165,except:[2,4,5,11,14,15,22,42,58,147,152,154,159,174,185,186,187,189,191,241,257,287,320,348,353,370,389,421,422,424,437,443,450,451,459,461,462,463,466,470,476,478,484,485,490,492,493,495,498,503,505],exchang:[14,81],exclud:[325,439,440,441,442,470,491,500],exclus:[13,14,15,379,380,383,473],execut:[1,2,3,4,5,9,10,11,13,14,17,144,150,151,159,230,324,404,459,461,462,464,472,473,474,475,479,480,481,482,484,485,488,490,491],exist:[2,5,6,9,13,14,15,36,145,150,160,274,283,366,457,459,466,467,474,478,480,485,490,492,496,498,500],exit:[1,2,3,324,466,481,485,492],exp:[1,2,15,167,174,211,216,229,234,263,264,277,286,298,300,302,303,305,306,310,369,423,460,467,470,485,498],exp_:[460,467,498],exp_add:2,exp_famili:15,exp_rang:486,exp_reduc:2,expand:[2,6,15,36,188,457,460,467,468,474,485,488,496,498,505],expand_a:[130,460,478,485,496,498],expans:505,expect:[2,5,13,14,128,141,150,151,185,187,189,212,213,214,229,241,242,243,250,251,252,253,257,258,259,280,287,289,303,309,313,315,317,320,349,428,452,463,470,473,477,479,486,497,500,503,504,505],expens:[3,13,15,480,490,498],experi:[8,324,478,497,503],experiment:[14,17,324,459,461,467,468,482,484,485],expert:6,explain:[10,457,472,476],explan:[473,478],explicilti:461,explicit:[1,116,136,433,462,467,470,472,476,478,485,488,496],explicitli:[1,11,14,81,83,459,461,462,470,476,478,480,485,486,488,489,490,493],explitili:461,explod:301,explor:457,expm1:[1,460,467,498],expm1_:[460,467,498],expon:[15,202,262,369,460,470,495,498],exponenti:[99,100,165,166,167,174,216,498,499],exponential_:[460,467,498,499],exponential_average_factor:460,exponentiallr:486,export_chrome_trac:2,export_param:485,export_raw_ir:485,export_to_pretty_str:485,expos:[1,2,14,17,476,480,490],express:[8,89,102,126,423,462,464,473,478,498],exptransform:15,ext:[457,465,500],ext_modul:9,extend:[2,15,275,284,458,480,481,485],extens:[9,14,15,159,397,472,490,500,506],extension_kernel:9,extent:475,extern:[150,475,484],external_data_format:485,extra:[5,14,143,147,148,159,237,273,280,425,427,468,473,475,477,478,479,480,500,504],extra_block:504,extra_cflag:9,extra_compile_arg:[9,484],extra_cuda_cflag:9,extra_fil:[147,148],extra_include_path:9,extra_ldflag:9,extra_repr:[143,237,273,478],extract:[235,238,319,470,490],extrafilesmap:[142,143,147,148,480],extrafpnblock:504,extrem:3,extrema:470,extrud:479,eye:[15,63,130,184,372,460,463,478],eye_:[463,471],eyes:5,ezyang:[6,7,496],f_add:488,f_float16:1,f_float32:1,f_t:257,fab:460,face:478,facebook:6,facil:[159,466],facilit:[15,81,457,459,482],fact:[2,44,51,123,124,459,478,491,498],factor:[1,15,27,28,29,43,62,63,64,175,177,178,179,231,262,285,363,364,372,413,470,471,472,486,488,504,505],factori:[2,8,15,460,468,476,488],fail:[2,5,11,15,131,147,148,159,160,177,463,466,481,484,485,490],failur:[2,6,14,15,143,150,151,237,273,466,490,492],fake:[488,500],fake_quant_en:488,fake_quantize_per_channel_affin:460,fake_quantize_per_tensor_affin:460,fakedata:501,fakequant:488,fall:[5,159,301,470,485],fallback:[9,14,472,485],fals:[1,2,4,9,11,13,14,15,30,32,33,34,35,44,47,49,50,51,53,55,56,62,63,64,67,88,90,91,92,94,95,101,102,112,113,114,115,122,123,124,126,131,134,137,138,139,140,141,143,146,150,151,152,154,155,158,169,170,171,172,173,174,176,177,181,184,185,186,187,189,191,193,197,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,227,229,231,232,233,234,235,236,237,239,241,242,243,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,265,266,267,268,269,273,276,277,278,279,280,282,286,287,288,289,290,291,292,298,301,302,309,312,313,318,320,324,340,349,350,351,352,356,357,358,361,362,364,370,372,375,377,378,379,380,381,382,383,384,392,397,398,402,403,406,414,415,421,422,423,424,425,427,432,434,438,449,450,451,454,455,456,457,459,460,461,464,465,466,468,470,472,473,479,482,483,485,486,488,489,490,494,496,497,498,499,500,503,504,505,506],famili:15,familiar:[10,11,459,473,491,492],fan:471,fan_in:471,fan_out:471,fang:7,faq:[13,230,351,458],far:470,fashion:[5,14,165,338,459,498,501],fashionmnist:500,fast:[5,13,250,251,252,301,375,475,476,478,486,490,495,496,504],fast_forward:375,faster:[1,2,8,13,53,89,160,288,303,324,464,470,476,488,501],faster_rcnn:503,fasterrcnn_resnet50_fpn:503,fastest:[324,357],fatal:[466,481],favor:[11,247,321,322,384,470,488,505],fbgemm:488,fbgemm_linear_fp16_weight:460,fbgemm_linear_fp16_weight_fp32_activ:460,fbgemm_linear_int8_weight:460,fbgemm_linear_int8_weight_fp32_activ:460,fbgemm_linear_quantize_weight:460,fbgemm_pack_gemm_matrix_fp16:460,fbgemm_pack_quantized_matrix:460,fcn:[503,504],fcn_resnet101:503,fcn_resnet50:503,fcntl:14,feat0:504,feat1:504,feat2:504,feat3:504,featmap_nam:504,featur:[6,8,10,14,149,199,200,201,202,203,204,205,226,231,232,233,239,241,242,257,258,279,287,289,304,313,315,317,318,324,365,458,459,461,462,468,470,478,479,485,488,490,504],feature_alpha_dropout:460,feature_alpha_dropout_:460,feature_dropout:460,feature_dropout_:460,featurealphadropout:470,featuredropout:485,featurepyramidnetwork:504,fedyunin:7,feed:[459,479],feedback:5,feedforward:[313,315,317,471],feel:5,feng:7,fep:160,fetch:[13,329,330,331,332,333,334,335,336,490],few:[1,2,5,457,473,479,484,496,498,499],fewer:[15,154,174,185,186,187,189,191,370,398,421,422,424,450,451,474,493,498,503],ffi:484,ffmpeg:501,fft:[8,126,131,392,460,476,498],fft_size:141,field:[2,5,14,143,202,210,211,227,229,237,248,253,254,265,266,273,276,277,278,280,286,301,302,318,348,470,477,481,485,486,491,502,503],figur:[5,475,477,485,492],file:[1,2,5,6,8,9,11,13,147,148,159,397,457,459,462,463,465,467,468,480,483,484,485,491,494,500,502,506],file_nam:[457,465],filenam:[9,142,147,148,457,460,465,494,502,506],fileno:485,filesystem:14,filesytem:457,fill:[14,46,81,90,92,112,113,177,236,313,361,362,377,378,379,380,381,382,455,456,468,470,471,476,498,505],fill_:[143,156,237,273,388,460,467,494,498],fill_diagonal_:[460,498],fill_row_zero:459,fill_valu:[112,113,217,460,476,498],fillcolor:505,filter:[141,221,222,223,224,225,226,423,470,488,498,505],final_div_factor:486,financi:6,find:[2,5,6,9,14,154,160,224,225,226,365,398,426,457,464,466,468,475,476,477,478,479,481,485,490,495],find_unused_paramet:[324,477],fine:[9,14,150,324,457,466,473,478,486,488,500,505],finetun:[143,237,273,473],finish:[14,17,476,477,484,490,492],finit:[2,3,15,137,138,193,210,478],fire:[477,480,503],first:[1,2,3,4,5,6,9,11,13,14,15,23,24,27,29,30,36,41,43,47,49,50,53,54,55,72,81,83,88,92,94,103,115,122,137,147,155,159,175,176,182,185,187,189,190,192,193,197,202,208,209,215,222,223,225,226,235,236,237,241,256,257,266,268,269,287,324,338,348,365,393,394,398,415,433,436,440,442,447,449,457,459,461,465,466,467,470,472,473,476,478,479,481,483,484,485,486,488,491,492,493,498,500,504,505],fisher:15,fit:[2,141,389,486,490,498],five:1,five_crop:505,fivecrop:505,fix:[13,15,89,235,236,459,470,472,479,481,482,484,485,500,503],flag:[2,9,11,14,44,51,53,62,123,124,179,324,392,403,459,466,470,473,476,485,498,505],flat:[389,485],flat_img:468,flatten:[33,34,82,319,389,393,446,447,460,467,468,471,485,488,498,505],flatten_paramet:288,flexibl:478,flickr30k:500,flickr8k:500,flickr:501,flip:[105,106,460,498,505],fliplr:[460,498],flipud:[460,498],float16:[12,111,133,143,237,241,257,273,287,472,488,495,498,507],float16_dynamic_qconfig:488,float32:[13,111,118,133,211,320,321,322,371,375,391,400,401,415,452,470,472,485,488,495,498,505,507],float64:[1,8,111,118,133,143,237,273,373,400,401,402,415,432,452,495,498,505,507],float_tensor:495,floatstorag:494,floattensor:[1,2,14,23,24,25,26,27,28,29,43,66,118,192,235,236,276,279,313,401,493,495,498,503,505],floor:[148,207,208,209,255,256,267,268,269,423,460,467,470,485,488,498],floor_:[460,467,498],floor_divid:[25,86,460,485,498],floor_divide_:[460,498],flow:[1,150,459,470,473,478,485,488,492],flush:[1,2,11,148,397,402],fly:[13,329,330,331,332,333,334,335,336,473,500],fmassa:7,fmod:[387,460,498],fmod_:[460,498],focu:486,focus:461,fold:[319,426,460,464,485,488,500],fold_param:[238,319],folder:[5,9,13,457,500],folk:5,follow:[1,2,5,6,8,10,11,12,13,14,15,55,86,88,89,96,97,102,126,131,143,160,182,185,189,202,211,217,236,237,238,241,257,273,287,319,324,358,365,392,398,415,423,437,457,459,460,461,462,463,464,465,466,467,468,470,471,472,473,474,475,476,479,481,484,485,488,490,491,492,493,495,496,498,500,503,505,507],followup:492,foo:[9,144,147,148,149,150,457,459,461,485,488],foo_build:488,foo_forward:485,foo_instance1:488,foo_instance2:488,foo_namespac:485,foomodel:485,foomodul:485,foral:498,forc:[1,2,9,11,144,153,457,459,472,476],force_reload:457,force_stop:160,forev:[466,477],forg:[484,485],forget:[257,461],forgotten:484,fork:[13,153,324,475,479,480,481,484,489,490,492,503],fork_rng:489,forkid:492,forkingpickl:484,forkserv:[324,466,481],form:[2,5,6,8,13,15,62,81,88,200,201,204,205,217,239,241,257,287,319,320,364,433,459,462,470,473,478,482,485,486,488],formal:[55,398,468],format:[2,12,90,91,113,131,143,217,236,237,241,257,273,287,324,349,351,362,378,380,382,392,397,415,456,457,459,462,478,483,488,491,493,495,498,500,502,503,504,505,506],formul:[216,234,244,264,306,307,470],formula:[2,15,44,51,89,123,124,156,286,374,470,473,478,486,488],forth:[449,457,486,505],fortun:479,forum:[5,6,479,481],forward:[1,2,4,9,143,144,145,146,148,149,150,151,152,206,210,230,231,232,233,236,237,241,257,270,271,272,273,274,275,279,280,283,284,287,313,314,315,316,317,324,329,330,331,332,333,334,335,336,345,353,355,375,425,459,461,464,466,468,470,471,472,473,475,476,477,478,479,480,482,485,488,490,493],forward_hook:488,forward_pre_hook:340,found:[1,10,55,72,73,74,154,185,187,189,191,206,216,298,398,459,472,478,481,485,488,497,503],four:[478,490,492,505],fourier:[102,126,131,141,392,423],fp16:324,fp32:[78,324,488],fparam:160,fpn:[503,504],fps:502,frac:[15,25,32,44,51,84,86,96,97,102,108,123,124,126,195,202,207,208,209,210,211,212,213,214,215,221,222,223,224,225,226,229,231,238,241,242,243,250,251,252,255,256,257,258,259,261,262,263,264,267,268,269,276,277,278,280,287,289,290,300,301,302,303,305,306,308,309,310,319,368,384,386,392,396,408,423,443,460,467,470,471,473,486,488,498,505],frac_:[460,467,498],fraction:[13,110,224,225,226,239,332,333,335,336,338,341,342,343,344,471,502,505],fractional_max_pool2d:460,fractional_max_pool2d_with_indic:460,fractional_max_pool3d:460,fractional_max_pool3d_with_indic:460,fragment:11,frame:[141,423,479,500,502,503],frame_r:500,frames_per_clip:500,framework:[5,6,15,17,324,406,458,485,486,491,492],francisco:7,frank:15,free:[2,5,14,15,144,150,160,464,471,473,479,481,484],freed:[2,11,466,476,490,498],freedom:[15,473],freez:[143,235,236,237,273,473],freeze_bn:488,freeze_modul:464,freeze_support:484,frequenc:[46,131,202,235,236,423,470,486],frequent:[8,202,458],fresh:457,frexp:460,friendli:485,frisbe:503,fritz:7,fritzo:7,fro:[333,342,358,498],frobeniu:358,frobenius_norm:[460,485],from:[1,2,4,5,6,9,10,11,13,14,15,17,18,32,37,44,45,51,52,55,56,77,111,123,124,141,143,144,146,147,148,159,160,178,179,193,196,202,206,212,213,214,215,221,222,223,224,225,226,227,230,231,232,233,235,236,237,238,241,242,243,250,251,252,257,258,259,261,273,274,275,279,283,284,287,289,290,309,314,315,319,324,325,329,330,331,332,333,334,335,336,338,340,345,346,347,348,349,350,351,352,355,359,363,364,365,367,375,376,377,378,379,380,381,382,383,384,389,390,391,394,397,398,406,415,423,425,426,432,438,440,442,446,447,449,454,459,460,461,463,464,465,466,468,469,470,471,476,477,478,479,480,481,486,488,490,491,492,493,495,497,498,499,500,502,503,504,505,506],from_buff:494,from_dlpack:16,from_fil:[460,494],from_float:488,from_ipc_handl:11,from_numpi:498,from_pretrain:[235,236],front:[160,276,468,498],frontend:10,frozen:[145,462,473,484,486,503],frozen_modul:145,full:[10,13,14,15,44,51,113,123,124,131,160,175,211,217,221,222,223,224,225,226,286,313,392,406,425,426,457,459,460,461,463,468,470,472,478,485,488,490,491,496,500],full_lik:[156,460,463,485],fulli:[13,14,270,271,272,473,478,488],func:[2,144,150,151,153,472,478,490,492],func_dict:478,func_nam:490,func_output:2,functional_modul:488,functioneventavg:2,functool:[478,488],functor:15,fundament:[5,461,490],further:[2,6,9,14,116,202,363,364,481,482,492,497],furthermor:[9,231,467,468,482,488],fuse:[464,467,488,505],fuse_known_modul:488,fuse_modul:488,fused_m:488,fuser_func:488,fusion:[150,151,464,488],fut0:17,fut1:[17,490],fut2:490,fut:[17,144,475,490],fut_list:17,futur:[2,11,25,86,144,148,153,458,459,460,461,462,464,468,470,475,478,485,486,488,490,493,498],fvar:160,fwd:1,fwd_output:472,g_cpu:18,g_cpu_oth:18,g_cuda:18,g_float16:1,g_float32:1,g_t:257,gain:[6,471,505],galleri:5,gamma:[84,157,195,212,213,214,243,250,251,252,259,309,460,486,505],gamma_:195,gan:[143,237,273,353],ganem:15,gap:[32,384],garbag:[13,492],gate:[241,242,257,470],gather:[11,14,460,478,479,480,485,498],gather_list:14,gaussian:[15,240,470],gcc:10,gcd:460,gchanan:[6,7],ge_:[460,498],gelu:[1,313,315,317,460,485],gemm:[475,485],gen_non_contig_grad_output:2,gencod:11,gener:[2,5,9,13,14,15,45,116,121,123,129,131,160,180,185,187,189,193,238,313,319,320,329,330,331,332,333,334,335,336,353,359,365,367,375,379,380,399,407,426,433,449,459,460,461,462,463,464,467,470,471,473,476,478,479,480,482,484,485,486,488,489,490,491,493,495,498,500,501,503],generate_square_subsequent_mask:313,gentl:459,geometr:[449,470,488,498,499],geometri:[102,126,131,392,476],geometric_:[460,498,499],georg:7,geq:[114,115,175,229,260,280,281,290,368,470,471],geqrf:[363,364,460,498],ger:[460,498],gesdd:425,gesvd:425,get:[2,8,9,11,13,14,17,18,24,55,80,118,143,150,235,236,237,255,256,270,271,272,273,324,325,349,353,388,398,457,459,466,467,473,476,478,479,480,485,486,488,490,492,496,498,500,501,504],get_all_sharing_strategi:466,get_arch_list:11,get_backend:14,get_backoff_factor:1,get_context:481,get_debug_st:142,get_default_dtyp:[32,384,495,507],get_default_qat_qconfig:488,get_default_qconfig:488,get_devic:[460,467,493,495,498],get_device_cap:11,get_device_nam:11,get_dir:[457,465],get_gencode_flag:11,get_gradi:[460,490,491],get_growth_factor:1,get_growth_interv:1,get_ignored_funct:478,get_image_backend:501,get_info:[177,498],get_input:485,get_lr:486,get_num_interop_thread:475,get_num_thread:475,get_observer_dict:488,get_overridable_funct:478,get_rank:14,get_rng_stat:[11,489],get_rng_state_al:11,get_scal:[1,472],get_sharing_strategi:466,get_stat:18,get_testing_overrid:478,get_worker_info:[13,490],get_world_s:14,getattr:[460,490],getenv:480,getsourc:480,gil:[13,14,473,476,490],gimelshein:7,giraff:503,girshick:301,github:[5,6,14,313,457,463,478,485,486,488],give:[1,2,3,5,8,13,89,253,278,319,320,357,372,457,459,466,468,473,476,478,485,486,500,505],given:[1,2,5,6,9,11,13,14,15,17,19,31,32,35,45,48,54,57,58,64,65,67,69,72,78,80,89,104,131,143,147,150,151,154,156,160,167,169,170,171,172,174,175,185,186,187,189,191,195,202,210,211,217,227,229,230,235,236,237,239,241,248,253,257,266,270,271,272,273,275,277,278,279,280,284,287,301,304,318,320,321,322,324,348,353,355,358,359,364,367,370,373,374,384,389,393,414,415,416,419,424,426,429,433,434,436,445,450,451,457,459,465,466,470,471,472,473,475,477,478,480,485,486,488,490,491,493,498,500,505,506],glass:503,global:[4,13,14,15,32,44,51,90,92,101,112,123,124,144,150,158,173,334,338,361,377,379,381,384,455,459,462,472,478,480,481,490,491,492,503],globalcontext:484,gloo:[14,324,477,490],gloo_socket_ifnam:14,glorot:471,glove:503,glu:[460,485],gmm:15,goal:492,goe:[206,479],going:[2,5,14,466,473,475,480,484,497,498],gomez:[313,315,317],good:[5,9,18,281,457,466,478,480],got:478,govern:[5,458],gpu1:[143,237,273],gpu:[1,2,3,5,11,12,13,143,159,175,185,187,189,202,230,237,241,257,273,287,288,309,324,348,425,458,459,476,482,484,486,490,494,498,499,503,504],gpu_model:459,gpudirect:14,grace:490,grad0:477,grad1:477,grad:[1,2,4,8,15,93,324,403,459,460,467,468,472,473,477,481,486,490,491,493,498],grad_bia:478,grad_fn:[2,473,493,498],grad_input:[143,237,273,478,484],grad_loss:468,grad_norm:472,grad_out:460,grad_output:[2,143,237,273,460,473,478,484],grad_param:472,grad_tensor:[2,460],grad_vari:2,grad_weight:478,gradcheck:[2,131,478],gradgradcheck:[2,478],gradient:[4,8,13,14,15,93,114,143,160,185,187,189,210,217,224,225,226,229,230,235,236,237,255,256,273,280,301,324,325,326,327,356,403,425,427,459,460,468,470,473,477,478,479,486,490,491,493,498],gradscal:[1,472],graham:239,grai:505,grain:[14,473,488,505],grangier:202,grant:6,granular:472,graph:[2,4,15,37,143,144,145,149,150,324,464,469,477,478,485,488,490,491,492,497,498],graphexecutorst:142,graphic:484,graphroot:2,graphtask:473,grave:[202,217],grayscal:[497,505],great:5,greater:[3,60,61,195,210,318,353,470,473,485,488,504],greater_than:15,greater_than_eq:15,greaterthan:15,greaterthaneq:15,greatli:9,greedili:468,greg:[6,7],gregori:7,grep:479,grid:[188,460,470,497,504,506],grid_i:188,grid_sampl:460,grid_sampler_2d:460,grid_sampler_3d:460,grid_x:188,griffin:141,gross:[6,7],ground:[5,503],group:[2,6,13,221,222,223,224,225,226,243,309,324,447,457,460,466,470,471,477,485,486,488,497,498,504],group_by_input_shap:2,group_nam:14,group_norm:[1,460,485],grow:[5,493],growth:1,growth_factor:1,growth_interv:1,gru:[242,460],gru_cel:460,grucel:488,gt_:[460,498],gtcoars:500,gtfine:500,guanheng:7,guarante:[2,4,13,14,15,230,475,482,490,492,504],guard:481,guess:13,guid:[2,13,149,458],guidanc:[5,10],guidelin:[6,338,503],gumbel:470,gumbel_softmax:460,gunnar:[365,426],h_0:[241,257,258,287],h_1:258,h_i:304,h_n:[241,257,287],h_t:[241,257,287],hack:5,had:[5,150],hadamard:[241,242,257,258],haidar:7,hair:503,half:[1,2,15,131,143,221,222,223,224,225,226,237,239,273,392,423,467,470,486,494,495,498],half_cauchi:15,half_norm:15,half_open_interv:15,halfopeninterv:15,halftensor:[495,498],halko:[365,426],ham:[59,123,470],hamiltonian:15,hamming_window:[460,463],hand:[2,3,85,89,206,438,459,461,485],handbag:503,handi:476,handl:[1,2,4,8,9,11,13,14,143,230,237,273,324,329,330,331,332,333,334,335,336,426,457,466,468,470,476,478,479,481,485,488,490,492,498,500],handled_funct:478,handler:[334,480],hang:[324,477],hann:124,hann_window:[123,423,460,463],happen:[2,5,6,14,15,309,324,466,477,478,479,481,484,485,486,488,496,498],happi:5,hard:[2,5,160,244,459,460,461,470,473,485],harden:490,harder:[221,222,223,224,225,226,238,267,268,269,319],hardshrink:[460,498],hardsigmoid:[460,488],hardsigmoid_:460,hardswish:460,hardswish_:460,hardtanh:[460,464,485,488],hardtanh_:[460,470],hardwar:488,has:[1,2,4,5,6,8,10,11,12,13,14,15,17,18,33,34,37,45,59,62,81,83,93,109,128,141,143,145,147,148,149,150,154,159,168,174,175,177,185,186,187,188,189,191,210,211,212,213,214,221,222,223,224,225,226,229,230,231,236,237,238,239,241,243,250,251,252,253,257,259,267,268,269,273,277,278,280,281,287,303,309,319,320,324,329,333,335,338,348,349,356,357,358,359,370,387,389,397,398,403,412,419,421,422,424,450,451,459,461,466,467,468,470,472,473,474,475,476,477,478,480,481,484,485,486,488,489,490,491,492,493,494,495,498,499,500,503,505],has_bias:460,has_enumerate_support:15,has_nam:467,has_rsampl:15,hasattr:[460,478],hash:[457,460,465],hash_prefix:457,hasn:486,hat:[212,213,214,250,251,252,309],have:[1,2,4,5,6,8,11,13,14,15,18,44,45,51,58,59,72,79,95,102,114,123,124,128,142,143,144,145,147,149,150,151,154,159,168,170,174,175,185,186,187,188,189,191,193,202,206,210,221,222,223,224,225,226,229,230,235,236,237,239,247,250,251,252,259,266,273,276,277,278,279,280,324,325,326,327,351,356,358,370,375,412,421,422,423,424,427,432,443,450,451,452,457,459,460,461,463,466,467,468,470,471,472,473,474,476,477,478,479,480,481,482,484,485,486,488,489,490,491,492,493,495,496,497,498,500,503,504,505],hdr:7,head:[202,279,313,315,317,504],head_1:279,head_bia:202,head_h:279,head_i:279,header:[2,9,484],health:6,healthi:[5,6],heard:491,heart:13,heavi:[2,14,473,484],heavili:[3,475,478,486],hei:5,height:[208,209,222,223,225,226,256,268,269,280,304,320,468,470,485,488,500,504,505],held:[11,17,472],hello:461,help:[1,2,3,5,6,8,11,13,14,143,232,233,237,273,457,467,468,472,473,474,476,477,485,490,491,499],helper:[1,4,14,309,457,461,476,477,485,488,490],henc:[45,270,271,272,320,415,476,477,485,490,492,500],here:[1,2,5,6,10,13,14,15,149,212,213,214,250,251,252,281,299,309,324,375,425,457,459,461,463,467,468,470,472,476,478,479,480,484,485,486,496,498,500,503,506],hessian:[2,471],heurist:[9,13,504],hex:460,hflip:505,hidden:[4,241,242,257,258,287,289,325,476],hidden_s:[241,242,257,258,287,288,289,460],hierarch:497,hierarchi:[462,488],high:[3,5,10,15,217,379,380,460,466,488,490,498],higher:[5,11,14,125,229,266,280,426,478,480,488,490,495,498,504],highest:[202,379,380],highli:[6,202,324,457,485],highlight:488,hing:[276,278],hinge_embedding_loss:[1,460],hingeembeddingloss:470,hint:[459,461],hinton:486,his:486,histc:[460,498],histogram:[125,488,497],histogramobserv:488,histor:[11,25,475],histori:[2,478,479,486,491],history_s:486,hit:[4,457],hmc:15,hmdb51:501,hogwild:473,hold:[2,17,160,238,274,275,283,284,319,334,348,415,474,478,479,480,481,486,490,491,492,495,498,505],holist:5,holomorph:[8,473],hong:7,hood:[2,466,477,481,492],hook:[2,143,230,237,273,324,329,330,331,332,333,334,335,336,345,353,355,477,480,488,498],hop:[141,423],hop_length:[141,423,460,498],hope:473,horizont:505,hors:503,host:[13,14,143,237,273,324,476,491,494,498],hot:[15,470,503],houseroad:7,how:[2,4,5,6,10,13,14,102,126,131,148,159,238,273,319,320,324,348,392,459,461,465,466,467,468,469,470,472,475,477,478,479,481,485,488,490,491,492,503,505],howev:[1,3,4,5,6,8,10,11,13,14,15,81,83,126,144,148,159,160,177,210,224,225,226,230,235,236,324,348,366,461,472,473,476,478,481,482,483,484,485,490,492,493,498,500],hpp:477,hspmm:[460,493],hsv:505,html:[2,3,5,10,486,488],http:[2,3,5,10,14,15,89,160,217,290,291,313,355,365,457,462,465,484,485,486,488,497,503,505],hub:[458,465],hub_dir:[457,465],hubconf:457,huber:301,hue:505,hue_factor:505,huge:426,human:[0,11,471,485],hundr:[1,472,480],hurt:477,hvp:2,hxw:460,hybrid:493,hydrant:503,hyper:461,hyperbol:[22,39,42,71,411,431],i_0:433,i_d:433,i_n:433,i_t:257,icdf:15,icml_2006:217,idea:[5,202,480,491],ideal:[150,468],idempot:492,ident:[2,9,13,14,15,81,126,131,160,183,206,231,454,462,470,471,473,482,488,493,498,500],identifi:[5,14,159,309,462,466,473,474,480,490,491,492],identity_transform:15,idiom:484,ids:[309,470],idx:[13,143,202,237,273,460,468],ieee:141,iff:15,ifft:[102,131,460,498],ifs:462,ignor:[5,11,33,34,102,125,126,149,152,210,211,227,229,236,248,253,254,265,266,276,277,278,279,280,286,301,302,313,318,358,406,423,425,459,468,470,478,485,486,488,498],ignore_index:[229,280,460,470],ilia:7,ill:470,illia:[313,315,317],illustr:478,im2col:[319,460,485],imag:[13,200,204,205,221,222,223,224,225,226,229,238,239,251,280,285,304,319,321,322,460,470,473,496,497,498,500,501,503,504,506],image_s:[500,504],image_set:500,imagefold:501,imagenet:[14,471,501,503],imagenet_data:500,imagenet_root:500,imagin:490,imaginari:[8,88,102,126,127,138,139,140,423,452,453,462,473,498],imagnumb:462,imbalanc:202,img:[468,500,503,505],img_height:505,img_width:505,immedi:[5,6,143,144,237,273,490,492],impact:[482,488,496],imped:472,imper:14,implement:[2,4,11,13,14,15,25,36,143,147,148,159,160,185,187,189,202,217,230,237,255,256,273,285,291,306,315,317,324,338,351,353,355,366,368,372,375,397,425,426,433,446,461,462,466,470,472,473,475,478,479,480,481,482,484,485,486,488,490,491,493,496,498,500,501,503,504],impli:[466,490],implic:[150,490],implicit:[207,208,209,221,222,223,224,225,226,238,267,268,269,319,460,462,470,485,488,496],implicit_cast:485,implicitcasttyp:485,implicitli:[5,89,150,151,159,207,208,209,267,268,269,459,461],implicitly_compiled_method:459,imported_funct:472,importerror:484,impos:[466,472],imposs:472,improb:13,improv:[1,2,6,12,14,231,241,257,287,472,477,478,485,486,488,490,503],in1:[215,470],in1_featur:215,in2:[215,470],in2_featur:215,in_channel:[221,222,223,224,225,226,488,504],in_channels_list:504,in_featur:[143,202,237,261,273,353,355,488],in_height:504,in_proj_bia:460,in_proj_weight:460,in_width:504,inaccur:13,inaccuraci:2,inact:11,inactive_split:11,inactive_split_byt:11,inc:461,incas:498,incept:[485,505],inception_v3:503,incid:[490,492],includ:[1,2,3,4,5,6,9,10,13,14,143,207,208,209,217,230,237,270,271,272,273,349,350,352,439,440,441,442,457,459,461,464,466,470,475,476,479,480,482,488,490,492,498,499,500,501,503],include_last_offset:[236,460,470],include_path:9,inclus:[15,125,379,380,420,498],incom:[1,215,261,466,470,488],incompat:[6,9,474],incomplet:[13,463],inconsist:[32,478],incorpor:488,incorrect:[3,36,54,92,150,159,423,459,470,476,498],increas:[1,2,5,11,15,46,55,202,211,217,221,222,223,224,225,226,285,398,449,460,470,473,475,476,486,498,504,505],increment:[2,145,230,459,461,473],incur:[1,4,61,481],inde:[459,492],indent:462,independ:[2,6,11,13,14,231,232,233,355,459,470,472,488,498],index:[10,11,13,15,55,73,74,89,114,128,151,154,167,174,177,181,185,187,189,191,193,202,217,229,235,236,253,274,275,280,283,284,319,333,335,342,343,348,357,392,398,415,423,429,448,458,459,460,466,467,468,470,473,476,477,485,486,488,492,493,495,496,498,500,504],index_add:[460,498],index_add_:[460,482,498],index_copi:[460,485,498],index_copy_:[460,498],index_fil:[460,467,485,498],index_fill_:[460,467,498],index_put:[1,460,485,498],index_put_:[460,498],index_select:[460,482,485,498],indexerror:[333,335],indic:[1,2,11,13,14,15,33,34,35,55,62,73,74,89,102,114,128,143,146,152,154,159,167,174,177,179,184,185,187,189,191,193,202,203,204,205,235,236,239,267,268,269,270,271,272,276,278,357,392,398,414,415,429,434,439,440,441,442,446,447,454,459,460,467,468,470,478,485,486,490,493,496,498,504],individu:[5,6,13,62,130,143,183,217,237,273,309,324,467,472,478,480,482,488,490,498,502],induc:470,ineffici:488,inf:[1,15,22,42,55,85,98,137,138,139,168,264,303,313,326,333,342,358,398,412,472],infer:[2,8,10,32,37,89,356,384,390,400,401,415,432,458,459,461,467,470,485,486,488,493,498,503,504],inferencesess:485,infin:[138,210,326,486],infiniband:[14,324,490],infinit:[13,139,160,210,217,470,490],influenc:6,info:[11,14,177,458,502],inform:[2,3,5,13,14,131,141,143,151,237,273,279,313,315,317,348,371,391,459,475,478,480,485,490,495,497,498,500,503,505],infrastructur:6,infti:[59,141,210,255,256,470],ingredi:[250,251,252],inher:467,inherit:[340,459,461,478,481],init:[11,14,143,237,273,281,458,463,480],init_method:[14,324,490],init_process_group:[14,324,477,490],init_rpc:[490,491],init_scal:1,init_weight:[143,237,273],initi:[1,2,3,11,13,18,37,118,129,143,159,160,215,217,224,225,226,230,235,236,237,241,242,243,250,251,252,257,258,259,261,273,281,287,289,324,400,401,415,432,461,470,471,476,477,478,480,484,485,486,488,489,490,491,498,503],initial_accumulator_valu:486,initial_lr:486,initial_se:[11,13,18,489],inject:480,inlin:[9,143,145,150,475],inline_extens:9,inlined_graph:143,inner:[87,485,490],innermost:[15,398],inp:[2,13,319],inp_unf:319,inplac:[143,206,216,231,232,233,234,237,247,260,273,290,291,292,298,312,460,470,478,485,488,505],inplace_assign:485,inplaceindexedassign:485,input1:[215,228,241,242,282,287,289,460,470,472,484,485],input2:[64,215,228,241,242,282,287,289,363,364,460,470,472,484,485,498],input3:[364,460,498],input:[2,4,6,8,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,57,59,60,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,91,94,95,96,97,98,99,100,102,103,104,105,106,107,108,109,110,113,114,115,116,117,122,123,124,125,126,127,128,130,131,132,133,134,137,140,141,143,144,145,149,150,151,154,155,156,157,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,178,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,276,277,278,279,280,281,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,329,330,331,332,333,334,335,336,337,339,341,342,343,344,348,349,350,352,356,357,358,360,362,363,364,365,366,367,368,369,370,372,373,374,376,378,380,382,384,385,386,387,388,389,390,391,392,393,394,395,396,408,409,410,411,412,413,414,417,418,419,421,422,423,424,425,426,427,428,429,430,431,434,435,436,437,438,439,441,443,444,445,446,447,448,449,450,451,452,453,456,459,460,461,462,463,464,468,470,471,473,475,476,477,478,479,480,485,486,488,490,491,493,495,496,498,500,503,504,505],input_1:485,input_2:485,input_3x3:320,input_data:485,input_featur:478,input_g:460,input_length:[217,460,470,479],input_list:14,input_nam:485,input_on:[238,319],input_s:[241,242,257,258,287,288,289],input_scal:460,input_split:14,input_tensor_list:14,input_tupl:459,input_var:[4,230],ins:459,insecur:159,insensit:249,insert:[15,17,274,275,283,398,406,420,448,459,464,488],insert_fold_prepack_op:464,insid:[2,5,459,461,464,472,476,480],insight:5,inspect:[1,2,143,149,472,478,480,495],inspir:[478,486],inst:500,instal:[2,9,10,14,102,126,131,392,457,459,485,490,497,500,503],instanc:[1,13,15,150,160,235,236,238,250,251,252,259,314,316,319,334,348,353,415,459,461,462,464,466,468,470,472,477,478,479,488,490,491,492,498,500,501],instance_norm:[460,485],instancenorm1d:470,instancenorm2d:470,instancenorm3d:470,instancenorm:[243,488],instantan:11,instanti:[2,14,93,236,348,356,457,459,461,470,478,488,490],instead:[2,4,6,9,13,14,15,55,86,116,126,136,146,175,207,208,209,210,211,212,213,214,227,229,230,232,233,248,253,254,255,256,265,266,267,268,269,276,277,278,280,286,287,301,302,303,309,318,324,392,398,425,459,461,468,470,472,473,477,478,479,481,484,485,486,488,491,493,498,505,506],instruct:[3,8,459,485],instrument:480,insuffici:11,int16:[111,170,495,498,507],int32:[55,111,177,217,371,398,488,495,498,505,507],int64:[14,32,46,55,91,111,348,383,384,398,470,476,485,495,498,504,505,507],int64tensor:503,int8:[47,48,49,50,111,169,170,171,172,488,495,498,507],int_:[96,97],int_a:437,int_b:437,int_repr:[373,374,460,488,498],int_tensor:495,int_zerodim:495,intact:490,integ:[11,13,14,15,23,24,25,26,27,28,29,32,43,44,51,60,66,86,90,107,108,109,112,123,124,148,160,192,202,217,221,222,223,259,348,359,361,365,373,374,377,379,380,381,383,387,395,416,426,433,443,444,455,461,462,467,470,478,485,486,488,495,498,505,507],integer_interv:15,integergreaterthan:15,integr:[13,25,45,47,48,49,50,86,112,143,237,273,375,437,480,485,486,495,498],intel:[484,501],intel_openmp:484,intend:470,intens:[486,505],intent:5,intention:490,inter:[119,404,475,477,490],interact:[2,6,10,11,13,462,485],interchang:[15,461,486],interconnect:14,interest:[5,6,458,488,500,504],interfac:[10,478,480,485,486,497],interfer:[1,485],interleav:486,intermedi:[4,236,313,315,317,459,470,473,479,485],intermediari:[9,15],intern:[1,6,11,13,15,36,79,143,168,212,213,214,309,366,412,415,462,472,473,475,476,485,490,491,492,493,496,500,503],internet:[5,500],interop:404,interperet:160,interpol:[156,320,321,322,482,485,488,504,505],interpolation_mod:460,interpret:[11,13,14,15,119,143,146,149,150,253,404,461,466,470,475,476,488,493,496,502],interprocess:11,interrupt:466,intersect:504,interv:[1,15,32,377,378,437,505],intervent:[1,490],intra:[475,477],intraop:405,introduc:[15,160,241,257,287,393,457,474,477,482,485,490,498],introduct:[14,324,459,462,467,474,490],inttensor:[177,178,495,498],intuit:485,inv:[15,63],inv_scal:472,invalid:[193,472,473],invari:[15,348,415,492,493,505],invers:[8,15,22,39,42,58,63,64,98,102,126,131,141,183,224,225,226,235,236,238,270,271,272,319,351,366,392,460,470,486,498],inverse_indic:[446,447],invert:[15,64,79,126,131,168,183,270,271,272,412,503],invest:6,investig:5,invis:476,invoc:[4,144,150,459,478,480,485,488,490,492],invok:[1,10,14,17,143,144,230,237,273,324,459,462,464,472,475,477,478,480,486,491],involv:[5,6,8,13,467,476,477,479,482,490,491,492],invstd:460,iotamudelta:7,iou:[503,504],iou_threshold:504,iparam:160,ipc:11,ipc_collect:11,ipc_handl:11,ipp:501,irecv:14,irfft:[392,460,498],irrelev:[2,462],irrespect:[130,175,413,425,427,476],is_accept:460,is_avail:[11,14,102,126,131,392,476],is_coalesc:[460,493],is_complet:14,is_complex:[460,495,498],is_contigu:[460,467,496,498],is_cuda:[348,467,494,498],is_distribut:[13,460],is_en:1,is_floating_point:[460,467,495,498],is_in_onnx_export:485,is_initi:[11,14],is_leaf:[2,460,467,498],is_meta:498,is_mpi_avail:14,is_nccl_avail:14,is_ninja_avail:9,is_nonzero:460,is_own:490,is_pin:[13,348,460,467,494,498],is_python_modul:9,is_quant:498,is_same_s:460,is_script:461,is_set_to:[460,498],is_shar:[463,467,494,498],is_sign:[460,467,498],is_spars:[467,494,498],is_tensor:467,is_train:[2,403,499],is_valid_fil:500,is_vulkan_avail:460,isclos:[460,498],isend:14,isfinit:[460,498],isinf:[460,498],isinst:[15,136,460,478],isn:[5,13,141,476,478],isnan:[460,485,498],isol:466,issu:[1,4,6,8,9,14,177,324,463,466,467,468,470,472,473,478,481,484],issubclass:478,istep:160,istft:[460,498],itch:5,item:[13,274,283,406,457,459,460,461,467,488,490,498,500,504],iter:[1,2,5,11,14,15,143,160,237,273,274,275,283,284,324,325,326,327,328,329,330,331,332,333,334,335,336,338,353,354,365,426,460,462,466,468,472,473,474,477,478,486,489,497,504],iter_end:13,iter_start:13,iterabledataset:[13,480],iters_to_accumul:472,itertool:[15,57,67],its:[1,2,3,5,6,9,10,11,13,14,15,33,34,35,63,64,80,83,143,148,182,210,212,213,214,221,222,223,224,225,226,230,237,250,251,252,273,274,283,309,324,325,334,337,338,339,340,341,342,343,344,349,355,401,403,426,452,459,461,464,466,470,472,473,474,476,477,478,479,484,485,486,488,490,491,492,493,495,496,498,500,503,505],itself:[4,5,143,149,150,237,273,303,324,329,330,331,332,333,334,335,336,345,459,466,470,485,488,490,496],ivalu:480,ivar:160,jacobian:[2,15,131,473],jakob:[313,315,317],jang:15,javadoc:458,jax:473,jed:160,jit:[8,9,119,142,143,404,405,458,461,463,464,468,475,480,485,490],jitter:505,job:[14,324,480,486],joel:[365,426],johann:7,johnson:7,join:[5,14,17,457,462,466,473,477,481],jointli:[15,279],jone:[313,315,317],joulin:202,journal:375,jpeg:480,json:[480,500],juggl:4,jump:[495,498],junji:7,just:[2,5,9,15,150,151,232,233,324,439,440,441,442,457,459,466,472,473,476,478,480,485,488,490,491,496,498],jvp:2,k_0:433,k_proj_weight:460,kaiming_normal_:[463,471],kaiming_uniform_:471,kaiser:[313,315,317],karl:7,karuppasami:7,kdim:279,keep:[2,5,13,159,212,213,214,235,250,251,252,282,309,334,388,457,459,466,468,470,473,476,477,479,481,485,486,490,491,492,504,505],keep_initializers_as_input:485,keep_intermedi:9,keep_var:[143,237,273],keepdim:[33,34,154,174,185,186,187,189,191,282,358,370,421,422,424,450,451,460,467,470,485,498],kei:[2,13,14,143,151,159,237,273,274,279,283,313,314,315,316,317,341,460,461,478,480,485,486,488,490,491,494,498],kept:[212,213,214,250,251,252,309,466,470,488,504],kernel:[3,8,9,11,207,208,209,221,222,223,224,225,226,238,239,255,256,267,268,269,270,271,272,319,464,470,478,482,485,488,504],kernel_height:504,kernel_s:[207,208,209,221,222,223,224,225,226,238,239,255,256,267,268,269,270,271,272,319,460,470,488,497,504],kernel_shap:485,kernel_width:504,kesheng:160,key_averag:2,key_padding_mask:[279,460],keyboard:503,keypoint:501,keypoint_rcnn:503,keypointrcnn_resnet50_fpn:503,keyword:[1,2,18,22,23,39,42,77,86,108,143,144,150,151,159,165,166,230,237,247,249,273,329,334,338,362,376,438,443,456,457,462,468,478,485,486,490],kick:[477,490,491],kickoff:491,kill:[466,479],kind:[14,325,371,478,481,495],kinet:[501,503],kinetics400:500,kite:503,kl_div:[1,460],kl_diverg:15,kl_normal_norm:15,kl_version1:15,kl_version2:15,kldivloss:470,kmnist:501,knife:503,know:[2,4,5,148,459,472,473,485,491,492,498],knowledg:492,known:[5,14,150,151,159,221,222,223,224,225,226,238,301,319,366,459,460,463,466,471,475,482,485,490,492,505],knuth:5,knyazev2001:160,knyazev:160,kostmo:7,kth:154,kthvalu:[460,467,498],kullback:[15,253,470],kuzushiji:500,kw_i:279,kwarg:[1,2,4,9,143,144,146,177,237,241,249,257,273,287,329,334,338,348,397,446,447,457,462,470,478,483,485,488,490,494,498,500,503,505,506],l1_loss:[1,460],l1loss:470,l1unstructur:338,l2norm:488,l423:485,l_1:[210,211,248,253,254,265,280],l_c:211,l_n:[210,211,248,253,254,265,280],l_p:470,label:[5,13,202,211,217,227,248,266,276,277,349,470,477,481,486,497,500,503],labori:478,lack:8,lambd:[244,307,460,470,486,498,505],lambda1:486,lambda2:486,lambda:[2,13,15,17,59,159,244,307,462,470,478,486,490,498,505],lambdalr:486,landmark:500,langl:15,languag:[9,149,202,313,458,470,479,485],lapack:[8,63,116,363,364,372,425],laptop:503,lara:7,larg:[1,5,11,13,18,202,238,319,372,458,466,468,470,475,479,485,486,488,490,493,495,498,500,503,505],large_model:485,large_pool:11,larger:[1,2,6,46,66,202,230,235,236,266,320,324,470,479,480,485,498,503,505],largest:[1,46,107,160,434,460,461,470,488,498,507],last:[2,4,8,13,44,51,55,65,81,102,103,123,124,134,141,154,187,191,202,215,221,222,223,224,225,226,236,237,241,257,259,261,280,286,287,314,315,319,325,357,358,392,393,398,414,416,423,425,433,434,437,452,453,461,467,470,473,486,503,505],last_epoch:486,late:472,latenc:475,later:[2,5,159,229,267,268,269,280,324,459,475,476,477,478,483,488,491,492],latest:[5,14,15,334,457,485,490],latin1:159,latter:[8,143,237,273,481,488],launch:[3,13,324,473,475,476,490],launcher:14,law:[202,505],layer:[1,14,207,208,209,211,212,213,214,215,221,222,223,224,225,226,232,233,241,242,243,250,251,252,257,258,259,261,267,268,269,279,280,287,289,309,313,314,315,316,317,470,471,473,478,479,480,486,488,503],layer_count:485,layer_norm:[1,460,485],layernorm:[243,250,251,252,470],layout:[11,32,44,51,90,91,92,101,112,113,123,124,158,173,361,362,377,378,379,380,381,382,383,384,415,440,442,455,456,457,459,460,461,463,493,498],lazi:486,lazili:[11,459],lbfg:486,lbrace:[439,440,441,442],lceil:[32,60],ldexp:460,ldot:[15,188,259,267,268,269],le_:[460,498],lead:[2,5,86,102,392,419,468,475,477,482,484,498,505],leadership:6,leaf:[2,432,472,488,498],leak:[2,466],leaki:[290,470,471],leaky_relu:[460,471,485],leaky_relu_:[460,470],leakyrelu:[274,470],learn:[1,5,10,15,215,227,232,233,235,236,248,261,281,318,458,469,471,488,490,492,500,503],learnabl:[212,213,214,215,221,222,223,224,225,226,235,236,241,242,243,250,251,252,257,258,259,261,281,287,289,309,470,488],learned_0:485,learned_14:485,learned_15:485,learned_1:485,learned_2:485,learned_3:485,learned_:485,least:[15,46,81,83,102,105,106,126,131,141,160,175,182,202,349,392,457,468,471,474,479,492,494,498,503],leav:[2,146,152,419,459,461,473,498,500],left:[32,44,51,52,55,60,84,89,105,107,108,110,123,124,141,146,165,166,193,195,202,207,208,209,210,211,221,222,223,224,225,226,229,238,253,254,255,256,262,263,264,265,267,268,269,276,277,278,282,283,318,319,320,321,322,327,364,384,398,423,433,449,459,460,470,478,485,486,488,498,505],left_ankl:503,left_ear:503,left_elbow:503,left_ey:503,left_hip:503,left_kne:503,left_should:503,left_wrist:503,lefteye_i:500,lefteye_x:500,leftimg8bit:500,leftmouth_i:500,leftmouth_x:500,legaci:[470,495,504],legitim:281,leibler:[15,253,470],lemma:15,len:[13,14,145,174,186,230,333,335,351,415,416,421,422,424,449,450,451,459,460,470,485,486,493,500,503],length:[2,11,13,14,15,67,88,128,141,150,196,211,217,221,230,236,238,241,255,257,279,287,313,319,348,349,350,351,352,375,423,460,468,470,474,479,488,498,503,505],lens_unpack:351,leq:[30,44,45,66,137,155,217,229,276,278,280,423,470],lerp:[460,498],lerp_:[460,498],less:[2,5,11,13,14,15,89,107,160,177,202,286,301,307,351,440,442,457,478,481,488,501,503],less_than:15,lesser:[475,488],let:[2,5,13,15,467,468,473,476,477,478,481,484,491,492,497,498],letter:[89,500],level:[5,10,13,116,230,324,459,462,466,471,475,478,490,498,503],leverag:490,lexic:462,lexicograph:357,lfloor:[60,107,108,110,202,207,208,209,221,222,223,224,225,226,238,255,256,267,268,269,319,320,321,322,384,392,423,470],lgamma:[460,498],lgamma_:[460,498],lib64:9,lib:[159,397,484],libenzi:7,librari:[3,6,8,9,10,11,13,177,387,458,475,477,478,479,480,481,482,484,485,488,490,501],library_root:10,libtorch:10,libx264:502,lie:[303,305,470],lies:500,life:498,lifetim:[5,490],lift:468,light:[503,504],lighter:505,like:[1,2,3,4,5,6,8,9,10,11,13,14,15,36,44,51,89,90,123,124,130,147,148,150,159,202,210,238,241,250,251,252,257,274,275,283,284,287,319,324,325,348,361,377,381,397,413,455,457,459,461,466,467,468,470,472,476,479,480,481,484,485,488,490,491,495,498,505],likelihood:[15,202,280,286,470],likewis:504,lim:[15,141],lim_:210,limit:[13,217,235,338,466,468,473,477,488,490,491],limits_:167,line:[2,3,14,143,148,237,273,406,459,462,470,474,478,484,485],line_search_fn:486,linear:[1,2,7,11,64,143,145,149,156,178,210,216,237,240,247,273,275,287,289,291,306,309,320,337,338,339,340,341,343,344,345,346,347,353,355,365,413,460,461,464,471,473,476,477,478,479,485,486,498,503],linear_relu:488,linearfunct:478,linearli:[320,470,479,488],lineartransform:505,liner:290,linewidth:406,link:[9,10,15,221,222,223,224,225,226,238,267,268,269,319,468,470,480,485],linker:9,linspac:[8,46,460,463],linux:[10,14,457],list:[1,2,4,5,6,9,10,11,13,14,15,17,37,54,57,65,67,78,89,90,104,112,131,143,145,150,151,186,188,230,235,237,259,273,275,284,309,324,325,329,330,331,332,333,334,335,336,345,348,349,350,351,352,358,361,377,381,394,415,416,421,422,424,432,433,446,447,455,457,459,460,462,463,464,467,468,470,478,484,485,486,488,490,491,493,494,495,496,498,499,500,502,503,504,505,506],listconstruct:[459,485],listloopmodel:485,liter:[460,462,468],literatur:[221,222,223],littl:[478,492],live:[143,237,273,459,479,486,490,492],llion:[313,315,317],lmbda:486,load:[1,2,8,9,10,148,150,273,324,397,459,464,465,468,480,483,484,485,486,488,500,501,503],load_inlin:9,load_nvprof:2,load_state_dict:[1,143,159,237,273,457,483,486],load_state_dict_from_url:[457,465],load_url:[465,503],loadabl:457,loadann:500,loaded_weight:498,loader:[13,500],loaiza:15,loc:[15,159],local:[1,14,93,160,232,233,238,262,319,324,356,403,457,461,466,470,472,477,479,490,491,492,500],local_process_rank:14,local_rank:[14,309],local_response_norm:460,local_valu:490,localhost:[490,491],localresponsenorm:470,locat:[2,9,11,15,36,54,55,73,74,92,94,115,122,138,139,140,154,155,159,176,185,187,189,191,193,197,230,238,304,319,324,398,457,459,465,470,485,486,492,493,498,500,503,505],lock:[5,13,14,15,473,476,481,491],log10:[1,460,467,498],log10_:[460,467,498],log1p:[1,460,467,485,498],log1p_:[460,467,498],log2:[1,460,467,485,498],log2_:[460,467,498],log:[1,9,13,15,99,100,157,163,165,167,168,174,195,202,210,211,229,253,263,264,277,280,286,302,303,306,412,460,467,470,485,497,498,499],log_2:166,log_:[161,162,163,164,460,467,498],log_abs_det_jacobian:15,log_input:[286,460,470],log_norm:15,log_normal_:[460,467,498,499],log_pob:202,log_prob:[15,202,217,460,470],log_sigmoid:[460,485],log_softmax:[1,217,460,468,485],log_target:[253,460,470],logabsdet:412,logaddexp2:[460,498],logaddexp:[166,460,498],logarithm:[84,157,161,162,163,164,165,166,167,173,217,470],logcumsumexp:[460,498],logdet:[412,460,485,498],logdir:497,logic:[4,13,47,48,49,50,169,170,171,172,371,391,462,478],logical_and:[460,498],logical_and_:[460,498],logical_not:[460,467,498],logical_not_:[460,467,498],logical_or:[460,498],logical_or_:[460,498],logical_xor:[460,498],logical_xor_:[460,498],logist:[15,302],logit:[15,211,460,470],logsoftmax:[229,280,303,470],logspac:[8,460,463],logsumexp:[165,460,467,485,498],long_tensor:495,long_zerodim:495,longer:[2,25,86,490,492],longest:[217,349,351,352,479],longtensor:[33,34,35,73,74,114,128,154,185,187,189,191,193,235,236,276,357,383,414,415,429,434,454,470,493,495,498],look:[3,5,6,10,14,15,202,285,340,366,459,461,467,470,472,473,480,481,484,485,490,491],lookup:[15,235,459,462,470,475,485,491],loop:[11,150,459,460,475,479,485,488,505],loop_and_list:485,loop_count:485,loop_in_traced_fn:459,loop_rang:485,loopmodel2:485,loopmodel:485,loos:480,lorentz:15,lose:468,loss0:472,loss1:472,loss:[1,2,8,15,141,202,210,211,217,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,324,349,468,473,477,479,486,488,490,491,497,500,503],loss_fn:[1,472,477,481,486],loss_func:[324,490],lost:[1,131,221,222,223,224,225,226,230,270,271,272,372,503],lot:[5,466,481,489,491,497],low:[5,15,116,217,365,375,379,380,426,460,466,498],lower:[2,11,14,15,52,55,62,63,64,66,89,125,193,202,290,371,388,398,427,438,439,440,459,460,469,470,471,473,482,485,486,488,504],lower_bound:15,lower_choleski:15,lower_triangular:15,lowercas:14,lowercholeski:15,lowercholeskytransform:15,lowest:[61,332,333,341,342,379,380],lowrank_multivariate_norm:15,lp_pool1d:460,lp_pool2d:460,lppool1d:470,lppool2d:470,lr_decai:486,lr_lambda:486,lr_schedul:486,lrelu:274,lrn:262,lru:[102,126,131,392,476],lstm:[4,258,460,485],lstm_cell:460,lstmcell:488,lstsq:[460,498],lsun:501,lt_:[460,498],lu_data:[178,179,460,498],lu_pivot:[178,179,460,498],lu_solv:[460,498],lu_unpack:177,lukasz:[313,315,317],lvert:[30,137,318,470],machin:[14,306,324,480,489,490,491],machineri:478,maco:[14,466],macro:9,maddison:15,made:[2,6,315,317,461,484,486,505],mae:254,magic:[460,462],magma:[63,177,425,484],magma_2:484,magma_hom:484,magnitud:[1,355,372,471,472],mai:[1,2,3,5,9,11,13,14,15,36,46,54,89,92,109,141,143,144,148,150,159,160,165,202,217,221,222,223,224,225,226,229,237,273,280,315,317,324,372,387,390,423,459,461,464,468,470,472,474,475,476,478,479,482,484,485,486,490,492,493,494,498,499,505],main:[13,14,15,80,81,82,83,439,440,441,442,459,466,468,470,472,473,477,478,483,484,490,491,497,498],mainli:[15,217,470,488],maintain:[1,5,14,15,206,348,470,472,505],major:[2,5,11,253,470,485,493],make:[2,3,4,9,10,11,13,14,15,46,62,63,64,81,93,143,148,160,210,217,221,222,223,224,225,226,237,273,299,324,338,356,400,427,434,457,459,461,466,467,468,470,472,473,474,476,477,478,479,481,482,484,485,486,488,490,491,492,495,498,500,505,506],make_dict:459,make_grid:[497,506],malici:159,manag:[1,2,5,15,18,93,324,356,403,462,479,480,485,489,490,491,498,499],mandat:478,mandatorili:13,mani:[1,2,5,6,8,9,13,14,18,36,143,217,237,273,439,440,441,442,459,461,467,471,473,474,475,478,480,482,488,492,495,498,499,501],manipul:[472,479,488],manner:[2,4,468,474,498],manoj:7,mantissa:498,manual:[1,13,14,145,210,211,229,277,278,280,348,459,466,470,472,476,478,479,482,484,485],manual_se:[11,13,18,460,467,482,489],manual_seed_al:11,map:[9,15,22,42,147,148,159,224,225,226,232,233,238,270,271,272,274,279,283,374,446,447,462,468,470,477,478,484,485,488,490,491,492,494,504,505],map_:[463,498],map_loc:[147,159,324,457,465],margin:[227,248,266,276,278,318,460,470],margin_ranking_loss:[1,460],marginrankingloss:470,mark:[2,11,17,324,459,461,473,477,478,491,498],mark_dirti:[2,478],mark_non_differenti:[2,478],marker:11,market:[5,6],marten:471,martinsson:[365,426],mask:[181,206,217,279,313,314,315,316,317,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,460,467,468,470,498,504],mask_rcnn:503,masked_fil:[460,467,485,498],masked_fill_:[460,467,468,498],masked_scatt:[460,485,498],masked_scatter_:[460,498],masked_select:[460,467,485,498],maskrcnn_resnet50_fpn:503,mass:15,massa:7,master:[5,313,457,485,490],master_addr:[14,490,491],master_port:[14,490,491],mat1:[27,190,460,493,498],mat2:[27,53,190,460,493,498],mat:[28,194,364,375,460,493,498,500],match:[1,2,11,14,15,143,159,181,185,189,236,237,273,320,359,373,433,459,467,470,474,478,485,486,488,490,495,498,500,505],math:[13,99,100,253,365,426,459,461,470],mathbb:280,mathbf:[15,353,355],mathbin:[24,27,28,43,53],mathcal:[215,221,222,223,224,225,226,235,236,241,242,257,258,261,287,289,290,309,381,471],mathemat:[2,8,131,210,212,213,214,250,251,252,309,392,470,499],mathrm:[15,45,96,97,98,212,213,214,243,250,251,252,259,286,309],matmul:[1,8,53,62,130,190,319,365,366,372,413,425,427,460,467,498],matric:[15,24,27,43,53,61,62,64,79,81,116,160,168,175,177,183,190,365,372,406,412,413,425,426,427,438,439,441,460,467,470,493,498],matrix:[15,24,27,28,29,43,45,52,53,59,61,62,63,64,79,80,81,83,88,89,116,117,130,160,168,175,177,179,182,183,184,190,193,194,235,236,319,353,358,363,364,365,366,372,412,413,415,425,426,427,433,435,438,439,440,441,442,449,467,468,470,471,473,475,488,493,498,505],matrix_pow:[460,498],matrix_rank:460,matter:[2,3,6,81,147,148,150,473],max:[2,13,14,33,46,59,62,66,73,125,130,149,175,184,187,203,204,205,216,217,227,228,234,236,239,248,255,256,260,262,266,267,268,269,270,271,272,276,277,278,281,291,292,298,318,319,326,351,459,460,470,474,479,485,486,488,498,505,506,507],max_:[267,268,269,353],max_ev:486,max_indic:[185,187],max_it:486,max_job:9,max_lr:486,max_memory_alloc:[11,476],max_memory_cach:11,max_memory_reserv:[11,476],max_momentum:486,max_norm:[1,235,236,326,460,470,472],max_pool1d:460,max_pool1d_with_indic:460,max_pool2d:[460,488],max_pool2d_with_indic:460,max_pool3d:460,max_pool3d_with_indic:460,max_siz:476,max_unpool1d:460,max_unpool2d:460,max_unpool3d:460,max_val:[247,460,470],max_valu:[247,460],maxim:[66,185,270,271,272,486],maximum:[11,15,33,73,74,125,160,185,247,327,375,388,470,472,476,486,488,504,505],maxnorm:[388,460,498],maxpool1d:[270,470,485],maxpool2d:[271,274,470,485,488],maxpool3d:[272,470,485],maxpool:[239,485],maxunpool1d:[203,267,470],maxunpool2d:[204,239,268,470],maxunpool3d:[205,269,470],mayb:5,mc3:503,mc3_18:503,mean:[1,2,4,5,10,11,13,14,15,43,148,193,200,201,202,204,205,206,210,211,212,213,214,215,216,217,227,229,231,234,236,240,241,243,244,245,246,247,248,250,251,252,253,254,257,259,260,261,263,264,265,266,276,277,278,280,281,286,287,290,291,292,298,300,301,302,303,305,306,307,308,309,310,311,312,318,324,359,381,382,422,426,451,459,460,461,466,467,468,470,471,472,477,478,479,484,485,486,488,490,491,492,498,503,505],mean_di:460,mean_dy_xmu:460,mean_vector:505,meant:[348,472,490],meantim:[210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,470],measur:[11,15,210,211,227,248,253,254,265,266,318,470,476,480,486],mechan:[14,458,466,478,480,488,490,491],median:[15,460,467,498],medium:5,meet:476,megabyt:324,meiyu:160,member:[5,6,13,14,143,237,273,459,461,479],membership:[6,462],memo:[143,237,273],memoiz:15,memori:[2,4,8,15,16,36,54,89,90,91,92,111,113,143,152,236,237,257,258,273,313,314,315,348,356,362,378,380,382,432,456,459,464,466,468,470,473,481,486,488,490,494,495,496,498,503],memory_alloc:[11,476],memory_cach:11,memory_effici:[152,503],memory_format:[90,91,113,143,237,273,324,362,378,380,382,456,460,498],memory_key_padding_mask:[313,314,315],memory_mask:[313,314,315],memory_reserv:[11,476],memory_snapshot:[11,476],memory_stat:[11,476],memory_summari:11,mendoza:7,mention:[457,461,468,476,478,496,504],mere:5,merg:[5,6,13,274,283],meshgrid:460,messag:[5,11,457,459,460,462,479,485,486,490,492],messmer:7,met:160,meta:[490,498],metaclass:462,metadata:[159,397,478,490,491,502],metadatatensor:478,meter:503,meth:[13,159],method2:151,method:[1,5,9,10,11,13,14,15,17,33,34,35,102,126,131,143,144,145,146,148,149,150,151,152,159,160,184,202,210,235,237,273,274,275,283,284,324,329,331,334,337,338,339,341,342,343,344,345,351,353,366,392,423,425,457,459,462,464,466,467,468,470,471,472,476,478,479,481,485,486,488,490,492,493,495,498,499,500,503],metric:[11,486,497],michael:7,microwav:503,middl:485,might:[2,3,6,9,10,15,88,150,151,221,222,223,224,225,226,324,325,457,459,473,475,477,478,480,485,490,491,492,496,498,500,505],mileston:486,millisecond:11,mimick:8,min:[13,14,34,66,74,125,193,216,234,260,262,281,292,298,365,372,425,439,440,441,442,460,467,470,485,486,488,490,498,505,506,507],min_indic:[189,460],min_lr:486,min_siz:503,min_val:[247,460,470],min_valu:247,min_x:175,mind:[235,473,485],minfunc:486,ming:160,mingzh:7,mingzhe09088:7,mini:[13,212,213,214,235,236,243,248,250,251,252,259,266,276,278,309,318,470,488,503,506],minibatch:[13,177,202,210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,320,470,488],minim:[1,2,5,8,66,189,457,472,481,486,488],minimum:[9,34,46,74,125,189,217,247,415,486,488,495,503],ministri:478,minkowski:[59,470],minlength:[46,460,498],minmax:488,minmaxobserv:488,minor:[6,11],minu:100,minut:[5,14],miopen_batch_norm:460,miopen_convolut:460,miopen_convolution_transpos:460,miopen_depthwise_convolut:460,miopen_rnn:460,mirror:498,misalign:467,mise:15,mismatch:[1,131,461,472,477,478,479,505],miss:[143,227,237,250,251,252,273,484,485],missing_kei:[143,237,273],mistak:479,mix:[9,15,324,458,475,485],mixtur:[1,15],mixture_distribut:15,mixture_same_famili:15,mkl:[102,126,131,392,475,484],mkl_2018:484,mkl_2020:484,mkl_fft:484,mkl_num_thread:475,mkl_thread:475,mkldnn:498,mkldnn_adaptive_avg_pool2d:460,mkldnn_convolut:460,mkldnn_convolution_backward_weight:460,mkldnn_cpu_runtim:475,mkldnn_linear:460,mkldnn_max_pool2d:460,mkldnn_reorder_conv2d_weight:460,mmap:466,mnasnet0_5:503,mnasnet0_75:503,mnasnet1_0:503,mnasnet1_3:503,mnist:[497,501],mnist_train:497,mnt:14,mobil:[464,488,503],mobile_optim:458,mobilenet_v2:[485,503],mobilenetv2:503,mobilenetv3:[246,470],mobileoptimizertyp:464,mod:[144,145,151,461,488],mode:[2,3,13,14,15,131,143,145,150,152,212,213,214,236,237,243,250,251,252,253,259,273,288,309,320,321,356,402,403,460,464,467,470,471,473,477,479,485,486,488,490,498,500,503,505],model0:472,model1:472,model:[1,2,3,4,11,14,15,143,145,146,150,152,159,202,230,237,252,273,279,299,309,313,315,317,324,325,328,338,354,397,459,461,462,464,465,470,473,475,476,477,481,482,485,486,490,491,497,501,504,505],model_dir:[457,465],model_zoo:[458,503],moder:4,modf:460,modif:[2,10,111,488,498],modifi:[1,2,13,141,143,144,145,235,237,273,313,315,317,324,326,327,337,338,339,341,342,343,344,459,467,470,472,473,476,478,485,486,488,490,496,498],modified_tensor:145,modl:15,modul:[1,2,4,9,14,143,144,145,146,147,148,149,150,151,152,159,202,206,212,213,214,215,221,222,223,224,225,226,230,231,232,233,235,236,237,243,250,251,252,259,261,274,275,279,283,284,288,299,303,309,313,324,325,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,351,353,355,397,457,458,462,464,466,468,469,470,472,473,475,476,477,479,480,481,484,485,488,490,498,499,503,504,505],modular:[1,472],module_kwarg:470,moduledict:461,modules_to_fus:488,modulo:15,modulu:392,momemtum:[250,251,252,309],moment:[2,464,466,485,486,488,490],momentum:[212,213,214,250,251,252,309,460,470,473,486,488],monitor:[11,102,126,131,392,476,486],monoton:[15,55,398],mont:15,moor:366,more:[1,2,3,6,8,9,10,11,13,14,15,36,52,54,55,61,62,64,79,82,92,102,126,130,131,134,136,151,160,163,166,168,178,202,206,211,216,217,235,236,279,285,286,298,309,325,357,358,366,371,372,391,392,398,412,413,425,427,438,457,459,461,465,466,467,468,469,470,471,473,475,476,478,479,480,485,486,488,490,491,492,493,495,496,497,498,499,500,503,504,505],more_img:468,moreov:[131,490,498],most:[2,3,5,10,11,13,14,15,134,191,202,457,459,461,463,466,468,470,473,476,478,481,486,488,491,492,493,495,498],mostli:[5,15,473],motiv:[5,491],motorbik:503,motorcycl:503,mountain:500,mous:503,moustapha:202,move:[4,143,147,159,212,213,214,237,273,309,461,465,466,468,470,476,479,481,486,488,490,494,498],movement:496,movingaverageminmaxobserv:488,movingaverageperchannelminmaxobserv:488,mpi:14,mro:462,mrshenli:7,mse_loss:[1,460],mseloss:[301,470,477],msg:11,msys2:484,much:[1,2,3,5,6,10,13,160,236,338,459,476,486,490,491,498,505],mul:[2,459,460,467,478,485,488,491,493,495,498],mul_:[8,460,467,493,498],mul_scalar:488,mulbackward0:2,mulconst:478,mult:13,multi:[3,11,143,211,230,237,241,257,273,276,277,278,287,313,315,320,324,459,475,476,485,490,495,498,499,504],multi_head_attention_forward:460,multi_margin_loss:[1,460],multicast:14,multidimension:250,multihead:279,multihead_attn:279,multiheadattent:[313,315,317],multilabel_margin_loss:[1,460],multilabel_soft_margin_loss:460,multilabelmarginloss:470,multilabelsoftmarginloss:470,multilay:[241,257],multilinear:89,multimarginloss:470,multinomi:[460,485,498],multipi:210,multipl:[1,11,13,14,15,17,24,26,27,59,89,143,151,182,190,210,211,224,225,226,227,229,236,237,238,248,253,254,262,265,266,273,276,277,278,280,286,301,302,318,319,324,329,330,331,332,333,334,335,336,433,438,457,461,466,467,468,470,473,475,476,477,480,481,484,486,488,490,491,492,493,500,504,505],multiplex:490,multipli:[1,23,24,25,26,27,28,29,43,53,89,126,131,182,190,192,194,221,222,223,226,241,257,320,321,322,364,423,467,470,486,488,493,503,505],multiplicand:192,multiplicativelr:486,multiprocess:[13,14,230,324,458,468,477,491,500],multiprocessing_context:13,multiscaleroialign:504,multisteplr:486,multithread:476,multivari:[15,195],multivariate_norm:15,must:[1,2,9,11,13,14,15,17,23,24,25,26,27,28,29,41,43,45,47,48,49,50,53,55,58,66,72,81,83,85,86,94,102,105,106,109,114,115,117,122,143,148,150,155,156,160,176,178,181,182,185,189,192,193,195,197,211,217,221,222,223,224,225,226,230,236,237,238,273,276,307,324,338,348,365,369,387,392,393,398,405,423,426,433,440,442,452,454,459,460,461,466,467,468,470,471,472,474,477,478,481,482,485,486,488,490,491,492,494,498,505],mutabl:[150,459],mutat:[145,488,498,505],mute:457,mutex:473,mutual:[13,14],mvlgamma:[460,498],mvlgamma_:[460,498],mvn:15,my_add:491,my_api:480,my_const:459,my_constraint:15,my_dict:[459,461],my_factori:15,my_int:[459,461],my_lib:484,my_lib_add_backward_cuda:484,my_lib_add_forward_cuda:484,my_list:461,my_lstm:479,my_model:[324,459],my_modul:459,my_module_inst:459,my_paramet:461,my_qconfig:488,my_registri:15,my_script_add:490,my_script_modul:[459,461],my_scripted_model:459,my_segmentation_transform:505,my_submodul:461,my_transform:15,my_variable_nam:461,myconstraint:15,myconstraintclass:15,mycpuorg:7,myfloat32func:472,myfunc:2,myiterabledataset:13,mymm:472,mymodel:[472,481,488],mymodul:[145,146,148,149,152,274,275,283,284,459,461,479],mymodule2:145,mypi:[136,461],myrotationtransform:505,myscriptmodul:459,mytransform:15,n_0:470,n_1:[102,126,188,392],n_2:188,n_class:202,n_d:[102,126,392],n_epoch:13,n_fft:[141,423,460,498],n_frame:141,n_i:[102,126,131,207,208,209,221,222,223,267,268,269,318,392],n_iter:497,n_k:[188,470],n_power_iter:353,n_t:241,naiv:13,name:[2,9,11,14,15,143,147,148,151,159,237,273,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,353,355,397,401,449,457,458,459,460,462,463,465,466,471,477,478,480,485,488,490,491,494,497,500,501,504,507],named_buff:[143,237,273],named_children:[143,237,273],named_flat_img:468,named_img:468,named_modul:[143,237,273],named_paramet:[143,145,237,273],named_tensor:468,namedshap:468,namedtupl:[13,73,74,88,116,143,154,175,185,187,189,191,202,237,273,365,372,412,413,414,425,427,434,438,459,461],namespac:[1,459,462,478,485,488],nan:[1,2,15,22,30,38,42,55,137,138,139,140,161,163,168,396,398,412,417,425,427,472],narrow:[460,467,485,496,498],narrow_copi:[460,493,498],natalia:7,nathan:[365,426],nativ:[1,148,459,466,490,501,504],native_batch_norm:460,native_group_norm:460,native_layer_norm:460,native_norm:460,natur:[2,3,5,8,15,161,163,202],nbatch:[210,211],nccl2:324,nccl:324,nccl_blocking_wait:14,nccl_debug:14,nccl_debug_subsi:14,nccl_socket_ifnam:14,nchannel:281,ncrop:505,ndarrai:[37,111,415,432,485,498,505],ndata:478,ndim:[467,498],ndimens:[463,467,498],ne_:[460,498],nearest:[108,320,322,470,488,505],nearli:[2,365,481,490,498],necessari:[1,2,9,13,18,128,149,349,350,459,468,473,474,476,477,484,488,490,491,492,495,498],necessarili:[14,15,88,185,187,189,229,280,366,476,478,485],need:[1,2,5,6,10,11,13,14,15,36,54,61,81,83,92,131,181,185,189,193,270,271,272,279,313,315,317,324,329,333,335,359,420,425,427,459,461,464,466,468,470,473,475,476,478,479,480,481,482,484,485,486,488,490,491,492,493,494,495,498,500],need_weight:[279,460],needs_input_grad:[2,478],needsinput:480,neeraj:7,neerajprad:7,neg:[9,11,13,15,46,138,168,183,193,202,211,260,276,280,286,318,433,437,439,440,441,442,448,459,460,467,470,471,473,482,485,498,505],neg_:[460,467,498],negat:473,negative_binomi:15,negative_slop:[260,460,470,471],neglig:[2,485],negoti:[6,490],neighbor:[141,320,322,423,488,504],neighborhood:[238,319],neighbour:[262,470,488],neither:[13,14,490],nelement:[277,302,463,498],nep:478,neq:[197,276,278,486],nest:[1,2,11,144,150,273,490,498],nesterov:486,net:[1,10,143,150,151,230,237,273,324,338,461,472,473,476,486,497],netlifi:5,network:[1,2,5,10,15,143,150,151,206,212,213,214,217,230,231,232,233,237,273,280,285,290,298,309,313,315,317,351,353,459,461,470,471,472,473,476,485,486,488,490,491,492,504,505],neural:[5,10,206,217,231,273,280,285,298,313,315,317,459,461,471,476,486,503],neurip:15,neuron:231,never:[2,4,5,14,59,141,159,324,348,473,490,498],nevertheless:492,new_:[476,498],new_data:485,new_empti:[460,498],new_factor:1,new_ful:[460,476,498],new_group:[14,309],new_interv:1,new_lr:486,new_on:[463,498],new_scal:1,new_stat:[11,18,407,489],new_strategi:466,new_tensor:[463,476,498],new_zero:[460,498],newer:[475,476],newli:[5,373,374,473],newtyp:461,next:[1,2,13,14,15,145,241,242,253,258,287,289,466,470,472,475,481,485,490,491,495,497,498,500],next_stat:15,nfs:14,ngimel:7,nhead:[313,314,315,316,317],nhwc:495,nice:[2,221,222,223,224,225,226,238,267,268,269,319,468],nichola:15,niederreit:375,nielsen:15,niki:[313,315,317],ninja:[9,484],nist:500,niter:[160,365,426],nll:280,nll_loss2d:460,nll_loss:[1,460,485],nllloss:[229,253,303,470],nlp:[250,251,252],nms:504,nn_func:478,nn_module_inst:459,nnode:14,nnq:488,nnz:[2,415,493,498],no_grad:[2,4,93,143,237,273,463,485,499],no_sync:324,noam:[313,315,317],noarch:484,nock:15,node:[14,217,230,324,464,476,485,490,491,492],node_rank:14,nois:[460,482],nola:141,nomin:461,non:[1,2,4,8,9,11,14,15,18,32,46,53,55,58,62,130,143,144,150,151,160,170,177,182,193,207,208,209,222,223,225,226,229,237,241,256,257,267,268,269,270,271,272,273,276,278,279,280,287,289,313,324,357,398,399,415,433,446,459,461,463,466,471,474,476,478,479,488,489,490,492,495,496,498,504,505],non_block:[143,237,273,348,460,476,494,498],non_leaf_module_list:488,noncontigu:2,nondet_tol:2,nondetermin:[2,482],nondeterminist:[46,217,221,222,223,224,225,226,470,482,498],nondetermnist:482,none:[1,2,9,11,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,58,60,62,63,64,66,69,70,71,72,73,74,75,76,77,80,84,86,88,90,91,92,94,96,97,98,99,100,101,107,108,109,110,112,113,114,115,116,117,122,123,124,125,128,130,131,141,142,143,145,147,149,150,151,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,181,182,184,185,186,187,189,190,191,192,193,194,197,198,200,201,204,205,207,208,209,210,211,212,213,214,217,227,229,230,235,236,237,239,247,248,253,254,255,256,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,283,284,286,288,301,302,303,305,309,313,314,315,316,317,318,320,321,322,324,329,330,331,332,333,334,335,336,351,352,353,355,357,358,359,361,362,365,367,368,369,370,372,375,376,377,378,379,380,381,382,383,384,386,387,388,389,393,395,396,398,406,408,409,410,411,413,414,415,417,418,419,420,421,423,424,425,426,427,430,431,432,434,439,440,441,442,444,446,447,449,450,455,456,457,459,460,461,464,465,466,467,468,470,471,476,478,481,485,486,488,489,490,493,494,498,500,502,503,504,505,506],nonexist:461,nonfinit:137,nonlinear:[210,227,248,287,289,471],nonlinearli:5,nonloc:462,nonmask:334,nonneg:[15,365,426],nonnegative_integ:15,nonzero:[2,141,169,171,172,177,454,460,485,498],noopobserv:488,noordhui:7,noplot:5,nor:[13,14,324,371],noreturn:461,norm:[1,59,85,175,178,179,235,236,265,282,314,316,318,326,332,333,338,341,342,353,355,388,460,463,470,472,485,486,488,498],norm_except_dim:460,norm_typ:[235,236,255,256,326,460,470],normal:[1,2,88,102,126,131,141,143,146,165,206,212,213,214,232,233,243,250,251,252,259,262,298,309,314,316,324,326,327,338,346,347,353,355,381,382,388,392,423,457,459,460,463,467,471,476,486,488,490,497,498,499,503,505,506],normal_:[460,467,471,476,498,499],normalized_shap:[259,460,470,488],nose:503,nose_i:500,nose_x:500,notabl:505,notat:[406,462,498],note:[2,8,9,10,11,13,14,15,16,17,32,41,46,61,81,131,136,160,210,211,217,221,222,223,224,225,226,227,229,235,236,248,253,254,265,266,274,276,277,278,279,280,283,286,301,302,313,318,324,375,457,458,459,460,462,466,470,473,474,475,477,478,480,481,485,486,488,491,492,493,496,498,500,502,503,505],notebook:[5,506],noth:[5,9,11,459,461,492],notic:[14,131,210,320,425,459,473,486],notifi:[6,492],notimpl:[462,478],notimplementederror:15,notion:[13,212,213,214,250,251,252,309],now:[2,4,11,118,131,145,150,288,320,338,459,467,468,472,474,476,477,478,485,486,491,492,498,503],nproc:[466,477,491],nproc_per_nod:14,nrow:506,nsdf3:500,nthread:500,nuanc:5,nuc:[333,342,358],nuclear:358,nuclear_norm:460,num:[193,241,243,287],num_alloc_retri:11,num_channel:[243,468,488],num_class:[460,470,500,503],num_decoder_lay:313,num_direct:[241,257,287],num_embed:[235,236,470],num_encoder_lay:313,num_featur:[143,212,213,214,237,250,251,252,273,309,470,488],num_gpus_you_hav:14,num_group:[243,460,488],num_head:[279,460],num_keypoint:503,num_lay:[241,257,287,288,314,316,460,485],num_lin:500,num_oom:11,num_output_channel:505,num_paramet:281,num_proc:472,num_process:481,num_replica:13,num_sampl:[13,193,460,498],num_send_recv_thread:490,num_work:[13,484,500],num_worker_thread:490,number:[1,2,3,4,5,9,13,14,15,18,23,24,25,26,27,28,29,32,43,45,46,53,54,57,65,66,67,86,88,89,90,94,101,102,109,112,113,115,119,120,121,122,125,126,128,129,131,155,158,160,165,173,176,180,192,193,195,197,199,200,201,202,203,204,205,207,208,209,210,211,215,216,217,221,222,223,224,225,226,227,229,230,234,235,238,239,240,241,242,243,244,245,246,247,248,253,254,257,258,259,260,261,263,264,265,266,267,268,269,273,276,277,278,279,280,281,286,287,289,290,291,292,298,300,301,302,303,305,306,307,308,310,311,312,313,314,315,316,317,318,319,324,332,333,335,336,338,341,342,343,344,348,349,350,352,353,357,359,360,361,365,367,369,375,377,378,379,381,382,387,389,390,391,392,393,394,399,400,402,404,405,406,407,415,420,423,426,433,440,442,446,447,449,452,453,455,458,460,461,462,463,466,470,471,474,476,478,482,485,486,488,489,490,491,493,494,495,498,499,500,502,503,504,505,506,507],numel:[134,460,467,498],numer:[1,13,15,25,55,86,108,131,150,151,174,184,211,212,213,214,243,250,251,252,259,303,306,309,353,398,462,470,478,485,486,498,507],numpi:[13,30,37,111,389,406,415,432,463,474,478,479,484,485,495,496,497,498,500,505,507],nvcc:[9,11],nvidia:[2,14,476,479,484,499],nvlink:490,nvprof:[2,3],nvtx:[2,3],nvvp:2,o_ort:485,o_t:257,obermey:7,obj:[11,135,136,149,397,484],object:[1,2,11,13,14,15,16,17,18,135,136,143,147,148,149,150,151,159,160,180,230,232,233,237,250,251,252,273,309,340,349,350,397,457,461,462,464,465,466,473,475,476,478,479,480,481,484,485,486,489,490,492,494,495,498,500,501,504,505,506,507],obscur:9,observ:[1,210,211,212,213,214,227,229,248,250,251,252,253,254,265,266,276,277,278,280,286,301,302,309,318,324,470,472,480],observer_en:488,observer_kwarg:488,observer_non_leaf_module_list:488,observerbas:488,obtain:[2,13,14,15,184,217,280,365,426,466,467,470,473,475,488,498,503],obviou:[479,492,493],obvious:5,occas:[2,5,473],occasion:493,occupi:[11,262,470,476,507],occur:[1,8,11,13,141,144,217,461,468,470,472,476,479,485,490,492,496,498],occurr:[185,187,189,348,446,447],oct:460,octob:11,odd:15,odict_kei:341,odot:257,off:[2,5,11,44,51,123,124,141,150,211,403,470,475,477,480,488,490,491],offer:[14,476],offici:[6,14,202,503],offlin:[148,505],offset:[36,81,82,83,236,373,374,440,442,460,470,488,498,500,504,505],offset_group:504,often:[1,2,3,5,9,13,14,15,131,150,191,235,250,251,252,253,470,479,480,485,486,490,498],old:[362,397,456,459,473,483,484,486],older:476,omagma:484,omega:423,omega_1:[102,126,392],omega_d:[102,126,392],omega_i:[102,126],omit:[4,9,14,89,286,484,485,490,505,506],omkl:484,omp:475,omp_num_thread:475,onc:[1,2,5,10,13,14,16,89,143,145,159,230,237,273,404,459,464,466,472,473,475,476,478,480,485,486,497],one:[1,2,3,4,5,8,9,10,11,13,14,15,17,36,46,54,55,82,89,92,102,126,132,133,134,145,158,173,182,193,202,207,210,211,212,213,214,217,221,224,225,226,229,236,239,250,251,252,254,255,256,265,277,309,320,324,325,328,338,349,354,355,357,358,372,373,374,398,406,419,423,436,448,459,464,466,467,468,470,473,474,475,476,477,478,480,481,482,484,485,486,488,490,492,494,495,497,498,500,501,502,503,504,505],one_hot:460,one_hot_categor:15,onecyclelr:486,ones:[2,13,14,15,17,36,45,54,92,101,141,149,159,211,238,243,259,277,278,280,319,329,330,331,332,333,334,335,336,338,339,352,362,388,454,460,463,467,468,470,473,474,476,478,485,486,490,492,495,498,503],ones_:471,ones_lik:[460,476,485],onesid:[131,141,392,423,460,498],onfunctionent:480,onfunctionexit:480,ongo:490,onli:[1,2,3,4,5,6,8,11,13,14,15,16,17,44,45,51,53,88,90,92,102,123,124,126,127,131,137,143,144,145,149,150,151,159,202,224,225,226,230,235,236,237,238,253,273,276,278,281,288,309,319,320,324,348,349,350,358,366,385,392,402,404,419,423,425,427,432,440,442,446,447,452,453,460,461,464,466,467,468,470,471,472,473,476,477,478,479,480,481,483,484,485,486,488,490,491,492,493,495,496,498,503,505],onlin:486,only_input:2,onnx:[349,350,458,468,503],onnx_model:485,onnxruntim:485,onto:[11,147,148,159,466,479],oom:479,opaqu:14,open:[2,6,15,147,159,459,466,484,490],openbla:484,opencv:10,openmp:[475,484],oper:[1,3,4,5,6,8,10,11,13,15,17,32,36,44,46,51,54,58,61,73,74,75,76,90,91,92,101,102,112,113,120,123,124,126,131,143,148,149,150,151,158,167,173,206,211,216,217,221,222,223,224,225,226,230,231,232,233,234,236,237,238,239,247,248,249,254,260,265,270,271,272,273,290,291,292,298,301,312,319,324,351,358,361,362,369,370,377,378,379,380,381,382,383,384,391,392,415,419,424,425,427,432,454,455,456,458,459,462,470,472,474,475,476,477,479,481,482,486,489,490,491,493,495,496,498,501,502,504,505],operand:[89,462,478,482,495],operatiton:488,operator_export_typ:485,operatorexporttyp:485,operatornam:[110,210,211,217,248,253,254,265,409],opinion:5,opnam:485,opportun:[459,491],oppos:505,ops:[1,2,14,150,151,463,464,467,468,475,476,478,485,488,496,498,499,501],opset:485,opset_vers:[485,503],opt:[149,159,397,459],opt_einsum:89,optim:[1,2,5,8,9,10,14,15,89,143,149,150,151,160,212,213,214,235,237,250,251,252,273,276,277,278,302,309,324,365,458,459,461,464,468,471,473,475,477,479,481,485,488],optimiz:[459,485],optimization_blacklist:464,optimize_for_mobil:464,optimizer0:472,optimizer1:472,optimizer2:472,optimizer_class:490,optimizer_param:324,optimum:486,option:[1,2,4,9,11,13,14,15,18,19,21,22,23,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,58,60,62,63,64,66,67,69,70,71,72,73,74,75,76,77,80,81,82,83,85,86,88,90,91,92,94,96,97,98,99,100,101,102,107,108,109,112,113,114,115,116,117,122,123,124,125,126,128,130,131,137,141,143,145,150,151,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,181,182,184,185,186,187,189,190,191,192,193,194,197,198,202,206,208,209,210,211,212,216,217,221,222,223,224,225,226,227,228,229,232,233,234,235,236,237,238,239,247,248,250,253,254,255,256,259,260,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,280,282,283,284,286,290,291,292,298,301,302,303,305,309,312,313,314,315,316,317,318,319,320,321,322,324,325,329,330,331,332,333,334,335,336,346,347,348,349,350,351,352,353,355,357,358,359,361,362,365,367,368,369,370,372,375,376,377,378,379,380,381,382,383,384,386,387,388,389,392,395,396,398,406,408,409,410,411,413,414,415,417,418,419,420,421,423,424,425,426,427,430,431,432,434,438,439,440,441,442,443,444,446,447,449,450,455,456,457,459,460,463,464,465,470,471,478,479,480,482,485,488,490,493,495,498,500,502,503,504,505,506],orang:503,ord:[358,460],order:[2,4,5,14,15,17,35,52,61,81,88,104,105,106,193,202,217,230,274,283,299,324,334,348,349,350,351,358,368,398,413,414,425,427,434,437,440,442,446,449,457,459,460,462,466,467,468,470,473,474,476,477,478,482,485,486,488,490,491,492,495,498,503,504,505],ordereddict:[274,283,299,338,460,504],ordin:[495,498],ordinari:[11,472],ordinarili:[1,472],org:[2,3,5,10,15,160,290,291,313,355,365,457,462,484,488,497,503,505],organ:[5,6,477,480],orgqr:[460,498],origin:[2,8,13,56,61,128,130,131,141,147,149,150,151,181,202,206,230,309,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,348,351,353,355,393,413,414,416,425,427,434,446,447,459,466,468,476,478,479,480,481,485,486,488,494,498,504,505],ormqr:[460,498],orphan:[241,257,287],ort:485,ort_sess:485,ortho:160,ortho_bparam:160,ortho_fparam:160,ortho_iparam:160,orthogon:[160,363,364,372,471],orthogonal_:[463,471],orthonorm:[425,427],ossci:484,ostmo:7,other:[1,2,3,5,6,9,10,11,13,15,23,30,32,37,41,47,49,50,52,55,72,81,85,86,93,94,95,108,109,115,122,128,137,149,155,165,166,167,169,171,172,174,176,182,185,188,189,192,197,221,222,223,224,225,226,230,238,273,274,283,319,324,338,356,358,384,387,398,403,415,419,432,436,439,441,452,459,460,461,462,463,466,467,468,470,472,473,474,475,476,477,478,479,481,482,483,485,486,488,490,491,492,498,503,505,506],other_help:461,otherwis:[1,2,5,6,8,9,13,14,23,24,25,26,27,28,29,32,37,43,55,66,88,95,138,139,143,144,154,159,160,174,185,186,187,189,191,192,195,208,209,232,233,237,241,244,245,246,247,257,260,273,277,278,280,281,287,288,290,301,307,312,324,348,352,356,365,370,372,375,384,390,398,400,421,422,423,424,425,427,446,447,450,451,454,461,464,467,470,472,478,481,485,486,488,490,492,494,495,496,498,500,503],otim:[29,470],our:[2,5,210,478,481,485,491,493],out:[1,2,5,6,8,10,11,19,20,21,22,23,24,25,26,27,28,29,31,32,34,38,39,40,41,42,43,45,46,47,48,49,50,53,55,58,60,62,63,64,66,69,70,71,72,73,74,75,76,77,80,84,86,88,90,94,96,97,98,99,100,101,107,108,109,110,112,113,114,115,116,117,122,125,128,130,149,154,155,156,157,158,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,181,182,185,186,187,189,190,191,192,193,194,197,198,207,208,209,215,218,219,220,221,222,223,224,225,226,231,232,233,241,242,255,256,261,267,268,269,270,271,272,285,287,289,293,294,295,296,297,313,314,315,316,317,319,320,321,322,323,332,333,334,335,357,358,359,361,362,367,368,369,372,375,376,377,379,381,383,384,386,387,388,395,396,398,408,409,410,411,413,414,417,418,419,420,421,425,427,430,431,432,434,436,439,441,443,444,450,454,455,456,457,459,460,466,468,470,473,474,477,478,481,485,488,490,491,492,493,495,498,504,505],out_channel:[221,222,223,224,225,226,488,504],out_dim:[460,468],out_featur:[143,215,237,261,273,353,355,488],out_h:504,out_height:504,out_int32:[55,398,460],out_j:223,out_ort:485,out_padh:470,out_padt:470,out_padw:470,out_proj_bia:460,out_proj_weight:460,out_unf:319,out_w:504,out_width:504,outdim:460,outer:[29,89,117,503],outlier:301,outlin:491,outmost:490,output0:472,output1:[202,241,287,472,485],output2:[202,241,287],output:[1,2,3,4,5,11,13,14,15,17,19,21,22,23,24,25,26,27,28,29,31,32,33,34,36,38,39,40,41,42,43,45,46,47,48,49,50,53,55,58,59,60,62,63,64,66,69,70,71,72,73,74,75,76,77,80,81,83,86,88,89,90,91,92,94,96,97,98,99,100,101,107,108,109,112,113,114,115,116,117,122,125,128,130,131,141,143,145,149,150,151,154,155,156,157,158,161,162,163,164,165,166,167,169,170,171,172,173,174,176,177,178,181,182,185,186,187,188,189,190,191,192,193,194,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,276,277,278,279,280,281,282,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,318,319,320,321,322,323,324,349,351,352,353,355,357,358,359,361,362,368,369,370,375,376,377,378,379,380,381,382,383,384,386,387,388,389,392,395,396,398,406,408,409,410,411,413,414,417,418,419,420,421,422,424,425,427,430,431,434,438,439,441,443,444,446,447,449,450,451,455,456,459,460,464,467,468,470,472,473,475,477,478,479,484,485,486,488,491,493,495,496,497,498,500,503,504,505],output_2d:262,output_4d:262,output_devic:[14,230,309,324,470],output_featur:478,output_nam:485,output_nr:460,output_pad:[224,225,226,460,470],output_ratio:[239,460],output_s:[199,200,201,203,204,205,225,238,239,270,271,272,319,460,470,488,504,505],output_scal:460,output_split:14,output_tensor_list:14,output_zero_point:460,outsid:[1,4,6,13,22,42,461,470,476,479,486,505],outstand:490,oven:503,over:[2,6,13,14,15,58,73,74,75,76,89,143,150,159,167,186,188,199,200,201,203,204,205,206,207,208,209,210,211,212,213,214,217,221,222,223,224,225,226,227,229,236,237,238,239,243,248,250,251,252,253,254,255,256,259,262,265,266,267,268,269,273,276,277,278,280,286,301,302,304,309,318,319,326,355,388,421,422,424,433,466,467,468,470,472,474,475,477,478,481,485,486,488,490,491,493,498,499,500,504,505,506],overal:[6,14,473,475,481,505],overall_end:13,overall_start:13,overestim:[365,426],overflow:[1,75,76,370,424,440,442,470,505],overhead:[1,2,3,14,475,476,477,480,488,491,498],overheard:500,overlap:[2,13,141,238,319,324,476,495,504],overload:461,overparameter:15,overrid:[9,14,15,210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,329,397,406,470,485,486,490],overridden:[2,9,478],override_dict:478,overriden:478,overshoot:470,oversubscript:475,overview:[10,14,324,466,473,490],overwhelm:5,overwrit:[13,274,283,473],overwritten:488,overwrritten:488,owen:375,own:[1,5,6,14,15,143,159,221,222,223,224,225,226,237,273,472,473,476,485,488,490,492],owner:[457,478,490,491],owner_nam:490,ownerrref:[490,492],ownership:[5,6],p1d:470,p2d:470,p3d:470,p_c:211,p_i:318,p_tensor:498,pace:5,pack:[179,230,241,257,287,348,349,350,351,460,464,479,484,488],pack_padded_sequ:[241,257,287,348,351,479],pack_sequ:[257,287,351],packag:[5,11,15,17,324,457,478,486,490,499,501,502],packagesnotfounderror:484,packed_hh:460,packed_ih:460,packed_input:479,packed_output:479,packed_weight:460,packedsequ:[12,241,257,287,349,350,351],pad:[13,141,207,208,209,217,218,219,220,221,222,223,224,225,226,235,238,267,268,269,270,271,272,276,277,279,293,294,295,296,297,319,323,349,351,352,423,460,479,482,485,488,497,504,505,506],pad_if_need:505,pad_mod:[423,498],pad_packed_sequ:479,pad_valu:506,padd:488,padded_input:479,padding_idx:[235,460,470],padding_input:479,padding_mod:[221,222,223,224,225,226,460,470,488,505],padding_valu:[351,352],padh:[470,488],padt:470,padw:[470,488],page:[1,5,13,160,313,315,317,476,477],pai:[484,496],pair:[32,59,88,274,279,283,384,423,461,467,470,486,490,491,492,493],pairwis:[15,248,282,318],pairwise_dist:460,pairwisedist:470,paper:[5,15,202,206,212,213,214,216,231,232,233,239,243,246,250,251,252,259,285,290,298,301,309,313,315,317,318,470,486,503,504],parallel:[0,1,13,14,119,120,144,230,279,309,324,404,405,458,470,472,473,475,481,484,490,492,505],parallel_info:[0,475],parallelli:500,param1:15,param2:15,param:[1,2,15,143,153,237,273,283,284,324,460,471,472,473,477,486,488,503],param_byt:486,param_group:486,param_shap:15,paramet:[1,2,4,9,11,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,112,113,114,115,116,117,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,140,141,142,143,144,145,147,148,149,150,151,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,241,242,243,244,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,301,302,303,305,306,307,309,312,313,314,315,316,317,318,319,320,321,322,323,324,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,400,401,402,403,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,427,428,429,430,431,432,433,434,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,459,463,464,465,466,468,470,471,472,473,477,478,480,481,483,485,488,489,490,491,493,494,498,500,501,502,503,504,505,506],parameter:[15,498],parameteriz:15,parameters_to_prun:338,parameters_to_vector:338,parameterserver2:490,parametr:[15,331,478],params_rref:490,paramter:488,parent:[466,484,488,492],parenthes:462,parenthesi:[2,93,356],park:503,parmar:[313,315,317],pars:[2,14],parse_arg:[14,476,485],parser:[14,476],part:[1,3,4,5,6,9,10,14,15,88,102,126,131,138,139,140,143,148,150,151,237,273,324,423,439,440,441,442,457,459,461,464,465,472,473,478,479,485,486,488,490,491,492,493,500],parti:[6,457,459,476,501],partial:[15,83,178,270,271,272,334,462,468,470,473,485,488,492],particip:[13,14,324,491],particular:[1,5,13,143,230,237,273,438,459,461,476,479,480,482,485,498,500],particularli:[13,229,230,280,459],partit:[202,491,492],partli:6,partner:5,pascal:[500,503],pass:[1,2,4,5,9,13,14,15,17,55,83,88,143,150,151,159,202,203,204,205,230,235,236,237,239,253,273,278,299,314,315,316,317,324,329,334,348,351,397,398,425,432,457,459,462,464,466,467,468,470,471,472,473,475,476,477,478,480,483,485,486,488,490,492,493,498,500,503,504,505],past:[14,479,503],paszk:[6,7],patch:[5,238,319],path:[2,3,9,14,288,457,461,473,478,482,483,500,502,506],path_importer_cach:457,path_to_hub_dir:457,pathlib:506,pathlik:[159,397],patienc:486,pattern:[14,230,351,459,473,476,478,479,488],paus:490,pca:365,pct_start:486,pdb:[146,149,152,459,461],pdf:[217,290,488,505],pdist:[1,282,460],peak:[11,486],peer:[5,14,476],penalti:[1,486,488],pend:490,penros:366,peopl:5,pep:[459,461],per:[1,9,11,13,14,89,160,210,211,212,213,214,227,229,230,236,243,248,250,251,252,253,254,259,265,266,276,277,278,280,286,301,302,309,313,314,315,316,317,318,324,355,359,365,373,406,426,468,469,470,475,477,480,482,488,491,498,502,503],per_channel_affin:[373,488],per_channel_symmetr:488,per_index_weight:236,per_sample_weight:[236,460,470],per_tensor_affin:[374,488],per_tensor_symmetr:488,per_work:13,percentag:486,perchannelminmaxobserv:488,perfectli:[482,504],perform:[1,2,4,8,12,13,14,15,24,25,26,27,28,29,37,43,46,53,75,76,86,143,148,150,165,190,194,217,221,222,223,224,225,226,236,237,241,253,257,273,281,287,324,348,358,365,370,391,398,424,425,426,443,459,466,467,468,469,470,471,472,473,475,476,477,478,482,486,488,490,491,492,493,494,495,496,498,502,504,505],perhap:501,period:[11,44,51,123,124,460,481,486],perman:[329,330,331,332,333,334,335,336,345,492],permiss:478,permit:493,permut:[13,89,383,460,468,485,496,498],perplex:15,persist:[4,5,12,143,237,241,257,273,287,484],person:[5,6,458,500,501],perspect:[477,491,505],perturb:[2,131],pervas:15,peter:7,peterjc123:[7,484],phase:[2,484],phenomenon:479,phi:[240,470],phone:503,photo:500,phototour:501,phy:375,physic:[462,475],pic:505,pick:[490,505],pickl:[13,159,273,397,466],pickle_load_arg:159,pickle_modul:[159,397],pickle_protocol:397,pid:479,piec:[5,491],pieter:7,pietern:7,pil:[500,501],pil_to_tensor:505,pillow:505,pin:[90,92,143,237,273,348,432,494,498],pin_memori:[13,90,92,432,459,460,476,494,498],pinvers:[460,498],pip:[484,497],pipe:490,pipelin:505,pivot:[177,178,179,498],pixel:[222,232,233,280,285,320,470,488,500,504,505,506],pixel_shuffl:[285,460,485],pixelshuffl:470,pixelwis:503,pizza:503,pkg:484,place:[1,5,8,11,13,14,18,36,54,92,143,193,206,216,230,231,232,233,234,237,247,260,273,289,290,291,292,298,312,324,326,327,337,338,339,341,342,343,344,393,433,459,461,468,470,472,476,480,485,488,490,491,494,496,498,505],placehold:[249,488],plai:14,plain:[9,211,274,283],plan:[2,5,14,102,126,131,324,392],plane:[81,199,200,201,203,204,205,207,208,209,221,222,223,224,225,226,239,255,256,259,262,267,268,269,355,394,470,473,488,500],plant:503,platform:[9,372,464,482,488,503],pleas:[1,2,3,5,6,8,10,14,15,36,46,54,92,217,221,222,223,224,225,226,253,324,366,463,467,468,469,470,472,473,478,484,485,486,488,490,491,496,498,500],plenti:479,plot:[475,497],plu:[2,505],plume:500,pmf:15,png:500,point:[1,2,5,6,8,11,13,18,32,44,45,51,109,118,123,124,131,133,141,143,150,151,156,158,160,165,173,207,208,209,221,222,223,224,225,226,237,238,267,268,269,273,319,324,366,373,374,375,384,387,400,401,406,437,443,459,461,462,469,470,472,473,477,482,486,488,490,491,495,498,500,502,504,505,507],pointer:[11,288,477,480,490,492,498],pointwis:[15,165,166,467,474],poisson:[286,460,470],poisson_nll_loss:[1,460],poissonnllloss:470,polar:15,poli:500,polici:[15,486],policy_network:15,polosukhin:[313,315,317],polyfil:459,polygamma:[460,498],polygamma_:[460,498],polygon:500,polymorph:461,pool:[11,199,200,201,203,204,205,207,208,209,239,255,256,267,268,269,270,271,272,274,475,478,481,482,488,490,504],pooled_w:504,poor:472,pop:[11,274,283],popul:[2,15,498],popular:501,popularli:505,port:14,portion:[110,230,324,329,330,331,332,333,334,335,336,427,470,486],pos_weight:[211,460,470],pose:491,posit:[2,13,15,44,46,51,62,63,64,123,124,143,144,160,211,221,222,223,228,230,236,237,273,279,306,313,318,393,439,440,441,442,448,457,460,467,468,470,478,485,488,498,504,505,507],position:[467,468],positive_definit:15,positive_integ:15,positivedefinit:15,possess:6,possibl:[6,9,10,13,15,143,150,159,211,217,237,273,390,416,459,461,466,467,470,471,473,475,477,478,481,484,488,490,492,495,498,500],post:[5,479,484,488,503,505],postprocess:503,pot:503,potenti:[14,46,217,221,222,223,224,225,226,324,461,466,470,473,485,496,498],potential_energi:15,pottedpl:503,pow:[1,2,460,467,472,485,498],pow_:[460,467,498],pow_adder_reduc:2,pow_reduc:2,powbackward0:2,power:[183,255,256,353,369,388,449,462,470,486,505],powertransform:15,practic:[13,15,458,459,466,468,478,503],pradhan:7,pre:[2,10,143,237,273,329,330,331,332,333,334,335,336,337,457,459,464,475,485,486,488,498,500,503],preced:[462,475,486],precis:[2,9,15,207,208,209,211,221,222,223,267,268,269,324,372,406,458,469,470,476,485,488,495,498,503],precision_matrix:15,precompil:480,precondit:160,precondition:160,pred:[324,490],predict:[202,211,503],predict_net:485,preemptiv:[324,488],preexist:2,prefer:[6,13,131,160,280,398,459],prefix:[143,237,273,457,488,493],prelu:[1,274,460,485],prepack:464,prepar:[462,485],prepare_for_backward:477,prepare_qat:488,prepend:[9,13,143,182,237,273,474],preprocess:[10,143,498,503],prerequisit:477,presenc:6,present:[6,14,143,177,202,237,273,348,457,465,466,467,468,473,478,491,495,500,502,503,504],preserv:[2,13,105,106,145,148,274,283,320,398,459,464,467,470,471,476,485,488,490,495,498,505],preserve_format:[91,113,362,378,380,382,456,495,498],preserve_rng_st:4,preserved_attr:145,pressur:[2,473],pretrain:[235,236,457,473,485,503],pretrained_backbon:503,pretti:[143,406,459],prevent:[1,5,11,13,14,75,76,141,231,279,301,370,424,440,442,466,470,472,477,479,492,493],previou:[14,148,241,257,287,324,329,330,331,332,333,334,335,336,375,423,464,473,484,492,498],previous:[2,147,459,474,476,489,490,498],prim:[459,485],primari:[6,462],primarili:[15,17,488,498],primit:[14,459,461,462,475,490],princip:365,print:[2,13,17,143,145,147,149,177,215,237,249,261,273,285,337,338,339,340,343,406,457,459,460,470,475,476,478,485,486,488,490,498,500,504],printable_graph:485,printer:459,printout:11,prior:[5,6,338,474,486,488],prioriti:[5,11,461],pritam:7,pritamdamania87:7,privat:478,pro:484,prob:[15,460],probabilist:[365,426],probabl:[13,45,165,193,202,206,217,231,232,233,241,253,257,280,287,466,470,478,484,485,498,505],problem:[5,14,150,160,175,229,280,466,470,479,481,482,484,492],problemat:[5,459],proce:[472,476,490],procedur:[150,151,160,490,500],proceed:[11,491,492],process:[1,2,8,9,11,14,15,148,160,210,211,227,229,235,236,248,253,254,265,266,270,271,272,276,277,278,280,286,301,302,309,313,315,317,318,324,457,459,466,467,468,470,473,475,476,477,478,480,481,482,484,488,492,493,494,500,503],process_group:[309,324,490],process_id:309,processcontext:466,processgroup:14,processgroupag:490,processgroupgloo:[477,490],processgroupmpi:477,processgroupnccl:477,processgrouprpcbackendopt:490,prod:[1,237,238,319,460,467,485,498],prod_:[102,126,131,222,223,225,226,392],prod_d:[238,319],produc:[1,5,9,11,13,18,116,149,150,151,185,187,189,217,221,222,223,224,225,226,324,375,459,461,466,467,470,472,474,476,480,484,488,493,496],producer_info:480,product:[2,10,14,15,24,27,28,29,43,53,57,61,72,75,87,89,117,182,190,194,241,242,257,258,370,433,459,467,470,480,498,505],prof:2,profil:[3,406,490],profile_memori:2,program:[2,3,11,13,14,459,461,462,473,476,479,480,481,484],programm:461,progress:[11,449,457,465,486,503],project:[5,89,365,457,483],promot:[56,86,108,232,233,371,391,495],promote_typ:460,prompt:484,prone:[466,481],propag:[2,15,466,467,478,480,485,488,493,498],propagate_qconfig_:488,proper:[13,221,222,223,224,225,226,461,473,476,484],properli:[5,13,274,275,283,284,324,425,427,478,481,490,491,495],properti:[2,13,15,143,206,303,325,348,470,476,486,490,495,507],proport:[255,256,505],proportion:[320,470,488],propos:[6,7,486,491],protect:473,proto:485,protobuf:485,protocol:[13,397,478,484,490],prototyp:[468,490,495],prove:466,proven:[5,231,324],provid:[1,2,5,6,8,9,10,11,13,14,15,17,52,55,58,63,64,89,112,141,147,149,150,224,225,226,229,241,242,257,258,270,271,272,279,280,287,289,313,324,329,365,391,398,415,440,442,457,459,461,464,466,467,468,470,476,477,478,485,486,488,490,491,492,493,494,495,498,499,502,503,504,505,507],proxi:490,prune:[329,330,331,332,333,334,335,336],pruned_tensor:[329,330,331,332,333,334,335,336],pruning_method:338,pruning_typ:[334,338],ps_roi_align:504,ps_roi_pool:504,pseudo:[18,366],pseudoinvers:15,pseudorandom:[45,193,359,365,367,379,426,482],psi:[84,368],psroialign:504,psroipool:504,pth:[457,459,465],pts:502,pts_unit:502,publish:5,puhrsch:7,pull:[6,10],purchas:6,pure:[10,144,459],purpos:[14,182,217,406,491,498],push:[5,6,11],put:[5,13,159,243,457,466,476,481,486,491,492,498,500],put_:[460,498],pyav:501,pybind11:[9,10,461],pybind:9,pyc:480,pycapsul:16,pyramid:504,python3:[159,397],python:[1,2,3,6,9,10,11,13,14,57,58,67,86,92,129,143,144,145,146,148,149,150,159,174,186,230,274,275,283,284,324,358,390,393,400,421,422,424,433,443,450,451,457,458,466,468,470,473,474,475,476,477,478,479,480,481,484,485,488,489,490,491,492,493,498,501,505],python_only_fn:149,pytorch:[0,2,3,8,9,11,13,15,36,56,68,112,132,133,134,135,136,148,210,217,313,324,348,397,457,461,465,468,469,474,475,476,479,480,481,483,484,486,488,490,491,495,496,497,498,500,503,504,507],pytorch_jit:459,q_add:488,q_filter:488,q_input:488,q_per_channel_axi:[460,488,498],q_per_channel_scal:[460,488,498],q_per_channel_zero_point:[460,488,498],q_proj_weight:460,q_scale:[460,488,498],q_zero_point:[460,488,498],qconfig:488,qconfig_dict:488,qconfig_spec:488,qconfigdynam:488,qint32:[373,374,488],qint8:[373,374,488],qmnist:501,qnnpack:488,qparams_dict:488,qscheme:[460,488,498],qtensor:[460,498],quad:[210,211,253,254,265,280],quadrant:41,quadrat:479,qualiti:[5,500],quant:488,quant_max:[460,488],quant_min:[460,488],quantiti:[332,333,335,336,338,341,342,343,344,486],quantiz:[2,8,78,373,374,458,485,495,498],quantization_schem:[373,374],quantize_dynam:488,quantize_dynamic_jit:488,quantize_jit:488,quantize_per_channel:[460,488],quantize_per_tensor:[460,488],quantize_qat:488,quantized_batch_norm:460,quantized_gru:460,quantized_gru_cel:460,quantized_input:488,quantized_lstm:460,quantized_lstm_cel:460,quantized_max_pool2d:460,quantized_rnn_relu_cel:460,quantized_rnn_tanh_cel:460,quantstub:488,quantwrapp:488,quasi:375,quasirandom:375,quennevil:7,queri:[11,279,460,476],question:458,queu:[11,476,498],queue:[5,466],queue_2:466,quick:[2,5],quickli:5,quint8:[373,374,488],quit:[5,478,479,490],qw_i:279,r2plus1d_18:503,r3d:503,r3d_18:503,r_t:241,race:473,racket:503,rad2deg:[460,467,498],rad2deg_:[460,467],radian:[15,31,41,77,376,460],rais:[1,2,4,5,9,15,146,147,152,159,183,333,335,338,348,462,466,473,476,478,479,490,498,505],raise_except:2,ram:159,rand:[1,2,15,130,145,149,150,151,152,162,164,313,314,315,316,317,324,367,378,459,460,461,463,467,468,470,485,490,491,496,498,499,503,504],rand_lik:[460,463,499],randint:[46,191,217,460,463,468,470,493,498,499,503,505],randint_lik:[460,463,499],randn:[2,8,15,21,22,23,24,25,26,27,28,33,34,35,36,38,39,40,41,42,43,53,58,60,61,62,63,64,66,70,71,72,73,74,75,76,79,80,81,82,83,85,86,89,102,107,126,127,128,130,131,149,161,163,167,168,174,177,178,179,181,182,183,185,186,187,189,190,191,192,194,198,199,200,201,203,204,205,206,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,228,229,231,232,233,234,238,239,240,241,242,243,244,245,246,247,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,272,280,281,282,283,284,285,286,287,289,290,291,292,297,298,300,303,304,305,306,307,308,309,310,311,312,318,319,323,360,366,369,370,372,382,385,386,392,395,396,408,410,411,412,413,414,417,418,421,422,424,425,427,428,430,431,433,436,437,438,439,441,444,450,451,452,453,454,460,461,463,467,468,470,473,474,475,476,477,478,485,488,493,495,498,499],randn_lik:[460,463,485,499],random:[15,18,45,121,129,160,180,206,217,241,257,290,329,335,336,343,344,359,365,375,377,378,379,380,381,382,383,399,407,426,457,458,460,470,482,485,497,498,500,503,504,505],random_:[210,211,229,280,460,467,470,498,499],random_devic:18,random_offset:500,random_sampl:460,random_split:13,random_tensor:491,random_unstructur:[340,345],randomaffin:505,randomappli:505,randomchoic:505,randomcrop:[500,505],randomeras:505,randomgrayscal:505,randomhorizontalflip:505,randomli:[2,13,206,231,232,233,290,335,470,480,488,500,505],randomord:505,randomperspect:505,randomresizedcrop:505,randomrot:505,randomsampl:13,randomsizedcrop:505,randomverticalflip:505,randperm:[460,463,499],rang:[1,2,11,13,14,15,22,42,45,66,98,103,125,165,202,229,237,239,242,247,258,264,275,280,284,289,303,304,305,327,448,459,460,470,473,475,479,481,485,486,488,495,497,498,499,500,503,505,506],range_pop:11,range_push:11,rangl:15,rank:[13,14,15,175,184,266,309,324,365,366,425,426,477,481,490,491],rao:7,rapidli:479,rare:[1,5,472,488],rate:[1,15,232,233,367,480,502,503],rather:[2,4,9,116,406,459,468,470,474,478,485,488,490,497,498,506],ratio:[15,239,504,505],ravel:334,raw:229,rbrace:[439,440,441,442],rceil:[32,60],rcond:[366,460],rdinat:[415,493],reach:[5,6,13,160,481,486,490],reachabl:14,read:[13,14,36,147,159,432,467,468,473,474,476,480,485,486,490,498,502],read_video:502,read_video_timestamp:502,readabl:[0,11,13,485],readi:[5,9,17,44,51,123,124,324,459,477,490,491],readlin:[147,159],readthedoc:89,real:[13,15,23,24,25,26,27,28,29,43,66,88,102,126,131,138,139,140,192,282,285,392,423,425,427,452,453,457,460,473,490,492,496,498,505],real_vector:15,realiti:3,realli:[2,5,425,427,473],realloc:128,realvector:15,rearrang:[285,468,470],reason:[13,14,150,151,185,187,189,210,397,459,461,470,473,477,483,485,488,490,495],rebas:5,rebuild:5,rebuilt:5,recal:[211,478,503],receiv:[2,5,11,13,14,15,17,324,466,472,481,490,491,492],recent:[1,2,5,134,461],recip:329,reciproc:[1,396,460,467,485,498],reciprocal_:[460,467,498],recogn:[13,490],recognit:[500,503],recommend:[1,2,13,14,15,18,136,144,160,202,230,324,397,432,446,457,459,466,468,470,471,472,473,475,476,478,481,485,488,498],recomput:[4,355,470,486],recompute_scale_factor:470,reconstruct:[11,210,211],record:[2,11,32,44,51,90,91,92,101,112,113,123,124,143,150,158,173,230,237,273,361,362,377,378,379,380,381,382,383,384,415,432,455,456,459,461,472,473,476,485,488,490,498],record_ev:11,record_shap:2,record_stream:[463,498],recordfunct:480,recordfunctioncallback:480,recordingobserv:488,recov:[126,131,179,324,348,472,479],recoveri:479,recreat:[2,473],rectangl:505,rectangular:179,rectifi:[290,291,470,471,488],recurr:[14,150,217,230,241,242,257,287,351,476,486],recurs:[15,143,149,237,273,461,486],recv1:491,recv2:491,recv:[14,491],redirect:9,redistribut:484,reduc:[1,2,11,14,24,33,34,174,185,186,187,189,191,210,211,212,213,214,227,229,236,248,253,254,265,266,276,277,278,280,286,301,302,309,318,324,356,370,372,421,422,424,425,450,451,460,466,467,470,475,477,484,486,488,490,493,498],reduce_add:11,reduce_multigpu:14,reduce_op:14,reduce_rang:488,reduce_scatt:14,reduce_scatter_multigpu:14,reducelronplateau:486,reduceop:14,reducesum:485,reduct:[1,14,165,210,211,217,227,229,236,248,253,254,265,266,276,277,278,280,286,301,302,318,324,460,467,470,477,488],redund:[14,131,392,423],redundantli:472,reevalu:486,refactor:[5,483,484],refcount:[466,481],refer:[2,11,13,14,15,17,36,54,92,144,149,153,160,217,279,324,365,375,426,457,460,466,467,469,470,472,473,477,478,479,481,488,490,491,495,496,498,499,501,503,504],referenc:[438,461,473,490],refin:468,refine_nam:[460,467,468],reflect:[111,141,221,222,223,293,294,423,459,470,479,496,498,505],reflection_pad1d:460,reflection_pad2d:460,reflection_pad:485,reflectionpad2d:470,reflector:116,refriger:503,regard:[224,225,226,235,236,459,470,492],regardless:[1,13,446,472,490],region:[1,15,239,247,427,459,466,470,472,476,488,504,505],regist:[2,10,14,15,143,159,237,273,274,275,283,284,324,325,466,477,478,480,485,490,498],register_backend:[14,490],register_backward_hook:[143,237,273],register_buff:[143,237,273,459,461,478],register_custom_op_symbol:485,register_forward_hook:[143,237,273],register_forward_pre_hook:[143,230,237,273],register_hook:[2,143,237,273,463,467,498],register_kl:15,register_packag:159,register_paramet:[143,237,273,478],registr:324,regress:[5,210,253,482,503],regular:[2,3,8,14,217,231,232,233,273,274,275,283,284,468,470,478,480,485,486,488],regularli:[5,485],reimplement:[143,237,273],reinforc:15,reiniti:457,reinterpret:[15,498],reinterpreted_batch_ndim:15,rel:[2,6,9,15,30,137,318,470,475,476,480,486],relat:[5,6,13,14,238,319,324,365,490],relationship:2,relative_path_to_checkpoint:457,relative_to:484,relax:[15,150,151],relaxed_bernoulli:15,relaxed_categor:15,releas:[5,11,14,25,86,253,397,457,461,466,470,475,476,482,483,484,485,490],relev:[6,462,472,473,498],reli:[6,13,230,473,475,477,482,496],reliabl:490,reload:457,relu1:[299,488],relu2:299,relu6:460,relu:[149,273,287,289,299,306,313,315,317,459,460,464,468,471,485],relu_:[460,470,488],rem:484,remain:[1,2,15,175,329,330,331,332,333,334,335,336,345,390,466,472,479,500],remaind:[109,460,498],remainder_:[460,498],remap:[147,159,457,465],rememb:[479,481],remot:[13,14,324,490,491,503],remov:[2,6,14,141,143,145,182,237,273,274,283,324,329,330,331,332,333,334,335,336,341,342,343,344,346,347,419,437,445,464,470,492,498,504],removablehandl:[143,237,273],remove_dropout:464,renam:[460,467,468],rename_:[460,467,468],rename_map:468,renamed_img:468,render:5,rendezv:[477,490],renorm:[1,235,236,460,470,498],renorm_:[460,498],rep:485,repackag:479,reparameter:[15,329,330,331,332,333,334,335,336,345,346,347,355],reparametr:[15,329,330,331,332,333,334,335,336,339,470],reparametriz:15,repeat:[15,177,365,389,426,460,470,485,498,504,505],repeat_interleav:[460,482,498],repeatedli:[102,126,131,392,476,493],repetit:389,repl:2,replac:[2,9,13,14,146,152,193,312,337,338,339,341,342,343,344,355,459,460,464,473,480,481,484,485,488,498],replic:[13,148,221,222,223,230,238,295,296,297,319,324,470],replica:[13,14,230,324,477],replication_pad1d:460,replication_pad2d:460,replication_pad3d:460,replication_pad:485,replicationpad2d:470,repo:[5,457,484,486,503],repo_nam:457,repo_own:457,report:[2,3,6,472,476,503],repositori:[6,457,478,481],repr:406,repres:[2,8,11,13,15,16,89,102,125,137,138,139,140,142,150,151,202,217,241,287,319,328,329,332,333,334,335,336,338,341,342,343,344,348,354,364,365,413,423,427,437,446,447,452,453,459,461,473,478,480,485,486,488,490,493,495,500,507],represent:[1,143,237,273,279,459,478,485,488,493,498,504,507],reproduc:[5,13,46,217,221,222,223,224,225,226,457,458,470,486,498],requant:488,request:[6,11,14,160,472,473,475,476,490,491,492],requir:[1,2,4,6,9,10,11,13,14,15,105,106,131,143,160,236,237,273,313,314,315,316,317,324,325,329,425,457,459,463,464,466,468,470,472,473,475,476,477,478,479,480,481,485,486,488,490,491,492,498,500,503],require_grad:2,requires_grad:[2,15,32,37,44,51,90,91,92,93,101,112,113,123,124,143,158,173,210,211,229,235,236,237,254,265,273,280,286,318,324,325,356,361,362,377,378,379,380,381,382,383,384,403,415,432,455,456,460,463,467,468,470,478,485,490,491,493,498,499],requires_grad_:[2,143,217,237,273,432,460,467,470,493,498],rerr:160,rerun:4,res1:485,res2:485,res:[53,485],resampl:505,rescal:[210,211,229,277,278,280,303,305,353,470,505],research:[5,457],resembl:10,reserv:[11,462],reserved_byt:11,reset:[2,11,241,288,365,375,426,485,489],reset_max_memory_alloc:11,reset_max_memory_cach:11,reset_peak_memory_stat:11,reset_peak_stat:11,reshap:[10,238,293,294,295,296,319,353,358,416,433,460,468,485,493,496,498,505],reshape_a:[460,485,496,498],reshuffl:13,resid:[14,159,324,476,498],residu:[160,175,503],resili:[486,490],resiz:[111,320,467,470,488,494,498,503,505],resize_:[2,154,459,460,461,467,488,494,498],resize_as_:[2,460,467,498],resizeas_:493,resized_crop:505,resnet101:503,resnet152:503,resnet18:[457,459,461,465,473,503],resnet34:503,resnet3d:503,resnet50:[457,497,503],resnet:[457,459,461,485,497],resnext101_32x8d:503,resnext50_32x4d:503,resolut:[285,462,470],resolv:[5,6,15,224,225,226,238,461,462,484],resourc:[9,13,466],respect:[1,2,14,15,27,28,29,42,81,83,92,143,160,210,217,224,225,226,230,237,241,257,273,274,283,287,318,320,329,333,335,372,413,425,433,468,472,486,488,494,498,500,504,505],respond:5,respons:[3,5,6,14,15,17,262,324,470,473,476,478,490],rest:[5,13,468,488,490,493],restart:[466,486],restor:[4,18,393,483],restrict:[13,253,461,462,468,488],restructur:5,result:[2,3,5,9,11,13,14,15,17,23,24,25,26,27,28,36,43,46,54,57,66,67,73,74,75,76,79,86,89,92,102,126,131,144,145,150,151,153,154,156,167,168,174,185,186,187,189,191,192,230,232,233,238,241,257,287,319,356,357,359,365,366,369,370,375,391,392,398,412,421,422,423,424,426,429,436,439,441,450,451,459,460,461,467,468,470,471,472,473,474,475,476,477,478,479,482,485,486,490,491,493,495,497,498,503,504,505],result_avg:505,result_typ:460,resum:[486,490,492],ret:[478,490],ret_fut:490,retain:[2,33,34,37,145,154,174,185,186,187,189,191,358,370,397,421,422,424,439,440,441,442,450,451,466,481,483,498],retain_grad:[2,460,498],retain_graph:[2,460,472,473,490,498],rethink:503,retri:[11,492],retriev:[2,4,13,235,238,319,349,470,480,490,491,492],return_count:[446,447,460,498],return_indic:[203,204,205,239,267,268,269,270,271,272,460,470,488],return_invers:[446,447,460,498],return_typ:[73,74,154,185,187,189,191,412,434,438],reus:[2,14,473,488,498,505],reveal:[477,493],revers:[1,15,104,324,329,330,331,332,333,334,335,336,345,449,460,461,473,477,498,505],revert:[6,306,470,492],review:6,reward:15,rewrit:[464,473],rfc:491,rfft:[131,460,498],rfloor:[60,107,108,110,202,207,208,209,221,222,223,224,225,226,238,255,256,267,268,269,319,320,321,322,384,392,423,470],rgb:[251,252,497,503,505],rgba:505,rho:486,riba:318,richard:15,riemann:473,right:[1,5,14,15,32,44,51,52,55,60,84,85,89,105,107,108,110,123,124,141,159,165,166,193,195,202,207,208,209,210,211,221,222,223,224,225,226,229,238,253,254,255,256,262,263,264,265,267,268,269,276,277,278,282,283,288,318,319,320,321,322,327,384,398,423,433,438,449,457,460,466,467,468,470,478,485,486,488,492,505],right_ankl:503,right_ear:503,right_elbow:503,right_ey:503,right_hip:503,right_kne:503,right_should:503,right_wrist:503,righteye_i:500,righteye_x:500,rightmost:15,rightmouth_i:500,rightmouth_x:500,risk:5,riski:5,rmsprop:486,rng:[4,11,13,399,479,482,489],rnn:[241,242,257,258,289,325,348,460,463,479,485,488],rnn_relu:460,rnn_relu_cel:460,rnn_tanh:460,rnn_tanh_cel:460,rnncell:488,robin:14,robust:[160,466,501],roi:504,roi_align:504,roi_pool:504,roi_width:504,roialign:504,roipool:504,roll:[460,498],roof:2,root:[396,417,460,473,486,490,491,493,500],ross:301,rot90:[460,498],rotat:[15,394,473,505],rotation_transform:505,rough:5,roughli:[13,131,477,503],round:[13,14,32,108,372,460,467,470,482,485,488,498],round_:[460,467,498],roundtrip:5,routin:[63,425],row:[13,59,88,101,105,106,154,174,175,185,186,187,189,191,193,357,370,388,421,422,424,440,442,449,450,451,460,470,493,498,506],row_limit:2,rowmajor:[2,324],rpc:[17,324,458,491,492],rpc_async:[17,490,492],rpc_backend_opt:490,rpc_sync:[490,491,492],rpc_timeout:490,rpcagent:490,rpcbackendopt:490,rpn:503,rprop:486,rref1:[490,491],rref2:[490,491],rref:[324,491],rrefid:492,rrelu:[460,485],rrelu_:[460,470],rrelu_with_nois:460,rrelu_with_noise_:460,rsampl:15,rsqrt:[1,460,467,485,498],rsqrt_:[460,467,498],rst:5,rsub:[460,485],rtol:[2,30,137,459,460,498],rule:[2,14,15,55,56,86,108,185,189,212,213,214,250,251,252,309,329,330,331,332,333,334,335,336,398,437,459,461,467,473,474,478,495,498],run:[1,2,3,4,5,10,13,14,17,89,102,126,131,143,144,145,147,150,151,159,185,187,189,212,213,214,230,237,250,251,252,273,309,392,405,440,442,459,464,466,472,473,475,476,477,478,479,480,481,482,484,485,486,488,489,490,491,492,497,499],run_arg:488,run_fn:[2,4,488],run_model:479,run_process:491,runnabl:497,running_mean:[143,212,213,214,237,250,251,252,273,309,460,470],running_var:[143,212,213,214,237,250,251,252,273,309,460,470],runtim:[2,4,9,14,467,468,478,481,485,488],runtimeerror:[1,2,9,134,193,459,461,467,472,474,479,484,485,495,498,505],runtimewarn:15,rv0:459,rv1:459,rvert:[30,137],rvert_p:[318,470],s1064827500366124:160,s1064827500370883:160,s_min:217,s_n:217,sacrif:503,safe:[1,11,324,459,472,473,480,490],safest:[9,493],safeti:[459,468],sai:[5,459,472,479,485,491,492,498,500],said:2,sam:[6,7],same:[1,2,5,9,10,11,13,14,15,17,24,37,43,45,46,53,54,55,58,72,81,83,89,91,95,102,109,111,113,114,126,127,128,131,141,143,148,149,150,151,154,174,181,185,186,187,189,191,196,200,201,204,205,206,208,209,210,211,212,213,214,215,216,218,219,220,222,223,224,225,226,228,229,231,232,233,234,236,238,240,243,244,245,246,247,248,250,251,252,253,254,256,259,260,261,262,263,264,265,268,269,270,271,272,276,277,279,280,281,282,286,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,319,320,323,324,329,330,331,332,333,334,335,336,348,352,359,362,367,369,370,372,378,380,382,385,387,389,390,392,393,398,420,421,422,424,429,437,446,447,448,450,451,456,457,459,461,466,467,468,470,472,473,474,475,476,477,478,479,480,481,485,488,490,491,492,493,494,495,496,498,500,503,504,505,506],sampl:[13,15,18,45,151,158,173,177,193,206,210,211,215,221,222,223,224,225,226,227,229,231,232,233,235,236,248,250,251,252,253,254,261,265,266,276,277,278,280,286,290,301,302,309,318,359,365,367,375,379,437,470,471,472,480,482,486,488,498,500,504,505],sample_input_cpu:459,sample_input_gpu:459,sample_n:15,sample_shap:15,sampler:488,sampling_ratio:504,samplingprob:480,sandwich:503,sane:406,satisfi:[2,12,15,30,55,131,202,217,238,241,257,287,338,372,398,423,486,495,498,504],satur:[470,505],saturation_factor:505,save:[2,4,5,8,10,14,142,143,146,147,150,152,159,237,273,324,459,460,465,468,473,478,481,482,485,486,488,498,500,502,506],save_for_backward:[2,472,478],save_imag:506,save_invstd:460,save_mean:460,save_to_buff:142,saved_tensor:[2,472,473,478],saved_weight:498,sax:471,sbd:501,sbdataset:500,sbu:501,sbucaptionedphotodataset:500,scalar1:460,scalar2:460,scalar:[2,15,23,25,26,37,55,86,108,156,182,188,192,202,210,211,217,229,230,248,253,254,259,266,276,277,278,280,286,301,302,318,357,361,362,369,371,398,415,432,443,446,447,455,456,460,461,470,471,478,485,486,488,490,493,495,497,498],scalar_tensor:[460,485],scalartensor:478,scale:[5,13,15,27,28,29,43,206,231,235,236,259,298,320,321,322,373,374,458,460,468,470,471,473,479,486,488,498,500,503,504,505,506],scale_channel:468,scale_each:506,scale_factor:[320,321,322,470,488],scale_fn:486,scale_grad_by_freq:[235,236,460,470],scale_hh:460,scale_ih:460,scale_mod:486,scale_tril:15,scaled_grad_param:472,scaler:[1,472],scales_d:460,scales_h:460,scales_w:460,scatter:[11,14,230,460,479,485,490,498],scatter_:[460,498],scatter_add:[460,485,498],scatter_add_:[460,482,498],scatter_list:14,scenario:[1,13,476,485,490],schedul:[480,486],schema:[459,460],scheme:498,schmidtm:486,sci:160,sci_mod:406,scientif:406,scipi:[59,470,500,503],scissor:503,scope:[5,309,338,459,461,479,485,492],score:[229,503,504],scrambl:375,scratch:[5,473],script:[1,3,13,14,144,145,146,148,150,152,324,457,461,464,475,480,490,503],script_add:490,script_bar:144,script_method:[459,485],script_modul:464,scriptabl:152,scripted_fn:459,scripted_modul:[145,149],scriptfuncion:149,scriptfunct:[147,149,150],scriptmodul:[142,145,147,148,149,150,151,459,461,464,485],scrutini:5,search:[5,8,55,246,398,459,467,468,470,488,503],searchsort:460,seat:6,sebastian:7,sec:502,second:[2,4,9,23,24,27,29,30,33,34,35,41,43,47,49,50,53,72,81,83,88,94,115,122,137,155,159,165,166,176,182,185,189,190,192,197,202,208,209,215,222,223,225,226,235,236,241,256,257,262,266,268,269,287,338,394,415,436,440,442,449,461,470,473,479,482,483,484,490,493,502,505],secondli:210,section:[2,5,13,15,230,272,351,459,461,462,466,468,473,477,478,481,488,491,498],see:[1,2,3,4,5,6,9,10,11,13,14,15,32,33,34,35,37,44,46,51,53,79,90,92,101,102,108,112,116,123,124,126,131,143,145,149,150,151,153,154,158,160,166,168,173,174,177,185,186,187,189,190,191,202,210,211,217,221,222,223,224,225,226,227,229,230,235,236,237,241,248,253,254,257,265,266,270,271,272,273,276,277,278,279,280,286,287,290,301,302,314,315,316,317,318,320,324,325,333,342,351,353,355,357,361,363,364,366,370,371,377,379,381,383,384,390,391,392,397,412,415,421,422,423,424,432,440,442,450,451,454,455,457,459,460,461,462,465,466,467,468,470,472,473,476,478,479,480,481,482,484,485,488,490,491,493,495,496,498,499,503,504,505,506],seed:[11,13,18,129,180,365,375,426,460,479,482,489,500],seed_al:11,seek:[147,159],seem:[5,485,505],seen:[2,15,58,224,225,226,459,486,498],segfault:466,segment:[4,11,500,501,505],select:[10,11,12,13,15,46,61,160,217,221,222,223,224,225,226,241,257,287,343,344,454,459,460,466,467,468,470,475,476,485,488,496,498,500,503,504,505],select_model_mode_for_export:485,self:[1,2,13,127,142,143,144,145,146,148,149,150,151,152,202,206,237,273,274,275,283,284,298,315,317,333,335,348,369,385,459,460,461,467,468,472,473,474,475,478,479,485,486,488,490,494,498,505],self_cpu_memory_usag:2,self_cpu_time_tot:2,self_cuda_memory_usag:2,selu:[206,460,485],selu_:460,semant:[6,11,33,34,35,54,145,148,447,458,461,485,500,501,505],semi:[227,248,471],semidefinit:64,send1:491,send2:491,send:[5,11,13,14,466,477,481,484,490,491,492,499],sender:[14,492],sens:[3,15,338,446,447],sensit:[301,485,491,504],sent:[11,14,438,466,481,490,491,492],separ:[1,2,9,13,14,89,116,148,241,243,250,251,252,257,259,281,287,359,457,460,470,472,475,486,491,497,506],seq:[2,58,67,188,241,257,287,351,445,498],seq_len:[241,257,287],seq_unpack:351,sequenc:[2,11,13,15,55,57,58,61,78,90,116,150,188,202,217,221,230,236,241,257,279,287,313,314,315,316,317,334,348,349,350,351,352,359,361,375,377,381,398,420,423,455,459,470,476,479,485,486,488,490,498,505],sequenceat:485,sequenceinsert:485,sequenti:[4,13,143,237,273,309,338,466,485,488],sequentialsampl:13,seri:[217,250],serial:[10,13,148,159,457,458,460,465,468,473,476,480,481,488,490,491],serializ:[459,485],seriou:[466,483],serv:[1,5,10,14,490,491],server:[5,13,490],servic:477,sess:485,set:[0,1,2,4,6,9,11,13,14,15,17,18,32,46,52,55,67,90,92,102,112,118,126,131,143,147,149,150,151,158,159,160,173,177,180,184,202,206,210,211,212,213,214,215,217,221,222,223,224,225,226,227,229,230,231,232,233,235,237,241,243,248,250,251,252,253,254,255,256,257,259,261,265,266,270,271,272,273,276,277,278,279,280,286,287,301,302,309,318,324,372,375,384,392,399,400,401,403,404,405,406,407,432,439,440,441,442,457,459,461,462,464,465,466,470,471,472,474,475,476,477,478,479,480,481,482,484,485,486,488,489,490,498,500,503,504,505],set_:[2,460,498],set_backoff_factor:1,set_default_dtyp:118,set_default_tensor_typ:[32,37,44,51,90,92,101,112,118,123,124,158,173,361,377,379,381,383,384,415,432,440,442,455],set_detect_anomali:2,set_devic:[11,14,324,495],set_dir:457,set_epoch:13,set_grad_en:[2,93,499],set_growth_factor:1,set_growth_interv:1,set_image_backend:501,set_num_interop_thread:475,set_num_thread:475,set_result:[17,490],set_rng_stat:[11,489],set_rng_state_al:11,set_sharing_strategi:466,set_start_method:481,set_stat:18,set_trac:[146,149,152,459],set_train:485,set_video_backend:501,setapiusagehandl:480,setapiusagelogg:480,setexportmoduleextrafileshook:480,setup:[9,324,475,490,491],setuptool:9,sever:[10,14,89,199,200,201,202,203,204,205,207,208,209,210,221,222,223,224,225,226,239,255,256,262,267,268,269,270,271,272,321,322,459,470,472,475,476,480,486,488,490,505],sgd:[1,13,235,324,472,473,477,486,490,491],sgdr:486,sgn:[110,409],sha256:[457,465],shadow:505,shall:273,shallow:[230,318],shamelessli:406,shao:160,shape:[2,8,11,15,23,25,26,36,41,45,46,58,59,83,85,86,88,89,90,92,94,102,109,112,115,122,126,128,131,150,151,155,156,175,176,181,185,189,192,193,197,202,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,231,232,233,234,235,236,237,238,240,241,242,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,276,277,279,280,281,282,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,333,335,359,361,369,377,379,380,381,387,389,390,392,393,415,419,423,425,427,429,437,446,447,454,455,459,460,467,468,470,473,474,478,479,485,488,490,493,498,500,503,504,505,506],shape_as_tensor:485,shard:[5,13],share:[2,5,9,11,13,15,16,111,127,196,230,359,385,419,436,448,460,473,475,481,484,485,490,494,496,498],share_memori:481,share_memory_:[463,466,494,498],shared_memori:466,sharedfil:14,shazeer:[313,315,317],shceme:488,shear:505,sheep:503,shell:9,shen:7,shi:285,shift:[206,212,213,214,309,393,460,462,470,498,504,505,506],ship:[475,490],shippabl:5,shm_open:466,shorter:[141,485,490],shortest:349,shorttensor:[495,498],should:[1,2,3,4,5,6,9,10,11,13,14,15,23,24,27,28,29,32,43,44,45,46,51,66,72,89,90,91,92,101,102,112,113,123,124,126,131,141,143,146,149,150,151,152,158,159,165,173,179,192,202,210,211,215,227,229,230,232,233,236,237,241,257,266,273,280,281,287,318,320,324,329,330,331,332,333,334,335,336,338,341,342,343,344,348,349,350,361,362,372,373,377,378,379,380,381,382,383,384,390,415,432,438,455,456,457,459,461,465,466,468,470,472,473,475,476,477,478,479,481,482,484,485,486,488,490,492,493,496,497,498,500,503,504,505,506],shouldn:[493,496],shout:485,show:[0,3,5,13,14,457,467,475,476,477,486,490,492],showcas:[6,270,476,481],shown:[1,11,459,472,478,479],shrinkag:[244,307,470],shuffl:[13,497,500],shufflenet_v2_x0_5:503,shufflenet_v2_x1_0:503,shufflenet_v2_x1_5:503,shufflenet_v2_x2_0:503,shufflenetv2:503,shut:[13,490],shutdown:[490,491],siam:160,side:[2,9,85,89,141,207,208,209,218,219,220,221,222,223,224,225,226,238,267,268,269,293,294,295,296,297,319,323,423,438,457,459,470,472,485,486,488,490,505],sigma:[15,211,241,242,257,258,300,353,460,470,498],sigmoid:[1,15,210,211,241,242,257,258,460,467,468,471,485,498],sigmoid_:[460,467,498],sigmoidtransform:15,sign:[5,15,41,81,109,387,412,460,467,473,485,488,495,498,503],sign_:[460,467,498],signal:[8,102,126,131,141,199,200,201,203,204,205,207,208,209,221,222,223,239,255,256,262,267,268,269,321,322,392,466,470,481,488,490],signal_2d:262,signal_4d:262,signal_length:141,signal_ndim:[102,126,131,392,460,498],signal_s:[131,460,498],signatur:[2,13,143,237,273,348,423,478,488,498],signific:[2,473,476,486],significand:[495,498],significantli:[2,324],silent:[11,128,150],silli:478,sim:[45,286,367,381,470],similar:[5,13,14,15,57,67,131,143,227,228,237,238,248,250,251,252,273,318,348,359,389,447,461,466,467,470,473,475,478,485,488,491,493,498,500,504,507],similarli:[5,37,62,241,257,287,329,330,331,332,333,334,335,336,345,439,440,441,442,461,479,485,488],simon:7,simpl:[1,10,11,145,149,212,213,214,235,309,457,459,462,470,472,475,477,478,479,480,482,485,490],simplecustombatch:13,simplequeu:481,simpler:[459,478],simplest:[207,208,209,221,222,223,267,268,269,478,488,492],simplex:15,simpli:[1,2,9,13,15,136,206,231,329,330,331,332,333,334,335,336,459,461,473,488,493],simplic:491,simplifi:[17,147,264,486,491],simul:[15,488],simultan:[473,486,490],sin:[9,38,124,460,467,485,498],sin_:[460,467,498],sin_add:9,sinc:[5,11,13,14,15,61,88,131,141,143,146,148,177,210,237,270,271,272,273,320,324,338,425,427,459,460,461,464,470,472,473,478,479,480,484,485,486,488,489,490,491,493,495,496,498,505],sine:[39,410,411],singl:[2,9,14,15,17,36,44,51,54,92,123,124,134,142,143,150,151,165,200,201,204,205,208,209,211,221,222,223,225,226,229,230,237,239,243,255,256,259,268,269,273,281,285,309,324,326,327,328,354,369,390,416,446,447,457,459,461,466,468,470,473,475,476,478,481,482,485,486,488,490,491,492,494,495,498,504,505],singleton:[15,259,448,474,498],singular:[79,160,168,177,184,365,366,412,425,426],sinh:[1,39,460,467,498],sinh_:[460,467,498],sink:503,site:5,situat:[15,466,481,488,492],size:[2,5,11,13,14,15,28,29,32,36,43,44,46,51,53,54,55,62,64,65,72,75,76,79,81,89,90,91,92,95,102,112,113,114,117,123,124,126,128,130,131,141,143,154,158,160,168,173,174,175,177,178,182,184,185,186,187,188,189,191,193,194,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,217,218,219,220,221,222,223,224,225,226,229,230,235,236,237,238,239,243,249,250,251,252,253,254,255,256,259,261,262,265,266,267,268,269,270,271,272,273,276,277,278,279,280,285,293,294,295,296,297,309,313,319,320,321,322,323,324,338,348,349,350,351,352,353,355,357,359,361,362,365,366,367,370,371,372,373,374,375,377,378,379,380,381,382,384,392,393,398,412,413,415,416,419,420,421,422,423,424,425,426,427,432,433,438,446,447,448,450,451,452,453,455,456,459,460,467,468,470,472,473,474,476,477,478,479,480,485,486,488,490,493,494,495,498,500,503,504,505,506],size_averag:[210,211,227,229,248,253,254,265,266,276,277,278,280,286,301,302,318,460,470],sizedim:498,sizeof:494,skateboard:503,skeleton:329,skew:[2,3],ski:503,skip:[1,459,472,477,478,486],sky:500,slack:5,sleep:17,slice:[212,213,214,303,305,309,388,445,459,462,470,485,496,498],slide:[141,238,319,423,470],slightli:[6,13,365,398,426,457,503],slogdet:[460,498],slope:[260,471],slow:[2,446,481],slow_conv3d:460,slow_conv_dilated2d:460,slow_conv_dilated3d:460,slow_conv_transpose2d:460,slow_conv_transpose3d:460,slow_set_futur:17,slower:[2,3,14,53,470,478,482,503],slowli:489,small:[1,2,5,6,11,13,14,15,32,163,165,202,228,282,286,299,320,366,459,461,470,476,478,479,488],small_pool:11,smaller:[13,65,66,371,416,486,498,505],smallest:[60,154,160,371,434,493,507],smart:[478,490],smessmer:7,smi:[11,476,479],smm:460,smnt:500,smoke:500,smooth:[306,485,486],smooth_l1_loss:[1,460],smoother:457,smoothl1loss:470,snapshot:[11,476],snedecor:15,snippet:457,snow:500,snowboard:503,snowi:500,sobol:375,soboleng:375,socket:[466,490],sofa:503,soft:[307,470,503],soft_margin_loss:[1,460],softmarginloss:470,softmax:[1,15,202,264,304,460,468,485],softmaxtransform:15,softmin:[1,460],softplu:[1,460,485],softshrink:460,softshrinkag:307,softsign:460,softwar:486,sole:486,solid:[492,505],solut:[5,8,175,210,413,438,460,471,472,479,481],solv:[5,8,64,160,175,178,438,460,484,498],solver:[413,438],some:[1,2,4,5,6,9,11,14,15,46,131,141,143,148,150,202,206,210,211,217,221,222,223,224,225,226,227,229,230,231,237,248,250,251,252,253,254,265,266,273,276,277,278,280,286,301,302,318,324,325,372,425,457,459,460,461,462,464,466,467,468,470,472,473,476,478,479,480,481,482,483,484,485,486,488,490,491,492,493,498,500,503,504,505],some_dict:461,some_entry_point:149,some_fn2:459,some_fn3:459,some_fn4:459,some_fn:459,someon:[5,468],someth:[5,150,463,466,467,484,490],sometim:[2,5,131,150,238,319,466,470,479,481,495,498],somewher:[468,480],soon:[8,490,492],sophist:486,sort:[2,35,89,125,202,349,350,357,398,434,446,460,478,479,485,488,498,504],sort_bi:2,sorted_indic:[348,351],sorted_sequ:[398,460],sorted_sequence_1d:398,soumith:[6,7],sourc:[0,1,2,3,4,9,11,13,14,15,17,52,54,57,59,61,68,89,93,114,121,129,135,136,141,143,144,145,146,147,148,149,150,151,152,153,159,160,179,180,188,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,358,365,375,397,399,400,401,403,406,407,416,423,426,433,457,459,460,461,464,466,468,470,471,479,480,482,485,486,488,489,490,491,493,494,498,500,501,502,503,504,505,506],space:[13,15,150,151,158,173,202,221,222,223,224,225,226,238,253,267,268,269,319,437,470,488,504,505],spadd:493,span:[11,253,490,498],spandan:7,spandantiwari:7,spars:[2,8,53,114,134,160,235,236,303,365,415,426,458,460,463,471,486,495,496,498],sparse_:471,sparse_coo:[415,493,495,498],sparse_coo_tensor:[460,463,493,498],sparse_dim:[415,460,493,498],sparse_grad:[114,460],sparse_mask:[460,493,498],sparse_resize_:460,sparse_resize_and_clear_:460,sparseadam:[235,486],sparseaddmmbackward:493,sparsedim:498,sparsefloattensor:493,sparsetensor:[2,415,493,498],sparsiti:471,spatia:470,spatial:[59,213,238,285,304,319,320,321,322,470,488,504],spatial_scal:504,spatio:[214,309],spawn:[13,144,324,472,477,481,484,491],spawncontext:466,speak:[131,493],special:[5,8,159,230,325,357,462,468,473,478,480,488,496],specif:[2,4,5,6,9,11,14,15,18,65,126,131,141,143,150,151,160,185,187,189,237,238,259,273,329,457,459,461,463,468,473,476,481,482,483,485,486,488,490,492,498,502,504],specifi:[2,9,11,13,14,15,36,46,75,76,80,81,83,86,114,143,145,150,151,159,160,170,184,208,209,210,211,217,225,227,229,230,236,237,238,248,253,254,259,265,266,271,273,276,277,278,279,280,286,301,302,313,318,319,321,322,324,327,329,330,331,332,333,334,335,336,338,341,342,343,344,355,358,365,370,375,390,393,394,397,406,424,446,447,448,449,457,459,461,465,467,468,470,473,476,478,484,485,486,488,489,490,493,494,495,498,500,501,505,506],specifii:488,spectral:[8,346,353],spectral_norm:[230,346],speed:[5,9,102,126,131,202,392,425,475,476,477,478,479,482,488,490],spend:[3,5,160],spent:[2,3,14,475,486],sphinx:5,split:[5,13,14,58,65,230,324,459,460,467,470,485,488,490,496,498,500,503,504],split_siz:[416,460,498],split_size_or_sect:416,split_with_s:460,spmm:493,sponsorship:6,spoon:503,sport:503,spotri:63,spread:[11,476],sqrt:[96,97,102,126,131,212,213,214,215,221,222,223,224,225,226,241,242,243,250,251,252,255,256,257,258,259,261,287,289,309,392,396,460,467,471,472,485,486,493,498],sqrt_:[460,467,498],squar:[79,80,82,88,130,141,168,175,177,183,200,204,208,209,222,223,225,226,239,256,265,268,269,272,301,313,396,412,413,417,449,460,470,486,488,493,498,505],square_:[460,498],squeez:[154,174,185,186,187,189,191,370,421,422,424,450,451,460,467,485,493,496,498],squeeze_:[460,498],squeezebackward1:2,squeezenet1_0:503,squeezenet1_1:503,src:[11,14,193,313,316,317,429,460,488,498],src_key_padding_mask:[313,316,317],src_mask:[313,317],src_tensor:14,srinivasan:7,ssa:459,sse3:402,ssnl:7,sspaddmm:[460,493],sspmm:493,stabil:[1,174,211,212,213,214,243,250,251,252,259,306,309,353,470,486],stabl:[1,2,15,89,160,211,425,427,478,485,488,490],stack:[1,11,13,15,217,241,257,287,314,316,352,460,476,477,479,485,505],stacktransform:15,stage:[5,492],stagnat:486,stai:[5,230,481,488,490,498],stand:[461,492],standalon:[149,150,459],standard:[5,9,15,206,212,213,214,243,250,251,252,259,309,315,317,359,365,381,421,422,461,462,471,475,481,485,488,498,500,503,505],star:[221,222,223],start:[2,3,6,11,13,14,17,32,156,158,173,196,202,236,276,324,329,333,335,348,384,404,457,460,461,466,468,470,473,474,476,477,479,481,484,485,486,490,491,492,498,502,503],start_dim:[103,237,460,498],start_epoch:13,start_ev:476,start_method:466,start_process:466,start_pt:502,startpoint:505,startup:3,stash:[2,4,478],stat:[11,309,324],state:[1,2,4,11,13,15,18,121,143,144,150,160,237,241,242,257,258,273,287,289,325,375,407,464,472,473,476,477,481,484,486,488,489],state_dict:[1,143,237,273,341,457,465,477,481,483,485,486],stateless:488,statement:[150,462,473,478,481,485,490],stathopoulo:160,stathopoulosetal2002:160,static_async_add:490,static_k:460,static_v:460,staticmethod:[2,472,478,490],statist:[11,15,165,212,213,214,243,250,251,252,259,309,479,488],statu:[177,462,466],std:[9,18,359,447,460,467,471,480,484,485,498,503,505],std_mean:[460,467],stddev:15,stderr:[457,465,503],stdin:2,stdout:486,step:[1,3,6,9,13,14,15,24,32,46,158,160,173,239,324,348,375,384,459,460,468,470,472,476,477,479,481,482,484,488,490,491,498,500],step_between_clip:500,step_siz:486,step_size_down:486,step_size_up:486,steplr:486,steps_per_epoch:486,stft:[8,44,51,123,124,141,460,498],stick:15,stickbreakingtransform:15,still:[1,2,13,14,15,131,145,152,254,265,301,397,459,466,467,468,472,476,477,479,483,484,486,488,490,491,492],stirl:[286,470],stitch:490,stl10:501,stl10_binari:500,stmt:475,stochast:[13,15,239,486],stop:[11,15,32,160,217,348,384,459,486,490,503],storag:[2,11,36,127,128,135,147,159,181,196,230,385,419,436,457,458,463,465,466,473,476,481,490,495,496,498],storage_offset:[36,460,498],storage_typ:[463,498],storageshar:484,store:[2,4,9,14,24,53,147,148,160,165,235,337,338,339,341,342,343,344,348,457,459,468,469,477,478,479,480,485,488,490,491,492,493,498,500,505],store_tru:476,str:[2,9,11,14,142,143,144,145,160,210,211,217,221,222,223,224,225,226,227,229,236,237,248,253,254,265,266,273,274,276,277,278,280,283,286,288,289,301,302,313,318,320,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,346,347,353,355,459,460,461,462,466,468,470,486,488,490,494,498,500,502,504,505,506],straight:[210,470],strategi:[5,13,14,202,461,486],stream:[13,498,500],strict:[2,143,150,151,237,273],strictli:[6,13,143,237,273,473],stride:[2,8,32,36,44,51,90,92,101,112,113,123,124,130,158,173,175,207,208,209,221,222,223,224,225,226,238,255,256,267,268,269,270,271,272,285,319,324,361,377,379,380,381,383,384,390,413,425,427,440,442,452,455,460,462,467,470,485,488,490,495,497,498,504],strike:5,string:[0,2,9,11,14,89,143,147,148,159,210,211,217,221,222,223,227,229,236,237,248,253,254,265,266,273,274,276,277,278,280,283,286,301,302,318,338,397,401,423,457,460,461,462,465,466,468,470,478,480,485,488,490,494,495,498,500,501,506],strip:[459,470,485],strip_doc_str:485,strive:5,strong:6,strong_wolf:486,strongli:[6,232,233,457],struct:[10,480],structur:[5,6,13,150,273,334,338,365,426,461,462,476,477,478,481,483,484,485,490,498,499],stub:488,student:15,studio:484,style:[357,459,461,488],styliz:[250,251,252],sub:[17,149,150,151,185,187,189,285,313,314,316,388,459,460,467,485,488,493,495,498],sub_:[460,467,493,498],subclass:[1,2,9,13,15,148,273,325,329,334,462,472,478,490,498,500],subdir:500,subfold:9,subgradi:486,subgraph:[325,477],subject:[8,14,17,32,175,324,467,468,478,488,490],submatrix:15,submit:11,submod:144,submodul:[10,143,145,148,149,230,237,273,274,275,324,459,461,464,485,488],subpackag:503,subprocess:[13,14,479,481],subregion:1,subscript:462,subsequ:[5,9,10,143,150,221,222,223,224,225,226,237,273,490],subset:[13,14,143,149,237,273,459,461,478,485,488,503],subsetrandomsampl:13,subspac:[279,365,425,426,498],substanti:6,substitut:495,subsystem:[5,8],subtl:[5,250,251,252],subtleti:[13,230,479],subtli:486,subtract:[470,498,505],subtyp:461,succe:[14,478,484],succeed:177,success:[6,15,177,334],successfulli:[324,402,466,485,490],succinct:457,suffici:[9,15,131,457,485,488,495],suffix:498,sugar:461,suggest:[6,227,457,463,472,479],suhan:7,suit:[459,461,485,490],suitabl:[13,15,55,398,486],suitcas:503,sum:[1,2,11,13,14,15,76,89,165,166,167,174,175,193,210,211,217,226,227,229,230,236,238,248,253,254,255,256,265,266,276,277,278,280,286,301,302,303,305,318,319,338,343,344,358,415,435,460,467,470,472,473,476,477,478,485,486,490,491,493,498],sum_:[24,102,126,141,195,207,208,209,221,222,223,255,256,262,276,280,282,301,423,433],sum_i:[277,278,302],sum_j:[174,229,264,303,305,470],sum_pair:461,sum_to_s:[460,498],sumbackward0:2,sumbackward1:2,summar:[3,406],summari:[2,11,406,503],summarywrit:497,summat:[89,141,167,174],sunset:[6,7],suo:7,superclass:478,superresolut:485,supervis:[227,248],suppli:[1,4,5,9,10],support:[1,2,5,6,8,9,10,11,13,14,15,25,44,51,86,88,102,123,124,127,149,150,160,175,182,235,236,238,273,278,309,319,324,362,385,392,402,440,442,452,453,456,457,459,461,462,463,464,466,469,470,473,474,475,478,481,484,486,488,490,493,495,496,497,498,500,501,504],suppos:[13,14,141,427,473,493,504,505],suppress:[489,504],sure:[2,5,13,14,93,145,150,151,324,356,434,467,473,477,479,484,485,486,490,491,492],surfboard:503,surg:159,surpass:471,surpris:457,surrog:15,surround:[1,461,472,488],sutskev:486,svd:[8,79,168,184,365,366,412,426,460,498,505],svhn:501,svi:15,swap:[318,436,460,462,470,488,498],swap_modul:488,symbol:[484,485],symbolic_fn:485,symbolic_foo_forward:485,symbolic_help:485,symbolic_nam:485,symbolic_opset10:485,symbolic_opset9:485,symbolic_opset:485,symeig:[8,88,460,498],symmetr:[44,51,62,63,64,123,124,160,184,427,460,488,505],symmetri:[131,392,423],sync:[1,324,477],sync_bn_modul:309,sync_bn_network:309,synchron:[3,11,160,309,324,475,476,477,481,490],syntact:6,syntax:[143,459],sys:457,system:[5,9,10,11,64,147,159,178,313,315,317,324,402,413,438,462,473,475,476,480,484,490],t4d:470,t_0:486,t_max:486,t_mult:486,tabl:[2,14,235,460,470,478,490,503],tag:[2,5,14,159,457,480],tag_nam:457,take:[1,2,3,5,6,9,11,13,15,17,64,72,81,83,130,188,202,211,236,239,241,257,267,268,269,270,271,272,281,287,313,321,322,324,369,413,438,457,459,460,464,466,467,468,470,472,475,477,478,479,482,484,485,488,490,491,492,495,496,497,498,500,504],taken:[15,32,89,185,189,217,236,406,425,427,470,475,476,478,479,480,485,500,504],talk:480,tall:[478,498],tamper:159,tan:[1,40,460,467,485,498],tan_:[460,467,498],tangent:[42,430,431,473],tanh:[15,42,241,242,257,258,287,289,311,460,467,468,471,485,498],tanh_:[460,467,498],tanhshrink:460,tanhtransform:15,tape:5,tar:500,tarbal:500,target:[1,17,56,199,200,201,202,203,204,205,210,211,217,229,239,248,253,254,265,266,270,271,272,276,277,278,279,280,286,301,302,313,320,460,470,472,473,481,486,488,490,498,500,503,505],target_dict:488,target_length:[217,460,470],target_n:217,target_transform:500,target_typ:500,task:[2,5,144,153,250,251,252,475,480,484,503,505],tau:[116,363,364,460,470],tbb:475,tcp:490,tdr:484,team:[5,6],technic:[5,6,473,479],techniqu:[231,329,469,488],teddi:503,tell:[2,5,147,159,459,478,498],temperatur:[15,470],tempor:[212,214,217,309,320,470],temporari:[9,325,479],temporarili:485,temporary_fil:457,ten:[461,505],ten_crop:505,tencrop:505,tend:5,tenni:503,tensor1:[25,26,182,391,460,498],tensor2:[25,26,182,391,460,498],tensor:[1,4,5,9,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,122,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,141,143,144,145,147,148,149,150,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,202,206,207,210,211,217,218,219,220,221,222,223,224,225,226,227,229,230,231,232,233,235,236,237,238,241,242,248,253,254,257,258,264,265,266,270,271,272,273,276,277,278,280,281,285,287,289,293,294,295,296,297,302,303,304,305,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,400,401,402,403,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,458,459,461,469,470,471,472,473,474,475,476,477,479,481,482,484,485,486,490,491,493,494,497,500,501,502,503,504,506],tensor_a:[57,67],tensor_b:57,tensor_index:10,tensor_list:14,tensorboard:458,tensordataset:13,tensordot:[1,460,463],tensorflow:[15,486,497],tensorpipeag:490,tensorpiperpcbackendopt:490,term:[6,15,61,89,202,210,221,222,223,257,258,278,286,301,329,330,331,332,333,334,335,336,470,472,479,486,488,491,498],termin:[466,486,490],terminolog:[212,213,214,309],test10k:500,test50k:500,test:[2,9,14,132,133,134,135,136,459,462,466,482,488,497,500,503,505],testcod:[144,145,461],text:[5,15,19,21,22,23,24,25,26,27,28,29,30,31,32,38,39,40,41,42,43,44,45,51,53,60,66,69,70,71,86,88,107,108,110,115,122,123,124,137,141,155,156,157,167,173,174,175,176,185,189,192,193,198,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,232,233,234,235,238,240,241,242,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,259,260,261,263,264,265,266,267,268,269,270,271,272,276,277,278,279,280,281,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,305,306,307,308,309,310,311,312,319,320,321,322,323,327,367,369,372,381,384,386,396,408,409,410,411,417,423,427,430,431,443,454,470,471,486,488,498,505],texttt:[30,137,202,498],tgt:[13,313,314,315],tgt_key_padding_mask:[313,314,315],tgt_mask:[313,314,315],thalloc:484,than:[1,2,3,4,6,8,9,11,13,14,36,46,54,60,61,81,82,92,105,106,107,125,128,134,141,149,154,163,185,187,189,191,193,195,210,211,230,235,236,266,271,286,301,307,318,324,351,353,358,370,371,388,406,440,442,457,459,461,463,468,469,470,471,473,474,476,478,479,481,482,485,486,488,490,493,495,497,498,500,501,503,504,505,506],thank:[15,478],thc:484,thc_state:484,thcstate:484,thcudacheck:484,thcudatensor:484,thcudatensor_cadd:484,thcudatensor_fil:484,thcudatensor_issamesizea:484,thcudatensor_resizea:484,the_model:483,the_templ:460,thei:[1,2,4,5,6,8,11,13,14,15,17,24,27,28,29,43,66,137,138,141,143,147,154,159,175,181,185,187,189,191,193,224,225,226,237,238,273,279,288,299,319,324,325,326,348,351,443,449,459,461,463,464,466,467,468,470,472,473,476,477,478,481,484,485,486,488,490,493,498,499,500,502,503,504,505],them:[1,2,4,5,8,10,13,14,36,54,78,81,92,159,186,235,273,303,305,334,349,352,421,422,424,457,461,464,466,467,468,470,472,473,474,478,479,480,484,486,488,490,491,492,493,497,498,500],themodelclass:483,themselv:[1,2,434,488],theophil:449,therebi:[13,488],therefor:[1,2,4,13,14,15,36,44,51,123,124,126,131,150,236,319,324,366,432,470,472,479,480,485,486,492,493,498,505],theta:[15,460,470],thi:[1,2,3,4,5,6,9,10,11,13,14,15,17,22,30,33,34,35,36,42,46,53,59,61,75,76,79,81,83,87,88,89,93,102,116,117,118,123,126,130,131,136,141,143,144,146,147,148,149,150,151,152,159,160,163,165,168,177,182,185,187,189,190,191,194,202,206,210,211,212,213,214,217,221,222,223,224,225,226,227,229,230,231,232,233,235,236,237,238,239,243,248,250,251,252,253,255,256,259,267,268,269,270,271,272,273,276,280,285,288,303,306,309,315,317,318,319,320,321,322,324,325,338,348,349,350,351,352,353,355,356,362,363,364,365,366,368,370,372,375,384,389,392,400,401,403,406,412,413,419,423,424,425,427,428,446,447,448,452,453,456,457,459,460,461,462,463,464,466,467,468,470,471,472,473,475,476,477,478,479,480,481,482,483,484,485,486,488,489,490,491,492,493,494,495,497,498,499,500,503,504,505,506,507],thin:372,thing:[2,5,14,210,461,470,473,476,478,479,481,488,492,493],think:[5,459,461,492],third:[15,177,202,209,223,226,269,459,476],thnn_conv2d:460,thnn_conv_depthwise2d:460,thoma:7,those:[2,3,11,13,36,81,83,150,159,202,210,211,227,229,236,248,253,254,265,266,276,277,278,280,286,301,302,318,320,324,425,461,467,468,470,472,476,486,488,490,492],though:[2,14,459,462,468,481,482],thousand:1,thrash:14,thread:[1,2,7,11,13,14,17,93,119,120,230,356,403,404,405,458,459,472,480,481,485,490,492,499],threadlocaldebuginfo:480,three:[2,8,14,209,223,226,269,477,486,488,490,492,500],threshold:[184,306,406,460,472,485,486,503],threshold_:[460,470],threshold_mod:486,through:[1,2,4,5,6,10,13,14,15,79,144,150,151,153,168,280,314,315,316,317,412,425,427,457,461,466,467,468,470,478,479,480,484,485,488,490,491,492,496,498,499,507],throughout:[348,488],throughput:475,thrown:[11,17,195,498],thtensor:498,thtensorrandom:193,thu:[2,13,14,15,182,235,273,320,324,415,459,464,470,475,479,480,485,486,488,490,496,498],thumb:14,tie:[15,503],tile:498,time:[1,2,3,5,9,11,13,14,15,17,18,23,24,25,26,27,28,29,30,43,53,59,61,75,88,89,117,137,141,143,147,150,151,156,159,160,175,182,190,192,193,194,195,198,207,208,209,211,212,213,214,217,221,222,223,224,225,226,230,236,237,238,239,241,250,251,252,257,259,260,267,268,269,270,271,272,273,285,287,306,309,319,320,321,322,324,357,372,389,394,419,423,425,433,461,462,464,466,470,471,473,475,476,477,478,479,480,481,482,484,486,488,490,491,492,493,498,502,503,505],timedelta:14,timefram:490,timeit:475,timelin:[2,3],timeout:[13,14,466,490],timestamp:502,tini:[498,507],tip:5,tiwari:7,tl_flip:505,tmp:[2,9,457],to_dens:[460,493],to_dlpack:16,to_grayscal:505,to_her:[324,490,491,492],to_mkldnn:[460,498],to_pil_imag:505,to_spars:[460,493,498],to_tensor:505,toaster:503,todai:488,togeth:[1,13,14,15,102,126,241,257,287,324,326,423,464,472,479,480,488,490,491,492,497,505],toilet:503,token:[457,462],tol:[160,184,460],told:461,toler:[2,30,137,150,151,160,184,459,486],tolerance_chang:486,tolerance_grad:486,tolist:[494,498],too:[1,5,9,217,273,325,470,472,475,479,481,484,492,493],tool:[2,3,6,457,459,461,475,484],toothbrush:503,top:[2,13,15,210,211,248,254,265,280,320,329,333,335,434,462,466,470,478,500,501,503,504,505],top_level_method:461,topic:[6,480],topilimag:505,topk:[460,467,485,488,498],topolog:2,torch:[6,8,10,12,18,93,142,143,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,329,330,331,332,333,334,335,336,348,356,375,403,458,459,460,461,467,468,472,473,474,475,476,477,479,480,481,482,483,484,490,491,492,496,500,501,503,504,506],torch_14808_1591070686:484,torch_extens:9,torch_extensions_dir:9,torch_funct:478,torch_hom:457,torch_model_zoo:503,torch_shm_manag:466,torchaudio:[8,458],torchelast:458,torchscript:[144,145,146,149,150,152,458,462,485,490,501,504],torchserv:458,torchtext:458,torchvis:[457,458,459,461,473,497],toronto:217,total:[2,3,5,11,13,217,238,248,254,265,279,301,319,326,357,359,360,406,423,457,461,470,476,486],total_averag:2,total_count:15,total_length:[351,479],total_loss:479,total_step:486,totensor:[497,500,503,505],touch:[5,485],toward:[6,160,394],tr_flip:505,trace:[2,5,10,13,144,149,151,160,460,461,463,473,476,498],trace_modul:[150,459],trace_nam:2,traceabl:459,traceback:[2,134,461,466],traced_bar:459,traced_cpu:459,traced_fn:459,traced_foo:[150,459],traced_gpu:459,tracer:[150,485],tracerwarn:459,track:[2,4,11,212,213,214,250,251,252,309,334,466,468,476,478,479,480,491,492,498],track_running_stat:[212,213,214,250,251,252,309,488],tracker:[5,6,160],trade:[4,211,475],tradeoff:491,tradition:8,traffic:503,trail:[350,352,471,474,478,505],train2017:503,train:[1,10,11,13,14,143,146,149,150,202,206,212,213,214,229,230,231,237,243,250,251,252,259,273,280,309,324,353,457,459,460,464,470,471,473,476,477,479,482,486,488,490,492,497,500,503,505],train_batch:486,train_extra:500,train_fn:473,train_load:476,train_nov:500,trainabl:[486,503],trainable_backbone_lay:503,trainer3:490,trainer:490,training_method:146,trainingmod:485,trainload:497,trainset:497,trainval:500,tran:141,transb:485,transfer:[13,14,466,476,490],transform:[13,102,126,131,141,215,243,250,251,252,259,261,314,315,316,317,392,423,470,473,488,497,500,501,503],transform_input:503,transform_to:15,transformation_matrix:505,transformed_distribut:15,transformer_decod:314,transformer_encod:316,transformer_model:313,transformerdecoderlay:314,transformerencoderlay:316,transit:459,translat:[492,505],transmit:490,transpar:[477,490,492],transport:490,transpos:[62,130,175,224,225,226,319,351,364,372,413,425,427,428,438,460,467,470,473,485,493,496,498],transpose_:[2,460,493,498],transposed_data:13,trapezoid:437,trapz:460,travers:[324,477,478,488,491],treat:[2,15,159,169,170,171,172,188,236,259,277,278,280,303,357,423,429,461,467,470,486,490,495,498],tree:[5,273,313,492,500],tri:[1,5,143,237,273,461,466,479,498],triag:6,trial:15,triangular2:486,triangular:[15,62,63,64,372,427,438,439,440,441,442,470,486],triangular_solv:[460,498],trick:[2,15,211,470,480,503],tricki:[473,492],trickier:492,trigger:[1,2,5,6,17,406,472,477,480,490,498],tril:[460,498],tril_:[460,498],tril_indic:[460,463],trilinear:[320,470],trim:[44,51,123,124,141],tripl:470,triplet:318,triplet_loss:318,triplet_margin_loss:[1,460],tripletmarginloss:470,triu:[438,460,485,498],triu_:[460,498],triu_indic:[460,463],trivial:[61,492],tropp:[365,426],trou:[221,222,223,224,225,226,238,319],troubleshoot:5,troublesom:478,truck:503,true_divid:[25,86,460,485,498],true_divide_:[460,498],truli:485,trunc:[460,467,498],trunc_:[460,467,498],truncat:[444,479],trust:[13,159],truth:503,tseq:15,tune:[14,486,488],tup:461,tupl:[2,4,11,13,36,37,73,74,88,90,92,104,112,116,143,150,151,154,174,175,177,179,185,186,187,189,191,199,200,201,203,204,205,207,208,209,217,218,219,220,221,222,223,224,225,226,230,237,238,239,255,256,267,268,269,270,271,272,273,274,283,293,294,295,296,297,319,320,321,322,323,338,351,357,358,361,363,372,377,379,381,390,393,394,413,414,415,421,422,424,425,427,432,433,434,445,446,447,450,451,454,455,459,460,462,466,468,470,478,485,486,488,490,493,498,500,504,505,506],tuple_or_list:461,turn:[9,13,150,314,316,485,491],tutori:[6,10,14,459,478,480,485,488],tval:460,tvar:160,tvmonitor:503,twelv:495,twice:[1,2,17,472,473,479,503],two:[1,2,3,8,9,10,11,13,14,15,30,59,73,74,81,87,95,137,148,156,159,182,185,187,189,191,208,210,211,221,222,223,224,225,226,227,229,238,241,248,253,254,256,257,259,265,266,268,276,277,278,280,281,286,287,301,302,318,319,349,355,357,358,384,415,425,433,457,459,461,467,468,470,473,474,475,476,477,478,482,483,484,486,488,490,491,492,493,498,500,503,504],txhxwxc:500,txt:[147,148],type1:[371,460],type2:[371,460],type:[2,9,10,11,14,15,17,18,23,24,25,26,27,28,29,32,37,43,44,46,47,48,49,50,51,52,54,55,56,57,58,61,66,67,75,76,86,88,90,91,92,94,101,102,108,112,113,115,118,122,123,124,125,126,131,132,133,134,140,141,143,144,149,150,151,153,155,158,160,173,175,176,177,192,197,202,206,230,237,273,274,283,324,326,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,352,357,358,361,362,370,371,373,374,375,377,378,379,380,381,382,383,384,389,391,392,398,401,415,416,423,424,427,432,440,442,443,446,447,449,454,455,456,457,458,459,462,463,464,467,470,472,475,476,480,484,488,490,493,494,495,498,499,500,503,504,505],type_a:[460,467,485,498],type_p:15,type_q:15,typecheck:136,typeerror:[338,478],typic:[9,13,15,143,227,237,248,273,459,475,485,488,496,507],typing_extens:[459,461],typo:5,ubc:486,ucf101:501,udf:492,uint8:[111,338,371,373,374,391,488,495,498,502,505,507],uint8_t:498,uint8tensor:503,uint_tensor:495,ultim:[6,9],umbrella:503,unabl:[5,486],unaffect:498,unari:[462,467],unavailbl:461,unbalanc:[229,280],unbatch:102,unbias:[212,213,214,243,250,251,252,259,309,421,422,450,451,460,498],unbind:[460,467,485,496,498],unchang:[143,237,273,279,313,388,419,472,488,498,505],unclear:498,uncoalesc:[415,493],uncondition:[349,457,478],unconstrain:15,uncorrupt:1,undefin:[2,14,86,131,210,476,498],under:[1,2,3,13,56,217,388,466,470,472,473,477,481,484,488,489,492,499],underflow:[1,472],underli:[1,11,15,36,116,127,128,143,159,196,363,364,385,436,448,459,470,476,479,482,488,490,496,498],underscor:[457,468,490,493,498],understand:[5,6,299,471,473,476],understood:58,undertak:5,underwai:2,undesir:[10,46,217,221,222,223,224,225,226,470,498],undon:[329,330,331,332,333,334,335,336,345],unequ:[222,223,225,226,488],unexpect:[14,143,237,273,324,419,459,478],unexpected_kei:[143,237,273],unexpectedli:498,unflatten:[460,467,468],unflattened_img:468,unflattened_named_img:468,unfold:[238,460,485,496,498],unfortun:[2,4,6,13,324,503],unicod:462,unicodedecodeerror:159,unifi:468,unifies_names_from_input_tensor:467,uniform:[45,290,377,378,471,498,499],uniform_:[22,42,45,195,460,467,471,478,498,499],uniformli:[15,379,380,437,505],unind:489,uniniti:[90,91,92,498],union:[2,11,143,199,200,201,203,204,205,207,208,209,218,219,220,221,222,223,224,225,226,237,238,239,255,256,259,267,268,269,270,271,272,273,293,294,295,296,297,319,320,321,322,323,461,502,504,506],uniqu:[14,185,187,189,447,457,459,463,465,485,490,491,492,498],unique_consecut:[446,460,498],unit:[88,206,216,240,241,242,290,291,331,332,336,339,341,344,438,470,473,475,488,502],unit_interv:15,unitari:[102,126,131,392],unitriangular:[438,460,498],univari:15,univers:461,unix:[13,466],unknown:492,unlabel:500,unless:[1,2,3,5,14,46,143,185,187,189,237,273,324,338,473,476,486,488,498],unlik:[2,5,15,185,187,189,259,461,466,481,495,498],unlist:1,unmask:[279,313],unment:468,unmodifi:1,unnam:[467,468],unncessari:496,unnecessari:476,unnorm:[229,470],unnot:466,unoccupi:11,unord:[274,283],unpack:[179,230,241,257,287,351,462,478,479],unpack_data:179,unpack_pivot:179,unpickl:[13,159],unpool:[270,271,272],unpooled_output:272,unprun:[332,333,335,336,337,338,339,340,341,342,343,344],unreadi:477,unreduc:[210,211,253,254,265,280],unrel:[5,478],unresolv:484,unrol:[461,485],unscal:1,unscale_:[1,472],unseg:217,unsign:[488,495,498],unskip:1,unsort:[349,350],unsorted_indic:[348,351],unspecif:303,unspecifi:[14,485,498],unsqueez:[291,460,478,485,496,498],unsqueeze_:[460,498],unstabl:[1,15,79,168,366,412,470],unstructur:[334,338],unsuccess:14,unsupport:[112,459,462,468,485],unsupported_linear_op:461,untest:468,until:[5,11,14,17,160,466,470,473,476,479,490,492,498],untouch:13,untrack:150,untrain:485,untrust:159,unus:[11,146,149,249,324,459,461,476,477],unused_argument1:249,unused_argument2:249,unused_method:459,unusu:5,upcom:[14,472],updat:[1,2,6,8,212,213,214,230,235,236,241,250,251,252,274,283,309,457,459,464,472,473,477,481,484,486,488,490,491,492,498],upgrad:486,upon:[13,466,492],upper:[15,52,55,62,63,64,66,125,290,372,383,398,427,438,441,442,460,470,471,486,498,505],upper_bound:15,uppercas:14,ups:5,upsampl:[225,321,322,488],upsample_bicubic2d:460,upsample_bilinear2d:460,upsample_bilinear:488,upsample_linear1d:460,upsample_nearest1d:[460,485],upsample_nearest2d:[460,485],upsample_nearest3d:[460,485],upsample_nearest:488,upsample_r:488,upsample_trilinear3d:460,upsample_trilinear:470,upscal:285,upscale_factor:[285,460,470],upstream:484,url:[2,14,457,465,490],usag:[1,2,3,5,10,11,13,15,160,366,459,468,472,473,479,485,488,492,498,499],use:[1,2,4,5,6,8,9,10,11,13,15,17,36,59,116,128,131,136,143,146,148,149,150,151,159,160,181,193,207,208,209,217,218,219,220,230,237,241,242,253,255,256,257,258,267,268,269,270,273,280,287,288,289,293,294,295,296,297,320,323,324,349,350,355,373,389,397,398,421,422,426,432,437,446,450,451,457,459,460,461,464,466,467,468,469,470,471,472,475,476,478,479,480,481,482,483,484,485,488,490,491,495,498,499,500,503,504,505,506],use_cuda:2,use_distribut:14,use_dynam:460,use_env:14,use_external_data_format:485,use_gpu:459,use_input_stat:[460,470],use_memory_effic:152,use_memory_effici:152,use_mkldnn:475,use_mm_for_euclid_dist:59,use_mm_for_euclid_dist_if_necessari:59,use_ninja:9,use_openmp:475,use_separate_proj_weight:460,use_tbb:475,used:[1,2,3,5,8,9,10,11,12,13,14,15,17,43,44,45,51,88,102,119,120,123,124,125,126,131,143,147,149,150,151,154,159,160,202,208,209,210,211,212,213,214,222,223,224,225,226,227,229,230,232,233,235,237,241,248,250,251,252,256,257,259,262,268,269,273,280,281,286,287,289,306,309,318,324,325,326,359,392,397,399,401,403,404,405,414,421,422,423,427,434,448,450,451,457,459,460,461,463,465,468,470,471,472,473,475,476,478,480,481,483,484,485,486,488,489,490,491,492,493,495,498,499,500,501,503,504,505,506],useful:[1,2,5,11,13,15,75,76,141,165,229,238,253,280,285,351,356,370,424,426,457,459,461,468,470,473,475,478,480,485,486,488,490,491,499,504,505],user:[2,4,8,10,11,13,14,15,143,159,221,222,223,224,225,226,237,273,313,315,317,324,338,457,459,461,466,468,472,473,476,478,480,481,485,488,490,491,496,498,505],userrref:[490,492],userwarn:[474,485],uses:[1,2,3,9,11,13,14,15,18,32,37,44,51,79,90,92,101,112,123,124,149,158,159,168,173,212,213,214,217,218,219,220,243,250,251,252,259,281,293,294,295,296,297,301,309,323,324,361,375,377,379,381,383,384,412,415,425,432,440,442,455,457,459,470,472,473,475,476,477,478,479,480,484,486,488,490,491,492,495,498,500,501],using:[1,2,4,5,6,8,9,10,13,14,15,25,46,61,63,86,89,128,141,143,146,147,148,149,150,151,152,159,160,177,178,184,206,210,211,217,218,219,220,221,222,223,224,225,226,227,230,231,232,233,235,236,237,241,247,248,257,273,275,282,284,287,293,294,295,296,297,299,323,324,353,356,366,375,397,403,432,437,457,458,459,461,462,463,466,468,470,471,472,473,475,476,477,478,479,480,481,482,484,485,486,488,490,491,492,498,499,500,503,505],usp:501,usual:[1,2,5,9,13,232,233,248,250,251,252,425,459,472,475,479,480,485,488,490,498],uszkoreit:[313,315,317],utf:159,util:[1,5,11,17,143,237,241,257,273,287,329,330,331,332,333,334,335,336,348,458,472,474,475,476,478,479,480,485,486,490,500,501,503],v100:[12,241,257,287,503],v_1:282,v_2:282,v_proj_weight:460,val2017:503,val:[471,498,500],val_loss:486,valid:[2,14,15,143,221,222,223,224,225,226,333,338,342,372,459,461,468,485,486,488,490,491,500,503],validate_arg:15,valu:[1,2,4,5,6,8,9,11,13,14,15,17,19,22,23,25,26,29,32,33,34,35,42,44,45,46,51,55,59,66,73,74,79,94,114,115,122,123,124,125,127,131,134,138,139,140,141,143,144,150,153,154,155,158,159,160,163,168,173,176,177,184,185,186,187,189,191,192,193,197,202,207,208,209,210,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,234,236,237,238,243,244,247,248,250,251,252,253,255,256,259,261,264,266,267,268,269,270,271,272,273,274,278,279,280,281,282,283,286,303,304,305,306,307,309,312,313,315,317,318,319,320,324,327,348,351,352,357,358,361,362,365,366,369,374,384,385,388,389,393,398,406,412,414,415,423,425,426,434,437,439,440,441,442,444,446,447,448,454,455,456,457,459,460,462,465,466,470,471,472,473,475,476,478,479,485,486,488,490,493,495,496,498,499,500,502,503,504,505,506],valueerror:[348,351,478],vamshi:7,vander:[460,463],vandermond:449,var1:486,var2:486,var_mean:[460,467],vari:[348,486,488],variabl:[4,9,11,15,90,92,150,160,215,221,222,223,224,225,226,230,235,236,241,242,257,258,261,276,281,287,289,324,348,349,350,351,352,361,377,379,381,432,455,457,468,475,476,479,484,485,486,488,490,498,503],variabletyp:485,varianc:[15,212,213,214,250,251,252,309,381,382,450,451,470,471,482,486],variant:[1,438,480,486,488,498],variat:[15,478],varieti:491,variou:[4,6,9,13,160,466,481,483,486],vase:503,vaswani:[313,315,317],vc2017:484,vdantu:7,vdim:279,vec1:[29,460,498],vec2:[29,117,460,498],vec:[28,194,354,358,460,498],vector:[2,8,15,27,28,29,36,41,54,59,67,72,75,76,80,82,92,117,182,188,193,194,211,212,213,214,217,230,235,236,238,243,250,251,252,282,309,318,319,326,328,354,358,365,425,427,449,470,473,488,498,500,505],vehicl:6,veloc:486,verbos:[9,457,468,485,486],veri:[2,3,5,8,250,251,252,325,461,466,473,478,479,481,484,486,488,489,490,491,503],verifi:[9,457,459,465,478,485],verify_ninja_avail:9,versa:[111,266,494,498],version:[4,15,123,144,145,147,148,182,196,211,273,320,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,423,436,457,467,468,470,473,474,476,478,480,484,485,486,488,498,499,500,504,505],versu:[5,277],vert:[228,282,470],vertic:505,vertical_flip:505,vflip:505,vframe:502,vgg11:503,vgg11_bn:503,vgg13:503,vgg13_bn:503,vgg16:503,vgg16_bn:503,vgg19:503,vgg19_bn:503,vgg:485,vhp:2,via:[2,5,9,10,11,13,14,15,58,93,160,212,213,214,230,243,250,251,252,259,309,353,355,421,422,450,451,459,461,466,471,473,476,478,479,481,485,486,491,495,496,498,504],vice:[111,266,494,498],video:[285,468,500,501],video_arrai:502,video_classif:503,video_codec:502,video_fp:502,video_read:501,videoclip:500,viehmann:7,view:[2,5,6,8,13,36,54,65,83,104,105,106,236,241,257,287,319,320,321,322,326,390,393,394,416,424,429,435,452,453,458,459,460,466,468,470,474,485,488,490,492,495,498,500,505],view_a:[460,496,498],view_as_complex:[8,460],view_as_imag:496,view_as_r:[8,460,496],viewbackward:2,vincent:7,vincentqb:7,violat:6,virtual:485,vishwak:7,vishwakftw:7,visibl:[11,14,274,275,283,284,503],vision:[6,457,501,503,504],visual:[2,221,222,223,224,225,226,238,267,268,269,319,484,497],vitali:7,vitalyfedyunin:7,vjp:2,voc2012:500,voc:[501,503],vocdetect:500,vocsegment:500,vol:141,volumetr:[214,309,320,470],von:15,von_mis:15,vs2017:484,vs2017_runtim:484,vw_i:279,vychisl:375,w_hf:257,w_hg:257,w_hh:460,w_hi:257,w_hn:241,w_ho:257,w_hr:241,w_hz:241,w_if:257,w_ig:257,w_ih:460,w_ii:257,w_in:241,w_io:257,w_ir:241,w_iz:241,w_j:304,w_n:[210,211],w_y:475,w_z:475,wai:[2,4,5,6,9,13,14,15,89,210,236,250,251,252,273,315,317,324,459,461,466,467,468,470,475,478,479,481,482,483,484,485,486,488,490,491,493,496,498,500,503],wait:[2,11,14,17,144,324,460,466,475,476,477,486,490],wait_al:17,wait_ev:11,wait_stream:[11,476],walk:[10,478,491,492,496],wang:7,want:[1,2,5,11,13,14,116,150,151,239,320,325,397,432,457,470,472,473,475,476,478,483,485,486,488,493,498,503],warm:486,warmup:2,warn:[9,144,150,404,405,474,478,485,489],wasn:[159,459],wast:5,weaker:15,weight:[13,15,46,143,145,149,151,156,193,210,211,215,221,222,223,224,225,226,229,235,236,237,241,242,243,257,258,259,261,273,277,278,279,280,281,287,289,313,338,340,341,342,343,344,345,346,347,353,355,457,460,461,464,468,470,471,473,478,479,485,486,488,498,503,504],weight_decai:486,weight_fake_qu:488,weight_g:[355,460],weight_hh:[242,258,289],weight_hh_l:[241,257,287],weight_ih:[242,258,289],weight_ih_l:[241,257,287],weight_mask:[341,344],weight_norm:[347,485],weight_orig:341,weight_scal:460,weight_siz:460,weight_stride0:460,weight_u:353,weight_v:355,weight_zero_point:460,weighted_kernel_sum:151,weightedrandomsampl:13,weird:[324,503],welcom:5,well:[2,5,9,14,143,145,148,150,212,213,214,237,253,273,309,425,459,467,470,472,473,478,481,482,485,488,490,492,493,496,497,499,502,503,505],were:[1,2,11,14,17,147,159,324,326,334,351,398,429,461,470,472,478,485,493,498],weren:2,what:[1,2,4,5,6,14,15,150,151,221,222,223,224,225,226,238,267,268,269,319,329,330,331,332,333,334,335,336,457,459,461,467,478,485,486,490,491,493,500],whatev:[432,438,498],wheel:484,when:[1,2,3,4,5,6,9,11,13,14,15,17,32,46,59,62,67,79,109,112,131,137,138,139,140,143,144,149,150,151,159,160,168,175,184,185,187,189,193,202,207,208,209,210,211,212,213,214,217,221,222,223,224,225,226,227,229,230,236,237,238,243,248,250,251,252,253,254,255,256,259,265,266,267,268,269,273,276,277,278,279,280,281,286,301,302,303,304,306,309,318,319,320,321,322,324,325,329,330,331,332,333,334,335,336,351,353,356,357,358,359,365,369,387,390,403,412,419,423,425,427,428,432,433,440,442,443,446,454,457,459,461,464,466,467,468,470,473,474,475,476,477,478,479,480,481,482,483,484,485,486,488,489,490,491,492,493,495,496,498,500,503,504,505],whenev:[6,235,466,470,491,492],where:[1,2,3,5,6,8,9,10,13,14,15,44,51,55,62,64,73,74,79,80,88,94,102,114,115,122,123,124,126,130,131,137,154,155,159,160,165,168,174,176,177,178,182,184,185,186,187,188,189,191,193,195,197,202,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,234,235,236,238,240,241,242,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,260,261,262,263,264,265,266,267,268,269,270,271,272,276,277,278,279,280,281,282,285,286,287,289,290,291,292,293,294,295,296,297,298,300,301,302,303,305,306,307,308,309,310,311,312,313,318,319,320,321,322,323,324,349,350,351,352,357,366,370,372,388,389,392,412,413,414,415,421,422,423,424,425,427,434,438,439,440,441,442,446,447,450,451,452,453,459,460,462,465,466,470,471,472,473,474,476,479,485,486,488,490,492,493,495,498,500,502,503,504,505,506],wherev:[6,467],whether:[1,2,5,6,9,11,13,14,15,33,34,44,51,62,63,64,67,68,102,123,124,126,131,141,143,154,174,177,184,185,186,187,189,191,193,217,227,237,248,253,273,282,286,340,358,370,392,402,403,421,422,423,424,425,427,434,438,446,447,450,451,457,465,470,472,476,478,485,486,490,493,494,496,498,500],which:[1,2,3,4,5,6,9,10,11,13,15,17,18,22,36,42,46,55,58,61,65,80,81,82,83,88,109,114,116,128,130,134,141,144,148,149,150,159,165,181,184,188,191,193,196,200,201,202,204,205,206,208,209,212,213,214,217,222,223,225,226,230,236,241,250,251,252,253,255,256,257,259,264,268,269,270,271,272,276,278,303,305,309,324,329,330,331,332,333,334,335,336,337,338,339,341,342,343,344,345,355,365,373,387,389,390,393,406,416,419,425,437,439,440,441,442,443,446,448,457,459,461,463,464,465,466,468,470,472,473,474,475,476,477,478,479,480,482,484,485,486,488,489,490,491,492,493,494,495,497,498,500,502,503,504,505,507],whichev:470,whilst:[15,476],white:505,white_list:488,whiten:505,whitespac:462,who:[5,8,473],whole:[13,14,141,143,237,273,309,473,481,488,502,505],whose:[15,61,81,94,115,122,143,151,155,176,197,237,273,324,359,473,478,485,500],why:[5,145,485],wide:475,wide_resnet101_2:503,wide_resnet50_2:503,width:[15,125,208,209,222,223,225,226,256,268,269,280,304,320,468,470,485,488,500,504,505],wikipedia:470,wildcard:468,willing:6,win:423,win_length:[141,423,460,498],window:[13,44,51,123,124,141,207,208,209,239,255,256,267,268,269,270,271,272,423,458,460,470,498],window_length:[44,51,123,124,460],wine:503,wip:5,wire:490,wise:[14,15,19,25,26,31,41,69,94,109,115,122,155,169,170,171,172,176,185,189,195,197,216,226,234,244,245,246,247,260,263,281,290,291,292,298,300,301,306,308,310,311,387,470,475,488,496],wish:[1,472],wit:459,with_arg:488,with_cuda:[9,484],with_pytorch_error_handl:9,with_replac:[67,460],within:[2,4,6,11,13,14,15,145,217,232,233,238,309,319,324,329,330,331,332,333,334,335,336,337,339,341,342,343,344,345,398,448,459,461,475,476,480,485,488,490,491,497],without:[1,2,4,5,6,11,13,15,112,116,131,141,193,212,213,214,236,250,251,252,259,281,309,324,339,375,390,445,457,466,468,470,472,474,476,478,481,485,486,488,489,490,498,503,504,505,507],won:[1,4,143,149,237,273,324,457,470,472,473,478,485,490,499,504],woodburi:15,word:[1,2,14,55,202,221,222,223,235,236,313,324,398,461,470,479,491],word_language_model:[313,485],work:[1,2,4,5,6,8,9,10,11,14,15,90,92,149,230,288,303,324,404,432,457,459,462,466,467,468,470,473,475,476,477,478,481,484,488,490,491,493,498,499],worker0:490,worker1:[17,324,490,491],worker2:490,worker:[5,9,13,14,324,490,491,492,500],worker_id:13,worker_info:13,worker_init_fn:[13,479],worker_nam:490,workerinfo:490,workflow:[10,457,478],workground:484,workload:[13,14,480],workspac:[9,485],world:[14,309],world_siz:[14,324,477,490,491],worri:490,worst:478,worth:[13,457,496],would:[2,4,6,8,13,14,15,61,90,92,130,146,147,150,151,188,195,210,211,241,257,287,324,325,348,356,391,398,432,436,459,461,467,468,472,474,475,476,477,478,485,490,491,492,493,498],wouldn:492,wrap:[1,2,10,13,143,150,230,237,273,309,324,351,459,460,472,477,478,484,486,488,490,491,498],wrapper:[11,14,17,230,324,459,461,466,488],write:[5,6,14,36,54,92,148,397,461,468,470,473,476,479,485,486,493,498,502],write_video:502,writer:497,written:[2,230,459,461,464,477,478,485,486,494],wrong:[14,477,481,484,486],wrote:5,www:[217,486,497],x86:[402,488],x86_x64:484,x_0:[114,488],x_1:[73,74,75,76,114,215,227,228,470],x_2:[73,74,75,76,215,227,228,470],x_3:[73,74,75,76],x_clone:466,x_cpu:476,x_cpu_long:476,x_gpu:476,x_i:[66,73,74,75,76,114,163,264,282,301,303,305,318,369,470],x_j:[264,303,305,470],x_n:[210,211,248,253,254,265],x_out:488,x_t:[212,213,214,241,250,251,252,257,287,309],xavier_normal_:471,xavier_uniform_:471,xdg_cache_hom:457,xeon:475,xiaoqiang:7,xing:375,xla:458,xml:500,xnnpack:464,xor:[50,172],xuhdev:7,xxx:500,xxy:500,xxz:500,y_cpu:476,y_cpu_long:476,y_gpu:476,y_hard:470,y_i:[66,73,74,75,76,163,301,318],y_n:[210,211,248,253,254,265,280],y_soft:470,yang:[6,7,160],ycbcr:505,year:[490,500],yes:5,yet:[11,144,146,152,191,329,333,335,461,468,488,490,492,495],yf225:7,yield:[13,81,83,143,237,273,454,462],yinghai:7,you:[1,2,3,4,5,6,8,9,10,11,13,14,15,36,46,54,89,92,116,143,145,146,150,151,152,159,217,221,222,223,224,225,226,229,237,270,271,272,273,278,279,280,304,313,315,317,320,324,349,356,372,390,397,432,457,459,461,463,466,467,470,472,473,474,476,478,479,480,481,482,483,484,485,486,488,489,490,491,492,493,495,496,497,498,499,500,503,505],your:[1,2,3,5,8,9,10,11,13,14,15,143,146,150,151,152,221,222,223,224,225,226,237,273,280,324,372,398,402,446,459,461,466,467,468,472,473,474,476,478,479,480,482,484,485,486,488,489,491,493,497,498,499,503,505],your_training_script:14,yourself:481,z_t:241,zach:7,zdevito:7,zebra:503,zero:[1,2,11,15,29,45,46,62,64,79,86,101,125,130,134,141,143,160,168,169,170,171,172,177,178,193,206,207,208,209,217,221,222,223,224,225,226,228,231,232,233,235,236,237,238,241,242,243,255,256,257,258,259,267,268,269,270,271,272,273,279,282,286,287,289,307,313,319,320,323,332,333,334,335,350,357,360,366,372,373,374,412,413,415,419,425,427,432,438,456,459,460,463,466,467,468,470,471,476,484,485,488,490,493,495,498,499,504,505],zero_:[2,460,467,468,470,493,498],zero_grad:[1,2,143,237,273,472,479,481,486],zero_infin:[217,460,470],zero_point:[373,374,460,488,498],zero_point_hh:460,zero_point_ih:460,zeros_:471,zeros_lik:[460,463,476,485],zhang:7,zhangguanheng66:7,zheng:7,zhong:505,zip:[13,457,460,461,465,480,485],zipf:202,zipfil:[397,483]},titles:["torch.__config__","Automatic Mixed Precision package - torch.cuda.amp","Automatic differentiation package - torch.autograd","torch.utils.bottleneck","torch.utils.checkpoint","PyTorch Contribution Guide","PyTorch Governance","PyTorch Governance | Persons of Interest","Complex Numbers","torch.utils.cpp_extension","C++","torch.cuda","<no title>","torch.utils.data","Distributed communication package - torch.distributed","Probability distributions - torch.distributions","torch.utils.dlpack","torch.futures","Generator","torch.abs","torch.absolute","torch.acos","torch.acosh","torch.add","torch.addbmm","torch.addcdiv","torch.addcmul","torch.addmm","torch.addmv","torch.addr","torch.allclose","torch.angle","torch.arange","torch.argmax","torch.argmin","torch.argsort","torch.as_strided","torch.as_tensor","torch.asin","torch.asinh","torch.atan","torch.atan2","torch.atanh","torch.baddbmm","torch.bartlett_window","torch.bernoulli","torch.bincount","torch.bitwise_and","torch.bitwise_not","torch.bitwise_or","torch.bitwise_xor","torch.blackman_window","torch.block_diag","torch.bmm","torch.broadcast_tensors","torch.bucketize","torch.can_cast","torch.cartesian_prod","torch.cat","torch.cdist","torch.ceil","torch.chain_matmul","torch.cholesky","torch.cholesky_inverse","torch.cholesky_solve","torch.chunk","torch.clamp","torch.combinations","torch.compiled_with_cxx11_abi","torch.conj","torch.cos","torch.cosh","torch.cross","torch.cummax","torch.cummin","torch.cumprod","torch.cumsum","torch.deg2rad","torch.dequantize","torch.det","torch.diag","torch.diag_embed","torch.diagflat","torch.diagonal","torch.digamma","torch.dist","torch.div","torch.dot","torch.eig","torch.einsum","torch.empty","torch.empty_like","torch.empty_strided","enable_grad","torch.eq","torch.equal","torch.erf","torch.erfc","torch.erfinv","torch.exp","torch.expm1","torch.eye","torch.fft","torch.flatten","torch.flip","torch.fliplr","torch.flipud","torch.floor","torch.floor_divide","torch.fmod","torch.frac","torch.from_numpy","torch.full","torch.full_like","torch.gather","torch.ge","torch.geqrf","torch.ger","torch.get_default_dtype","torch.get_num_interop_threads","torch.get_num_threads","torch.get_rng_state","torch.gt","torch.hamming_window","torch.hann_window","torch.histc","torch.ifft","torch.imag","torch.index_select","torch.initial_seed","torch.inverse","torch.irfft","torch.is_complex","torch.is_floating_point","torch.is_nonzero","torch.is_storage","torch.is_tensor","torch.isclose","torch.isfinite","torch.isinf","torch.isnan","torch.istft","ScriptFunction","ScriptModule","torch.jit.fork","torch.jit.freeze","torch.jit.ignore","torch.jit.load","torch.jit.save","torch.jit.script","torch.jit.trace","torch.jit.trace_module","torch.jit.unused","torch.jit.wait","torch.kthvalue","torch.le","torch.lerp","torch.lgamma","torch.linspace","torch.load","torch.lobpcg","torch.log","torch.log10","torch.log1p","torch.log2","torch.logaddexp","torch.logaddexp2","torch.logcumsumexp","torch.logdet","torch.logical_and","torch.logical_not","torch.logical_or","torch.logical_xor","torch.logspace","torch.logsumexp","torch.lstsq","torch.lt","torch.lu","torch.lu_solve","torch.lu_unpack","torch.manual_seed","torch.masked_select","torch.matmul","torch.matrix_power","torch.matrix_rank","torch.max","torch.mean","torch.median","torch.meshgrid","torch.min","torch.mm","torch.mode","torch.mul","torch.multinomial","torch.mv","torch.mvlgamma","torch.narrow","torch.ne","torch.neg","AdaptiveAvgPool1d","AdaptiveAvgPool2d","AdaptiveAvgPool3d","AdaptiveLogSoftmaxWithLoss","AdaptiveMaxPool1d","AdaptiveMaxPool2d","AdaptiveMaxPool3d","AlphaDropout","AvgPool1d","AvgPool2d","AvgPool3d","BCELoss","BCEWithLogitsLoss","BatchNorm1d","BatchNorm2d","BatchNorm3d","Bilinear","CELU","CTCLoss","ConstantPad1d","ConstantPad2d","ConstantPad3d","Conv1d","Conv2d","Conv3d","ConvTranspose1d","ConvTranspose2d","ConvTranspose3d","CosineEmbeddingLoss","CosineSimilarity","CrossEntropyLoss","DataParallel","Dropout","Dropout2d","Dropout3d","ELU","Embedding","EmbeddingBag","Flatten","Fold","FractionalMaxPool2d","GELU","GRU","GRUCell","GroupNorm","Hardshrink","Hardsigmoid","Hardswish","Hardtanh","HingeEmbeddingLoss","Identity","InstanceNorm1d","InstanceNorm2d","InstanceNorm3d","KLDivLoss","L1Loss","LPPool1d","LPPool2d","LSTM","LSTMCell","LayerNorm","LeakyReLU","Linear","LocalResponseNorm","LogSigmoid","LogSoftmax","MSELoss","MarginRankingLoss","MaxPool1d","MaxPool2d","MaxPool3d","MaxUnpool1d","MaxUnpool2d","MaxUnpool3d","Module","ModuleDict","ModuleList","MultiLabelMarginLoss","MultiLabelSoftMarginLoss","MultiMarginLoss","MultiheadAttention","NLLLoss","PReLU","PairwiseDistance","ParameterDict","ParameterList","PixelShuffle","PoissonNLLLoss","RNN","RNNBase","RNNCell","RReLU","ReLU","ReLU6","ReflectionPad1d","ReflectionPad2d","ReplicationPad1d","ReplicationPad2d","ReplicationPad3d","SELU","Sequential","Sigmoid","SmoothL1Loss","SoftMarginLoss","Softmax","Softmax2d","Softmin","Softplus","Softshrink","Softsign","SyncBatchNorm","Tanh","Tanhshrink","Threshold","Transformer","TransformerDecoder","TransformerDecoderLayer","TransformerEncoder","TransformerEncoderLayer","TripletMarginLoss","Unfold","Upsample","UpsamplingBilinear2d","UpsamplingNearest2d","ZeroPad2d","DistributedDataParallel","Parameter","torch.nn.utils.clip_grad_norm_","torch.nn.utils.clip_grad_value_","torch.nn.utils.parameters_to_vector","BasePruningMethod","CustomFromMask","Identity","L1Unstructured","LnStructured","PruningContainer","RandomStructured","RandomUnstructured","torch.nn.utils.prune.custom_from_mask","torch.nn.utils.prune.global_unstructured","torch.nn.utils.prune.identity","torch.nn.utils.prune.is_pruned","torch.nn.utils.prune.l1_unstructured","torch.nn.utils.prune.ln_structured","torch.nn.utils.prune.random_structured","torch.nn.utils.prune.random_unstructured","torch.nn.utils.prune.remove","torch.nn.utils.remove_spectral_norm","torch.nn.utils.remove_weight_norm","PackedSequence","torch.nn.utils.rnn.pack_padded_sequence","torch.nn.utils.rnn.pack_sequence","torch.nn.utils.rnn.pad_packed_sequence","torch.nn.utils.rnn.pad_sequence","torch.nn.utils.spectral_norm","torch.nn.utils.vector_to_parameters","torch.nn.utils.weight_norm","no_grad","torch.nonzero","torch.norm","torch.normal","torch.numel","torch.ones","torch.ones_like","torch.orgqr","torch.ormqr","torch.pca_lowrank","torch.pinverse","torch.poisson","torch.polygamma","torch.pow","torch.prod","torch.promote_types","torch.qr","torch.quantize_per_channel","torch.quantize_per_tensor","SobolEngine","torch.rad2deg","torch.rand","torch.rand_like","torch.randint","torch.randint_like","torch.randn","torch.randn_like","torch.randperm","torch.range","torch.real","torch.reciprocal","torch.remainder","torch.renorm","torch.repeat_interleave","torch.reshape","torch.result_type","torch.rfft","torch.roll","torch.rot90","torch.round","torch.rsqrt","torch.save","torch.searchsorted","torch.seed","torch.set_default_dtype","torch.set_default_tensor_type","torch.set_flush_denormal","set_grad_enabled","torch.set_num_interop_threads","torch.set_num_threads","torch.set_printoptions","torch.set_rng_state","torch.sigmoid","torch.sign","torch.sin","torch.sinh","torch.slogdet","torch.solve","torch.sort","torch.sparse_coo_tensor","torch.split","torch.sqrt","torch.square","torch.squeeze","torch.stack","torch.std","torch.std_mean","torch.stft","torch.sum","torch.svd","torch.svd_lowrank","torch.symeig","torch.t","torch.take","torch.tan","torch.tanh","torch.tensor","torch.tensordot","torch.topk","torch.trace","torch.transpose","torch.trapz","torch.triangular_solve","torch.tril","torch.tril_indices","torch.triu","torch.triu_indices","torch.true_divide","torch.trunc","torch.unbind","torch.unique","torch.unique_consecutive","torch.unsqueeze","torch.vander","torch.var","torch.var_mean","torch.view_as_complex","torch.view_as_real","torch.where","torch.zeros","torch.zeros_like","torch.hub","PyTorch documentation","TorchScript","TorchScript Builtins","TorchScript Language Reference","Python Language Reference Coverage","TorchScript Unsupported Pytorch Constructs","torch.utils.mobile_optimizer","torch.utils.model_zoo","Multiprocessing package - torch.multiprocessing","Named Tensors operator coverage","Named Tensors","torch.nn","torch.nn.functional","torch.nn.init","Automatic Mixed Precision examples","Autograd mechanics","Broadcasting semantics","CPU threading and TorchScript inference","CUDA semantics","Distributed Data Parallel","Extending PyTorch","Frequently Asked Questions","Features for large-scale deployments","Multiprocessing best practices","Reproducibility","Serialization semantics","Windows FAQ","torch.onnx","torch.optim","Javadoc","Quantization","torch.random","Distributed RPC Framework","Distributed Autograd Design","Remote Reference Protocol","torch.sparse","torch.Storage","Tensor Attributes","Tensor Views","torch.utils.tensorboard","torch.Tensor","torch","torchvision.datasets","torchvision","torchvision.io","torchvision.models","torchvision.ops","torchvision.transforms","torchvision.utils","Type Info"],titleterms:{"break":461,"case":[5,459],"class":[459,461,463],"default":[2,13,461],"export":485,"function":[2,6,14,15,459,460,461,463,467,469,470,472,473,485,488,493,505],"import":[457,484],"new":5,"return":[461,479,492],"var":450,"while":461,Adding:[5,478,485],For:461,Not:463,One:484,Ops:[1,463,499],The:5,Use:[461,476,485],With:463,__config__:0,__torch_function__:478,about:5,abs:[8,19],absolut:20,access:[8,461],accumul:472,aco:21,acosh:22,activ:[469,470],adaptive_avg_pool1d:470,adaptive_avg_pool2d:470,adaptive_avg_pool3d:470,adaptive_max_pool1d:470,adaptive_max_pool2d:470,adaptive_max_pool3d:470,adaptiveavgpool1d:199,adaptiveavgpool2d:200,adaptiveavgpool3d:201,adaptivelogsoftmaxwithloss:202,adaptivemaxpool1d:203,adaptivemaxpool2d:204,adaptivemaxpool3d:205,add:23,addbmm:24,addcdiv:25,addcmul:26,addmm:27,addmv:28,addr:29,adjust:486,affine_grid:470,agnost:476,alexnet:[485,503],algebra:8,algorithm:[486,491],align:468,allclos:30,alloc:479,alpha_dropout:470,alphadropout:206,amd:7,amp:1,angl:[8,31],anomali:2,api:[2,7,10,459,468,475,478,480,488],appendix:459,approach:483,arang:32,argmax:33,argmin:34,argsort:35,argument:492,arithmet:461,as_strid:36,as_tensor:37,asin:38,asinh:39,ask:[5,459,479,485],assign:461,assumpt:492,asynchron:[14,476,481],atan2:41,atan:40,atanh:42,aten:485,attach:480,attribut:[459,461,463,495],author:10,autocast:[1,472],autograd:[2,7,8,10,468,472,473,478,490,491],automat:[1,2,13,459,472],avg_pool1d:470,avg_pool2d:470,avg_pool3d:470,avgpool1d:207,avgpool2d:208,avgpool3d:209,avoid:[5,481],awai:467,backend:[14,490],background:[491,492],backward:[473,474,491],baddbmm:43,bartlett_window:44,basepruningmethod:329,basic:[14,468,490],batch:13,batch_norm:470,batchnorm1d:212,batchnorm2d:[213,488],batchnorm3d:[214,488],bceloss:210,bcewithlogitsloss:211,behavior:[1,13],benchmark:7,bernoulli:[15,45],best:[476,481,483],beta:15,between:463,bilinear:[215,470],binary_cross_entropi:[1,470],binary_cross_entropy_with_logit:[1,470],bincount:46,binomi:15,bitwise_and:47,bitwise_not:48,bitwise_or:49,bitwise_xor:50,bla:499,blackman_window:51,block_diag:52,bmm:53,bottleneck:3,bound:463,broadcast:474,broadcast_tensor:54,broken:484,bucket:55,buffer:[476,481],bug:5,build:[5,7,475,480,484],built:[459,460],builtin:460,c10:7,cach:[457,476],call:[461,473],can:[1,479],can_cast:56,caption:500,cartesian_prod:57,cast:461,cat:58,categor:15,cauchi:15,cdist:59,ceil:60,celeba:500,celu:[216,470],cffi:484,chain_matmul:61,chang:6,channel:484,characterist:503,check:[2,459,473],checkpoint:4,chi2:15,choleski:62,cholesky_invers:63,cholesky_solv:64,choos:14,chunk:65,cifar:500,cityscap:500,clamp:66,classif:503,claus:484,clip:472,clip_grad_norm_:326,clip_grad_value_:327,closur:486,cnn:503,coco:500,code:[5,459,476],codebas:5,collate_fn:13,collect:[11,14],combin:67,come:14,common:[5,14,480],commun:[11,14],comparison:[459,461,499],compat:474,compiled_with_cxx11_abi:68,complex:[8,473],compon:484,comput:[2,491,499],concurr:473,conj:69,consider:480,constant:[459,461],constantpad1d:218,constantpad2d:219,constantpad3d:220,constraint:15,construct:[461,463,486],contain:469,context:[2,491],continu:461,continuousbernoulli:15,contract:467,contribut:5,controversi:6,conv1d:[221,470,488],conv2d:[222,470,488],conv3d:[223,470,488],conv_transpose1d:470,conv_transpose2d:470,conv_transpose3d:470,convbn1d:488,convbn2d:488,convbnrelu1d:488,convbnrelu2d:488,convers:505,convolut:[469,470,503],convrelu1d:488,convrelu2d:488,convrelu3d:488,convtranspose1d:224,convtranspose2d:225,convtranspose3d:226,core:6,correct:[2,473],correctli:463,cos:70,cosh:71,cosine_embedding_loss:470,cosine_similar:470,cosineembeddingloss:227,cosinesimilar:228,coverag:[462,467,478,488],cpp:484,cpp_extens:9,cpu:[7,473,475],creat:[8,459,468],creation:499,cross:[72,473],cross_entropi:470,crossentropyloss:229,ctc_loss:470,ctcloss:217,cuda:[1,7,11,466,476,479,481,484],cudnn:482,cufft:476,cummax:73,cummin:74,cumprod:75,cumsum:76,current:468,custom:[472,478,485],custom_from_mask:337,customfrommask:330,data:[13,477,479,485],data_parallel:470,dataload:7,dataparallel:[230,469,470,472,476],dataset:[13,500],datasetfold:500,deadlock:481,debug:[459,488],decis:6,deeplabv3:503,defin:[461,473,478],deg2rad:77,densenet:503,depend:491,deploy:480,deprec:2,dequant:[78,488],deriv:[15,473],descriptor:466,design:[477,490,491,492],det:79,detect:[2,500,503],determin:473,develop:[5,6],devic:[476,495],diag:80,diag_emb:81,diagflat:82,diagon:83,dict:461,differenti:2,digamma:84,dim:467,dimens:[467,468],dirichlet:15,disabl:[2,13,459,499],discuss:5,dispatch:7,dist:85,distanc:[469,470],distribut:[7,14,15,469,470,477,490,491],distributeddataparallel:[324,472,476,477],div:86,diverg:[15,463],dlpack:16,doc:5,document:[5,458],doe:473,doesn:479,domain:473,dot:87,down:484,download:457,driver:484,dropout2d:[232,470],dropout3d:[233,470],dropout:[231,469,470],dtype:[472,488,495],dure:491,dynam:488,edg:459,eig:88,einsum:89,elig:1,elu:[234,470,488],embed:[235,470],embedding_bag:470,embeddingbag:236,emnist:500,empti:90,empty_lik:91,empty_strid:92,enable_grad:93,encod:473,end:[485,491],engin:7,entrypoint:457,environ:[14,480],equal:95,erf:96,erfc:97,erfinv:98,error:[479,484],event:11,exampl:[472,477,485,491],except:479,exclud:473,execut:476,exp:99,explicit:468,expm1:100,exponenti:15,exponentialfamili:15,express:461,extend:[10,478],extens:[10,11,478,480,484],extern:485,eye:101,factori:467,fakedata:500,faq:[6,484],fashion:500,fast:491,faster:503,featur:[5,480],feature_alpha_dropout:470,fft:102,fight:481,file:[14,466],file_descriptor:466,file_system:466,finfo:507,fishersnedecor:15,fix:5,flatten:[103,237],fleet:480,flickr:500,flip:104,fliplr:105,flipud:106,float16:1,float32:1,floatfunct:488,floor:107,floor_divid:108,fmod:109,fold:[238,470],fork:144,format:485,forward:491,found:484,frac:110,fractionalmaxpool2d:239,framework:490,freed:479,freez:145,frequent:[5,459,479,485],from:[8,457,467,473,484,485],from_numpi:111,full:112,full_lik:113,fulli:503,futur:17,gamma:15,gather:114,gelu:[240,470],gener:[7,11,18,474,499,505],geometr:15,geqrf:116,ger:117,get:5,get_default_dtyp:118,get_num_interop_thread:119,get_num_thread:120,get_rng_stat:121,global_unstructur:338,glu:470,googlenet:503,govern:[6,7],gpu:[14,469,470,472,479],gradient:[1,2,472,499],graph:[459,473],grid_sampl:470,group:[14,490],groupnorm:[243,488],gru:241,grucel:242,guid:[5,6],gumbel:15,gumbel_softmax:470,halfcauchi:15,halfnorm:15,hamming_window:123,handler:479,hann_window:124,happen:473,hardshrink:[244,470],hardsigmoid:[245,470],hardswish:[246,470,488],hardtanh:[247,470],higher:2,hinge_embedding_loss:470,hingeembeddingloss:248,hip:7,histc:125,histori:473,hmdb51:500,hogwild:481,hook:473,how:[457,473,486],hub:457,ident:[249,331,339,479],ifft:126,ignor:146,iinfo:507,imag:[8,127,505],imagefold:500,imagenet:500,implement:[5,457,477,492],improv:5,incept:503,includ:484,independ:15,index:499,index_select:128,indic:458,infer:[468,475],info:507,init:471,initi:14,initial_se:129,input:[1,467,472],inspect:459,instal:484,instanc:503,instance_norm:470,instancenorm1d:[250,488],instancenorm2d:[251,488],instancenorm3d:[252,488],instead:476,instrins:488,interest:7,interfac:[14,488],intern:477,interpol:470,interpret:459,intrins:488,introduct:488,invers:130,ipc:484,irfft:131,is_complex:132,is_floating_point:133,is_nonzero:134,is_prun:340,is_storag:135,is_tensor:136,isclos:137,isfinit:138,isinf:139,isn:479,isnan:140,issu:5,istft:141,iter:[13,461],javadoc:487,jit:[7,144,145,146,147,148,149,150,151,152,153,459],join:499,jvp:473,keep:467,kei:[6,484],keypoint:503,kinet:500,kl_div:470,kldivloss:253,kmnist:500,known:457,kthvalu:154,l1_loss:470,l1_unstructur:341,l1loss:254,l1unstructur:332,languag:[459,461,462],lapack:499,laplac:15,larg:480,launch:14,layer:469,layer_norm:470,layernorm:[259,488],layout:[2,495],leaky_relu:470,leakyrelu:260,learn:486,lerp:156,level:[2,7,488],lgamma:157,librari:7,lifetim:492,like:478,limit:[457,485],linear:[8,261,469,470,488],linearrelu:488,linspac:158,list:461,liter:461,ln_structur:342,lnstructur:333,load:[13,147,159,457],loader:479,lobpcg:160,local:[2,499],local_response_norm:470,localresponsenorm:262,log10:162,log1p:163,log2:164,log:[161,480],log_softmax:470,logaddexp2:166,logaddexp:165,logcumsumexp:167,logdet:168,logic:[457,461],logical_and:169,logical_not:170,logical_or:171,logical_xor:172,logitrelaxedbernoulli:15,lognorm:15,logsigmoid:[263,470],logsoftmax:264,logspac:173,logsumexp:174,lookup:461,loop:461,loss:[469,470,472],lowrankmultivariatenorm:15,lp_pool1d:470,lp_pool2d:470,lppool1d:255,lppool2d:256,lstm:[257,488],lstmcell:258,lstsq:175,lsun:500,lu_solv:178,lu_unpack:179,maintain:[6,7],make:[5,6],manag:[11,466,476],manipul:468,manual:2,manual_se:180,map:13,margin_ranking_loss:470,marginrankingloss:266,mask:503,masked_select:181,match:[461,468],math:[460,499],matmul:182,matrix_pow:183,matrix_rank:184,max:185,max_pool1d:470,max_pool2d:470,max_pool3d:470,max_unpool1d:470,max_unpool2d:470,max_unpool3d:470,maxpool1d:267,maxpool2d:268,maxpool3d:269,maxunpool1d:270,maxunpool2d:271,maxunpool3d:272,mean:186,mechan:473,median:187,memori:[11,13,476,479],memory_format:495,meshgrid:188,metadata:480,method:[2,460,461,463],migrat:459,min:189,mistak:5,mix:[1,459,472,503],mixin:2,mixturesamefamili:15,mkldnn:7,mnasnet:503,mnist:500,mobile_optim:464,mobilenet:503,mode:[191,491],model:[10,457,472,479,480,483,488,503],model_zoo:465,moder:6,modul:[7,273,459,460,461,463,478],moduledict:274,modulelist:[275,461],more:5,mse_loss:470,mseloss:265,mul:192,multi:[13,14,469,470],multi_margin_loss:470,multiheadattent:279,multilabel_margin_loss:470,multilabel_soft_margin_loss:470,multilabelmarginloss:276,multilabelsoftmarginloss:277,multimarginloss:278,multinomi:[15,193],multipl:[472,478],multiprocess:[7,466,476,481,484],multithread:473,multivariatenorm:15,mutat:499,mvlgamma:195,name:[461,467,468],narrow:196,nccl:14,need:472,neg:198,negativebinomi:15,network:[14,479,503],nll_loss:470,nllloss:280,no_grad:356,node:473,non:[13,469,470,473,485],nonlinear:469,nonzero:357,norm:358,normal:[15,359,469,470],note:490,notic:457,notion:473,number:[8,11,473,475,479],numel:360,numer:2,numpi:482,nvidia:11,nvtx:11,object:503,observ:488,old:8,one:472,one_hot:470,onehotcategor:15,ones:361,ones_lik:362,onlin:5,onnx:[7,485],onnx_aten:485,onnx_aten_fallback:485,onnx_fallthrough:485,open:5,oper:[2,7,14,461,467,468,473,478,480,484,485,488,499],ops:[472,504],optim:[7,472,486,490,491],option:[461,475,484,486],order:13,orgqr:363,ormqr:364,other:[14,469,499],out:[467,479],over:[1,461],overrid:478,overview:5,owner:492,pack_padded_sequ:349,pack_sequ:350,packag:[1,2,10,14,466,484],packedsequ:348,pad:[469,470],pad_packed_sequ:351,pad_sequ:352,pairwise_dist:470,pairwisedist:282,parallel:[476,477,479,499],paramet:[325,461,486],parameterdict:283,parameterlist:284,parameters_to_vector:328,pareto:15,parti:14,particip:5,particular:472,pass:[481,491],pathwis:15,pattern:461,pca_lowrank:365,pdist:470,penalti:472,peopl:6,per:[472,486],perform:7,permut:467,person:[7,503],philosophi:6,phototour:500,pil:505,pin:[13,476],pinvers:366,pipe:484,pixel_shuffl:470,pixelshuffl:285,place:[2,467,473,474,499],plan:476,platform:13,point:[14,480],pointwis:499,poisson:[15,367],poisson_nll_loss:470,poissonnllloss:286,polygamma:368,pool:[469,470],pow:369,powerpc:7,practic:[476,481,483],precis:[1,472],prefer:1,prelu:[281,470],prepar:488,print:461,probabl:15,process:[5,6,13,472,490],processgroup:477,prod:370,profil:[2,480],project:6,promot:[1,5],promote_typ:371,propag:468,properli:479,properti:463,propos:5,protect:484,protocol:492,prune:[337,338,339,340,341,342,343,344,345],pruningcontain:334,publish:457,pull:5,python:[5,459,460,461,462,463],pytorch:[5,6,7,10,14,458,459,460,463,473,478,482,485],qat:488,qfunction:488,qmnist:500,quantiz:[469,488],quantize_per_channel:373,quantize_per_tensor:374,quasi:499,question:[5,459,479,485],queue:481,rad2deg:376,rand:377,rand_lik:378,randint:379,randint_lik:380,randn:381,randn_lik:382,random:[11,13,479,489,499],random_structur:343,random_unstructur:344,randomstructur:335,randomunstructur:336,randperm:383,rang:[384,461],rate:486,raw:485,readabl:5,real:[8,385],reason:492,reciproc:386,recommend:483,record:491,recurr:[469,479],recurs:459,reduct:499,refer:[1,459,461,462,468,492],refin:461,reflectionpad1d:293,reflectionpad2d:294,registri:15,relaxedbernoulli:15,relaxedonehotcategor:15,relu6:[292,470,488],relu:[291,470,488],remaind:387,remot:492,remov:[345,467],remove_spectral_norm:346,remove_weight_norm:347,renorm:388,repeat_interleav:389,replicationpad1d:295,replicationpad2d:296,replicationpad3d:297,report:[5,479],represent:8,reproduc:482,request:5,requires_grad:473,reshap:390,resnet:503,resnext:503,resolut:461,result_typ:391,retain:473,reus:481,review:5,rfft:392,rng:7,rnn:[287,349,350,351,352],rnnbase:288,rnncell:289,robust:5,rocm:7,roll:393,rot90:394,round:395,rpc:490,rref:[490,492],rrelu:[290,470],rsqrt:396,rule:468,run:457,runtim:[475,479,503],safeti:473,sampl:499,sampler:13,save:[148,397,457,480,483],sbd:500,sbu:500,scalar:473,scale:[1,472,480],scenario:492,schema:463,scheme:488,score:15,script:[149,459,484,485],scriptfunct:142,scriptmodul:143,searchsort:398,seed:399,segment:503,selu:[298,470],semant:[468,474,476,483,503],sequenti:299,serial:[8,483,499],set_default_dtyp:400,set_default_tensor_typ:401,set_flush_denorm:402,set_grad_en:403,set_num_interop_thread:404,set_num_thread:405,set_printopt:406,set_rng_stat:407,share:[14,466,492],shufflenet:503,shut:484,sigmoid:[300,408,470],sign:409,simd:7,simpl:[461,491],sin:410,singl:[13,472],sinh:411,slice:[461,499],slogdet:412,smart:491,smooth_l1_loss:470,smoothl1loss:301,sobolengin:375,soft_margin_loss:470,softmarginloss:302,softmax2d:304,softmax:[303,470],softmin:[305,470],softplu:[306,470],softshrink:[307,470],softsign:[308,470],solv:413,sort:414,sourc:[5,484],spars:[469,470,493],sparse_coo_tensor:415,spawn:[14,466],specif:[1,13],spectral:499,spectral_norm:353,speed:484,split:416,sqrt:417,squar:418,squeez:419,squeezenet:503,stack:420,start:5,statement:461,std:421,std_mean:422,step:486,stft:423,stl10:500,storag:494,strategi:466,stream:[11,476],studentt:15,style:13,subgraph:473,submit:5,subprocess:466,subscript:461,subsystem:468,sum:[424,469],support:[460,467,468,485],svd:425,svd_lowrank:426,svhn:500,symeig:427,syncbatchnorm:309,synchron:14,system:[14,466],tabl:458,take:[429,486],tan:430,tanh:[310,431,470],tanhshrink:[311,470],tcp:14,tenet:6,tensor:[2,8,10,432,460,463,466,467,468,478,488,495,496,498,499,505],tensorboard:497,tensordot:433,tensorpip:490,ternari:461,test:[5,478],third:14,thread:[473,475],threshold:[312,470],through:481,tip:481,tool:11,top:488,topk:434,torch:[0,1,2,3,4,7,9,11,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,326,327,328,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,463,464,465,466,469,470,471,478,485,486,488,489,493,494,495,497,498,499,505,507],torchaudio:7,torchscript:[10,459,460,461,463,475,480],torchserv:7,torchtext:7,torchvis:[7,485,500,501,502,503,504,505,506],trace:[150,435,459,485],trace_modul:151,tracer:459,train:[472,481,485],transform:[15,313,469,505],transformeddistribut:15,transformerdecod:314,transformerdecoderlay:315,transformerencod:316,transformerencoderlay:317,transit:8,transpos:436,trapz:437,triag:5,triangular_solv:438,tril:439,tril_indic:440,triplet_margin_loss:470,tripletmarginloss:318,triu:441,triu_indic:442,true_divid:443,trunc:444,tune:475,tupl:461,tutori:[5,490],type:[1,13,461,478,485,507],typic:472,ucf101:500,unbind:445,uncontroversi:6,unfold:[319,470],unifi:467,uniform:15,uniqu:446,unique_consecut:447,unscal:472,unsqueez:448,unsupport:[461,463],unus:152,upsampl:[320,470],upsample_bilinear:470,upsample_nearest:470,upsamplingbilinear2d:321,upsamplingnearest2d:322,usag:[480,484],use:[14,473,486],user:492,usp:500,util:[3,4,7,9,13,14,16,326,327,328,337,338,339,340,341,342,343,344,345,346,347,349,350,351,352,353,354,355,464,465,469,488,497,499,506],valu:[461,492],vander:449,var_mean:451,variabl:[2,14,459,461],variant:467,vector_to_paramet:354,vgg:503,video:[502,503],view:496,view_as_complex:452,view_as_r:453,vision:[469,470],vjp:473,voc:500,vonmis:15,wait:153,warn:459,weibul:15,weight:469,weight_norm:355,what:473,where:[454,457],which:14,wide:[480,503],widest:1,win:484,window:[7,484],without:484,work:[13,472,479],worker:479,workflow:488,wrapper:478,write:478,xla:7,zero:455,zeropad2d:323,zeros_lik:456}}) \ No newline at end of file diff --git a/docs/stable/sparse.html b/docs/stable/sparse.html index 0491b9d2bc71..171c71c98963 100644 --- a/docs/stable/sparse.html +++ b/docs/stable/sparse.html @@ -593,7 +593,7 @@

                                                                      Functions

                                                                      -torch.sparse.addmm(mat: torch.Tensor, mat1: torch.Tensor, mat2: torch.Tensor, beta: float = 1, alpha: float = 1) → torch.Tensor[source]
                                                                      +torch.sparse.addmm(mat, mat1, mat2, beta=1, alpha=1)[source]

                                                                      This function does exact same thing as torch.addmm() in the forward, except that it supports backward for sparse matrix mat1. mat1 need to have sparse_dim = 2. Note that the gradients of mat1 is a @@ -604,10 +604,13 @@

                                                                      FunctionsTensor) – a dense matrix to be added

                                                                    • mat1 (SparseTensor) – a sparse matrix to be multiplied

                                                                    • mat2 (Tensor) – a dense matrix be multiplied

                                                                    • -
                                                                    • beta (Number, optional) – multiplier for mat (β\beta +

                                                                    • beta (Number, optional) – multiplier for mat (β\beta + )

                                                                    • -
                                                                    • alpha (Number, optional) – multiplier for mat1@mat2mat1 @ mat2 - (α\alpha +

                                                                    • alpha (Number, optional) – multiplier for mat1@mat2mat1 @ mat2 + + (α\alpha + )

                                                                    @@ -619,10 +622,13 @@

                                                                    Functionstorch.sparse.mm(mat1, mat2)[source]

                                                                    Performs a matrix multiplication of the sparse matrix mat1 and dense matrix mat2. Similar to torch.mm(), If mat1 is a -(n×m)(n \times m) - tensor, mat2 is a (m×p)(m \times p) +(n×m)(n \times m) + + tensor, mat2 is a (m×p)(m \times p) + tensor, out will be a -(n×p)(n \times p) +(n×p)(n \times p) + dense tensor. mat1 need to have sparse_dim = 2. This function also supports backward for both matrices. Note that the gradients of mat1 is a coalesced sparse tensor.

                                                                    @@ -664,7 +670,7 @@

                                                                    Functions
                                                                    -torch.sparse.sum(input: torch.Tensor, dim: Optional[Tuple[int]] = None, dtype: Optional[int] = None) → torch.Tensor[source]
                                                                    +torch.sparse.sum(input, dim=None, dtype=None)[source]

                                                                    Returns the sum of each row of SparseTensor input in the given dimensions dim. If dim is a list of dimensions, reduce over all of them. When sum over all sparse_dim, this method diff --git a/docs/stable/tensorboard.html b/docs/stable/tensorboard.html index b9e4d388d3e7..a95701ed6e96 100644 --- a/docs/stable/tensorboard.html +++ b/docs/stable/tensorboard.html @@ -396,563 +396,6 @@

                                                                    torch.utils.tensorboard


                                                                  -
                                                                  -
                                                                  -class torch.utils.tensorboard.writer.SummaryWriter(log_dir=None, comment='', purge_step=None, max_queue=10, flush_secs=120, filename_suffix='')[source]
                                                                  -

                                                                  Writes entries directly to event files in the log_dir to be -consumed by TensorBoard.

                                                                  -

                                                                  The SummaryWriter class provides a high-level API to create an event file -in a given directory and add summaries and events to it. The class updates the -file contents asynchronously. This allows a training program to call methods -to add data to the file directly from the training loop, without slowing down -training.

                                                                  -
                                                                  -
                                                                  -__init__(log_dir=None, comment='', purge_step=None, max_queue=10, flush_secs=120, filename_suffix='')[source]
                                                                  -

                                                                  Creates a SummaryWriter that will write out events and summaries -to the event file.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • log_dir (string) – Save directory location. Default is -runs/CURRENT_DATETIME_HOSTNAME, which changes after each run. -Use hierarchical folder structure to compare -between runs easily. e.g. pass in ‘runs/exp1’, ‘runs/exp2’, etc. -for each new experiment to compare across them.

                                                                  • -
                                                                  • comment (string) – Comment log_dir suffix appended to the default -log_dir. If log_dir is assigned, this argument has no effect.

                                                                  • -
                                                                  • purge_step (int) – When logging crashes at step T+XT+X - and restarts at step TT -, -any events whose global_step larger or equal to TT - will be -purged and hidden from TensorBoard. -Note that crashed and resumed experiments should have the same log_dir.

                                                                  • -
                                                                  • max_queue (int) – Size of the queue for pending events and -summaries before one of the ‘add’ calls forces a flush to disk. -Default is ten items.

                                                                  • -
                                                                  • flush_secs (int) – How often, in seconds, to flush the -pending events and summaries to disk. Default is every two minutes.

                                                                  • -
                                                                  • filename_suffix (string) – Suffix added to all event filenames in -the log_dir directory. More details on filename construction in -tensorboard.summary.writer.event_file_writer.EventFileWriter.

                                                                  • -
                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -
                                                                  -# create a summary writer with automatically generated folder name.
                                                                  -writer = SummaryWriter()
                                                                  -# folder location: runs/May04_22-14-54_s-MacBook-Pro.local/
                                                                  -
                                                                  -# create a summary writer using the specified folder name.
                                                                  -writer = SummaryWriter("my_experiment")
                                                                  -# folder location: my_experiment
                                                                  -
                                                                  -# create a summary writer with comment appended.
                                                                  -writer = SummaryWriter(comment="LR_0.1_BATCH_16")
                                                                  -# folder location: runs/May04_22-14-54_s-MacBook-Pro.localLR_0.1_BATCH_16/
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_scalar(tag, scalar_value, global_step=None, walltime=None)[source]
                                                                  -

                                                                  Add scalar data to summary.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • scalar_value (float or string/blobname) – Value to save

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -with seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -writer = SummaryWriter()
                                                                  -x = range(100)
                                                                  -for i in x:
                                                                  -    writer.add_scalar('y=2x', i * 2, i)
                                                                  -writer.close()
                                                                  -
                                                                  -
                                                                  -

                                                                  Expected result:

                                                                  -_images/add_scalar.png -
                                                                  - -
                                                                  -
                                                                  -add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)[source]
                                                                  -

                                                                  Adds many scalar data to summary.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • main_tag (string) – The parent name for the tags

                                                                  • -
                                                                  • tag_scalar_dict (dict) – Key-value pair storing the tag and corresponding values

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -writer = SummaryWriter()
                                                                  -r = 5
                                                                  -for i in range(100):
                                                                  -    writer.add_scalars('run_14h', {'xsinx':i*np.sin(i/r),
                                                                  -                                    'xcosx':i*np.cos(i/r),
                                                                  -                                    'tanx': np.tan(i/r)}, i)
                                                                  -writer.close()
                                                                  -# This call adds three values to the same scalar plot with the tag
                                                                  -# 'run_14h' in TensorBoard's scalar section.
                                                                  -
                                                                  -
                                                                  -

                                                                  Expected result:

                                                                  -_images/add_scalars.png -
                                                                  - -
                                                                  -
                                                                  -add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None)[source]
                                                                  -

                                                                  Add histogram to summary.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • values (torch.Tensor, numpy.array, or string/blobname) – Values to build histogram

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • bins (string) – One of {‘tensorflow’,’auto’, ‘fd’, …}. This determines how the bins are made. You can find -other options in: https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -import numpy as np
                                                                  -writer = SummaryWriter()
                                                                  -for i in range(10):
                                                                  -    x = np.random.random(1000)
                                                                  -    writer.add_histogram('distribution centers', x + i, i)
                                                                  -writer.close()
                                                                  -
                                                                  -
                                                                  -

                                                                  Expected result:

                                                                  -_images/add_histogram.png -
                                                                  - -
                                                                  -
                                                                  -add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')[source]
                                                                  -

                                                                  Add image data to summary.

                                                                  -

                                                                  Note that this requires the pillow package.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • img_tensor (torch.Tensor, numpy.array, or string/blobname) – Image data

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  -
                                                                  Shape:

                                                                  img_tensor: Default is (3,H,W)(3, H, W) -. You can use torchvision.utils.make_grid() to -convert a batch of tensor into 3xHxW format or call add_images and let us do the job. -Tensor with (1,H,W)(1, H, W) -, (H,W)(H, W) -, (H,W,3)(H, W, 3) - is also suitable as long as -corresponding dataformats argument is passed, e.g. CHW, HWC, HW.

                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -import numpy as np
                                                                  -img = np.zeros((3, 100, 100))
                                                                  -img[0] = np.arange(0, 10000).reshape(100, 100) / 10000
                                                                  -img[1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000
                                                                  -
                                                                  -img_HWC = np.zeros((100, 100, 3))
                                                                  -img_HWC[:, :, 0] = np.arange(0, 10000).reshape(100, 100) / 10000
                                                                  -img_HWC[:, :, 1] = 1 - np.arange(0, 10000).reshape(100, 100) / 10000
                                                                  -
                                                                  -writer = SummaryWriter()
                                                                  -writer.add_image('my_image', img, 0)
                                                                  -
                                                                  -# If you have non-default dimension setting, set the dataformats argument.
                                                                  -writer.add_image('my_image_HWC', img_HWC, 0, dataformats='HWC')
                                                                  -writer.close()
                                                                  -
                                                                  -
                                                                  -

                                                                  Expected result:

                                                                  -_images/add_image.png -
                                                                  - -
                                                                  -
                                                                  -add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')[source]
                                                                  -

                                                                  Add batched image data to summary.

                                                                  -

                                                                  Note that this requires the pillow package.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • img_tensor (torch.Tensor, numpy.array, or string/blobname) – Image data

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  • dataformats (string) – Image data format specification of the form -NCHW, NHWC, CHW, HWC, HW, WH, etc.

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  -
                                                                  Shape:

                                                                  img_tensor: Default is (N,3,H,W)(N, 3, H, W) -. If dataformats is specified, other shape will be -accepted. e.g. NCHW or NHWC.

                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -import numpy as np
                                                                  -
                                                                  -img_batch = np.zeros((16, 3, 100, 100))
                                                                  -for i in range(16):
                                                                  -    img_batch[i, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 / 16 * i
                                                                  -    img_batch[i, 1] = (1 - np.arange(0, 10000).reshape(100, 100) / 10000) / 16 * i
                                                                  -
                                                                  -writer = SummaryWriter()
                                                                  -writer.add_images('my_image_batch', img_batch, 0)
                                                                  -writer.close()
                                                                  -
                                                                  -
                                                                  -

                                                                  Expected result:

                                                                  -_images/add_images.png -
                                                                  - -
                                                                  -
                                                                  -add_figure(tag, figure, global_step=None, close=True, walltime=None)[source]
                                                                  -

                                                                  Render matplotlib figure into an image and add it to summary.

                                                                  -

                                                                  Note that this requires the matplotlib package.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • figure (matplotlib.pyplot.figure) – Figure or a list of figures

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • close (bool) – Flag to automatically close the figure

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_video(tag, vid_tensor, global_step=None, fps=4, walltime=None)[source]
                                                                  -

                                                                  Add video data to summary.

                                                                  -

                                                                  Note that this requires the moviepy package.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • vid_tensor (torch.Tensor) – Video data

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • fps (float or int) – Frames per second

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  -
                                                                  Shape:

                                                                  vid_tensor: (N,T,C,H,W)(N, T, C, H, W) -. The values should lie in [0, 255] for type uint8 or [0, 1] for type float.

                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_audio(tag, snd_tensor, global_step=None, sample_rate=44100, walltime=None)[source]
                                                                  -

                                                                  Add audio data to summary.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • snd_tensor (torch.Tensor) – Sound data

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • sample_rate (int) – sample rate in Hz

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  -
                                                                  Shape:

                                                                  snd_tensor: (1,L)(1, L) -. The values should lie between [-1, 1].

                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_text(tag, text_string, global_step=None, walltime=None)[source]
                                                                  -

                                                                  Add text data to summary.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • text_string (string) – String to save

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  writer.add_text('lstm', 'This is an lstm', 0)
                                                                  -writer.add_text('rnn', 'This is an rnn', 10)
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_graph(model, input_to_model=None, verbose=False)[source]
                                                                  -

                                                                  Add graph data to summary.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • model (torch.nn.Module) – Model to draw.

                                                                  • -
                                                                  • input_to_model (torch.Tensor or list of torch.Tensor) – A variable or a tuple of -variables to be fed.

                                                                  • -
                                                                  • verbose (bool) – Whether to print graph structure in console.

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_embedding(mat, metadata=None, label_img=None, global_step=None, tag='default', metadata_header=None)[source]
                                                                  -

                                                                  Add embedding projector data to summary.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • mat (torch.Tensor or numpy.array) – A matrix which each row is the feature vector of the data point

                                                                  • -
                                                                  • metadata (list) – A list of labels, each element will be convert to string

                                                                  • -
                                                                  • label_img (torch.Tensor) – Images correspond to each data point

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • tag (string) – Name for the embedding

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  -
                                                                  Shape:

                                                                  mat: (N,D)(N, D) -, where N is number of data and D is feature dimension

                                                                  -

                                                                  label_img: (N,C,H,W)(N, C, H, W) -

                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  import keyword
                                                                  -import torch
                                                                  -meta = []
                                                                  -while len(meta)<100:
                                                                  -    meta = meta+keyword.kwlist # get some strings
                                                                  -meta = meta[:100]
                                                                  -
                                                                  -for i, v in enumerate(meta):
                                                                  -    meta[i] = v+str(i)
                                                                  -
                                                                  -label_img = torch.rand(100, 3, 10, 32)
                                                                  -for i in range(100):
                                                                  -    label_img[i]*=i/100.0
                                                                  -
                                                                  -writer.add_embedding(torch.randn(100, 5), metadata=meta, label_img=label_img)
                                                                  -writer.add_embedding(torch.randn(100, 5), label_img=label_img)
                                                                  -writer.add_embedding(torch.randn(100, 5), metadata=meta)
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_pr_curve(tag, labels, predictions, global_step=None, num_thresholds=127, weights=None, walltime=None)[source]
                                                                  -

                                                                  Adds precision recall curve. -Plotting a precision-recall curve lets you understand your model’s -performance under different threshold settings. With this function, -you provide the ground truth labeling (T/F) and prediction confidence -(usually the output of your model) for each target. The TensorBoard UI -will let you choose the threshold interactively.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • labels (torch.Tensor, numpy.array, or string/blobname) – Ground truth data. Binary label for each element.

                                                                  • -
                                                                  • predictions (torch.Tensor, numpy.array, or string/blobname) – The probability that an element be classified as true. -Value should in [0, 1]

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • num_thresholds (int) – Number of thresholds used to draw the curve.

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -import numpy as np
                                                                  -labels = np.random.randint(2, size=100)  # binary label
                                                                  -predictions = np.random.rand(100)
                                                                  -writer = SummaryWriter()
                                                                  -writer.add_pr_curve('pr_curve', labels, predictions, 0)
                                                                  -writer.close()
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_custom_scalars(layout)[source]
                                                                  -

                                                                  Create special chart by collecting charts tags in ‘scalars’. Note that this function can only be called once -for each SummaryWriter() object. Because it only provides metadata to tensorboard, the function can be called -before or after the training loop.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -

                                                                  layout (dict) – {categoryName: charts}, where charts is also a dictionary -{chartName: ListOfProperties}. The first element in ListOfProperties is the chart’s type -(one of Multiline or Margin) and the second element should be a list containing the tags -you have used in add_scalar function, which will be collected into the new chart.

                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  layout = {'Taiwan':{'twse':['Multiline',['twse/0050', 'twse/2330']]},
                                                                  -             'USA':{ 'dow':['Margin',   ['dow/aaa', 'dow/bbb', 'dow/ccc']],
                                                                  -                  'nasdaq':['Margin',   ['nasdaq/aaa', 'nasdaq/bbb', 'nasdaq/ccc']]}}
                                                                  -
                                                                  -writer.add_custom_scalars(layout)
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_mesh(tag, vertices, colors=None, faces=None, config_dict=None, global_step=None, walltime=None)[source]
                                                                  -

                                                                  Add meshes or 3D point clouds to TensorBoard. The visualization is based on Three.js, -so it allows users to interact with the rendered object. Besides the basic definitions -such as vertices, faces, users can further provide camera parameter, lighting condition, etc. -Please check https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene for -advanced usage.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • tag (string) – Data identifier

                                                                  • -
                                                                  • vertices (torch.Tensor) – List of the 3D coordinates of vertices.

                                                                  • -
                                                                  • colors (torch.Tensor) – Colors for each vertex

                                                                  • -
                                                                  • faces (torch.Tensor) – Indices of vertices within each triangle. (Optional)

                                                                  • -
                                                                  • config_dict – Dictionary with ThreeJS classes names and configuration.

                                                                  • -
                                                                  • global_step (int) – Global step value to record

                                                                  • -
                                                                  • walltime (float) – Optional override default walltime (time.time()) -seconds after epoch of event

                                                                  • -
                                                                  -
                                                                  -
                                                                  -
                                                                  -
                                                                  Shape:

                                                                  vertices: (B,N,3)(B, N, 3) -. (batch, number_of_vertices, channels)

                                                                  -

                                                                  colors: (B,N,3)(B, N, 3) -. The values should lie in [0, 255] for type uint8 or [0, 1] for type float.

                                                                  -

                                                                  faces: (B,N,3)(B, N, 3) -. The values should lie in [0, number_of_vertices] for type uint8.

                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -vertices_tensor = torch.as_tensor([
                                                                  -    [1, 1, 1],
                                                                  -    [-1, -1, 1],
                                                                  -    [1, -1, -1],
                                                                  -    [-1, 1, -1],
                                                                  -], dtype=torch.float).unsqueeze(0)
                                                                  -colors_tensor = torch.as_tensor([
                                                                  -    [255, 0, 0],
                                                                  -    [0, 255, 0],
                                                                  -    [0, 0, 255],
                                                                  -    [255, 0, 255],
                                                                  -], dtype=torch.int).unsqueeze(0)
                                                                  -faces_tensor = torch.as_tensor([
                                                                  -    [0, 2, 3],
                                                                  -    [0, 3, 1],
                                                                  -    [0, 1, 2],
                                                                  -    [1, 3, 2],
                                                                  -], dtype=torch.int).unsqueeze(0)
                                                                  -
                                                                  -writer = SummaryWriter()
                                                                  -writer.add_mesh('my_mesh', vertices=vertices_tensor, colors=colors_tensor, faces=faces_tensor)
                                                                  -
                                                                  -writer.close()
                                                                  -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  -add_hparams(hparam_dict, metric_dict)[source]
                                                                  -

                                                                  Add a set of hyperparameters to be compared in TensorBoard.

                                                                  -
                                                                  -
                                                                  Parameters
                                                                  -
                                                                    -
                                                                  • hparam_dict (dict) – Each key-value pair in the dictionary is the -name of the hyper parameter and it’s corresponding value. -The type of the value can be one of bool, string, float, -int, or None.

                                                                  • -
                                                                  • metric_dict (dict) – Each key-value pair in the dictionary is the -name of the metric and it’s corresponding value. Note that the key used -here should be unique in the tensorboard record. Otherwise the value -you added by add_scalar will be displayed in hparam plugin. In most -cases, this is unwanted.

                                                                  • -
                                                                  -
                                                                  -
                                                                  -

                                                                  Examples:

                                                                  -
                                                                  from torch.utils.tensorboard import SummaryWriter
                                                                  -with SummaryWriter() as w:
                                                                  -    for i in range(5):
                                                                  -        w.add_hparams({'lr': 0.1*i, 'bsize': i},
                                                                  -                      {'hparam/accuracy': 10*i, 'hparam/loss': 10*i})
                                                                  -
                                                                  -
                                                                  -

                                                                  Expected result:

                                                                  -_images/add_hparam.png -
                                                                  - -
                                                                  -
                                                                  -flush()[source]
                                                                  -

                                                                  Flushes the event file to disk. -Call this method to make sure that all pending events have been written to -disk.

                                                                  -
                                                                  - -
                                                                  -
                                                                  -close()[source]
                                                                  -
                                                                  - -
                                                                  -

                                                            diff --git a/docs/stable/tensors.html b/docs/stable/tensors.html index a736f3530b43..d84a58fab950 100644 --- a/docs/stable/tensors.html +++ b/docs/stable/tensors.html @@ -1048,9 +1048,11 @@
                                                            bernoulli(*, generator=None) → Tensor
                                                            -

                                                            Returns a result tensor where each result[i]\texttt{result[i]} +

                                                            Returns a result tensor where each result[i]\texttt{result[i]} + is independently -sampled from Bernoulli(self[i])\text{Bernoulli}(\texttt{self[i]}) +sampled from Bernoulli(self[i])\text{Bernoulli}(\texttt{self[i]}) + . self must have floating point dtype, and the result will have the same dtype.

                                                            See torch.bernoulli()

                                                            @@ -1063,7 +1065,8 @@
                                                            bernoulli_(p=0.5, *, generator=None) → Tensor

                                                            Fills each location of self with an independent sample from -Bernoulli(p)\text{Bernoulli}(\texttt{p}) +Bernoulli(p)\text{Bernoulli}(\texttt{p}) + . self can have integral dtype.

                                                            @@ -1073,9 +1076,11 @@ bernoulli_(p_tensor, *, generator=None) → Tensor

                                                            p_tensor should be a tensor containing probabilities to be used for drawing the binary random number.

                                                            -

                                                            The ith\text{i}^{th} +

                                                            The ith\text{i}^{th} + element of self tensor will be set to a -value sampled from Bernoulli(p_tensor[i])\text{Bernoulli}(\texttt{p\_tensor[i]}) +value sampled from Bernoulli(p_tensor[i])\text{Bernoulli}(\texttt{p\_tensor[i]}) + .

                                                            self can have integral dtype, but p_tensor must have floating point dtype.

                                                            @@ -1185,7 +1190,8 @@ cauchy_(median=0, sigma=1, *, generator=None) → Tensor

                                                            Fills the tensor with numbers drawn from the Cauchy distribution:

                                                            -f(x)=1πσ(xmedian)2+σ2f(x) = \dfrac{1}{\pi} \dfrac{\sigma}{(x - \text{median})^2 + \sigma^2} +f(x)=1πσ(xmedian)2+σ2f(x) = \dfrac{1}{\pi} \dfrac{\sigma}{(x - \text{median})^2 + \sigma^2} +

                                                            @@ -1752,7 +1758,8 @@ exponential_(lambd=1, *, generator=None) → Tensor

                                                            Fills self tensor with elements drawn from the exponential distribution:

                                                            -f(x)=λeλxf(x) = \lambda e^{-\lambda x} +f(x)=λeλxf(x) = \lambda e^{-\lambda x} +
                                                            @@ -1874,7 +1881,8 @@ geometric_(p, *, generator=None) → Tensor

                                                            Fills self tensor with elements drawn from the geometric distribution:

                                                            -f(X=k)=pk1(1p)f(X=k) = p^{k - 1} (1 - p) +f(X=k)=pk1(1p)f(X=k) = p^{k - 1} (1 - p) +
                                                            @@ -2385,21 +2393,28 @@
                                                            log_normal_(mean=1, std=2, *, generator=None)

                                                            Fills self tensor with numbers samples from the log-normal distribution -parameterized by the given mean μ\mu +parameterized by the given mean μ\mu + and standard deviation -σ\sigma +σ\sigma + . Note that mean and std are the mean and standard deviation of the underlying normal distribution, and not of the returned distribution:

                                                            -f(x)=1xσ2π e(lnxμ)22σ2f(x) = \dfrac{1}{x \sigma \sqrt{2\pi}}\ e^{-\frac{(\ln x - \mu)^2}{2\sigma^2}} +f(x)=1xσ2π e(lnxμ)22σ2f(x) = \dfrac{1}{x \sigma \sqrt{2\pi}}\ e^{-\frac{(\ln x - \mu)^2}{2\sigma^2}} +
                                                            @@ -4053,9 +4068,10 @@

                                                            Fills self tensor with numbers sampled from the continuous uniform distribution:

                                                            -P(x)=1tofromP(x) = \dfrac{1}{\text{to} - \text{from}} +P(x)=1tofromP(x) = \dfrac{1}{\text{to} - \text{from}} + + -
                                                            @@ -4113,10 +4129,15 @@ of elements, but may have a different size. For a tensor to be viewed, the new view size must be compatible with its original size and stride, i.e., each new view dimension must either be a subspace of an original dimension, or only span -across original dimensions that satisfy the following -contiguity-like condition that ,

                                                            +across original dimensions d,d+1,,d+kd, d+1, \dots, d+k + + that satisfy the following +contiguity-like condition that i=d,,d+k1\forall i = d, \dots, d+k-1 + +,

                                                            -stride[i]=stride[i+1]×size[i+1]\text{stride}[i] = \text{stride}[i+1] \times \text{size}[i+1] +stride[i]=stride[i+1]×size[i+1]\text{stride}[i] = \text{stride}[i+1] \times \text{size}[i+1] +

                                                            Otherwise, it will not be possible to view self tensor as shape without copying it (e.g., via contiguous()). When it is unclear whether a view() can be performed, it is advisable to use reshape(), which diff --git a/docs/stable/torch.html b/docs/stable/torch.html index ae7b37442814..0530ddd03f6f 100644 --- a/docs/stable/torch.html +++ b/docs/stable/torch.html @@ -429,19 +429,23 @@

                                                            Tensorsinput.

                                                            - - - @@ -584,11 +588,13 @@

                                                            Indexing, Slicing, Joining, Mutating Opsinput with each element sampled from a Poisson distribution with rate parameter given by the corresponding element in input i.e.,

                                                            - - @@ -753,7 +759,8 @@

                                                            Pointwise Opsinput.

                                                            - @@ -862,14 +869,16 @@

                                                            Pointwise Opsinput with the scalar other and returns a new resulting tensor.

                                                            - - @@ -998,11 +1007,13 @@

                                                            Comparison OpsTrue if two tensors have the same size and elements, False otherwise.

                                                            - - @@ -1021,11 +1032,13 @@

                                                            Comparison Ops(values, indices) where values is the k th smallest element of each row of the input tensor in the given dimension dim.

                                                            - - @@ -1035,7 +1048,8 @@

                                                            Comparison Opsinput tensor.

                                                            - @@ -1107,7 +1121,8 @@

                                                            Other Operations

                                                            - @@ -1165,10 +1180,14 @@

                                                            Other Operations

                                                            - @@ -1239,20 +1258,25 @@

                                                            BLAS and LAPACK Operationsinput and mat2.

                                                            - - - - @@ -1280,17 +1304,22 @@

                                                            BLAS and LAPACK Operations

                                                            - - @@ -1321,22 +1350,29 @@

                                                            BLAS and LAPACK Operations

                                                            - - - - @@ -1349,12 +1385,15 @@

                                                            BLAS and LAPACK Operations

                                                            - - diff --git a/docs/stable/torchvision/ops.html b/docs/stable/torchvision/ops.html index 6e0e55564707..28143bebd2bc 100644 --- a/docs/stable/torchvision/ops.html +++ b/docs/stable/torchvision/ops.html @@ -346,7 +346,7 @@

                                                            torchvision.ops
                                                            -torchvision.ops.nms(boxes: torch.Tensor, scores: torch.Tensor, iou_threshold: float) → torch.Tensor[source]
                                                            +torchvision.ops.nms(boxes, scores, iou_threshold)[source]

                                                            Performs non-maximum suppression (NMS) on the boxes according to their intersection-over-union (IoU).

                                                            NMS iteratively removes lower scoring boxes which have an @@ -379,7 +379,7 @@

                                                            torchvision.ops
                                                            -torchvision.ops.roi_align(input: torch.Tensor, boxes: torch.Tensor, output_size: None, spatial_scale: float = 1.0, sampling_ratio: int = -1, aligned: bool = False) → torch.Tensor[source]
                                                            +torchvision.ops.roi_align(input, boxes, output_size, spatial_scale=1.0, sampling_ratio=-1, aligned=False)[source]

                                                            Performs Region of Interest (RoI) Align operator described in Mask R-CNN

                                                            Parameters
                                                            @@ -412,7 +412,7 @@

                                                            torchvision.ops
                                                            -torchvision.ops.ps_roi_align(input: torch.Tensor, boxes: torch.Tensor, output_size: int, spatial_scale: float = 1.0, sampling_ratio: int = -1) → torch.Tensor[source]
                                                            +torchvision.ops.ps_roi_align(input, boxes, output_size, spatial_scale=1.0, sampling_ratio=-1)[source]

                                                            Performs Position-Sensitive Region of Interest (RoI) Align operator mentioned in Light-Head R-CNN.

                                                            @@ -443,7 +443,7 @@

                                                            torchvision.ops
                                                            -torchvision.ops.roi_pool(input: torch.Tensor, boxes: torch.Tensor, output_size: None, spatial_scale: float = 1.0) → torch.Tensor[source]
                                                            +torchvision.ops.roi_pool(input, boxes, output_size, spatial_scale=1.0)[source]

                                                            Performs Region of Interest (RoI) Pool operator described in Fast R-CNN

                                                            Parameters
                                                            @@ -468,7 +468,7 @@

                                                            torchvision.ops
                                                            -torchvision.ops.ps_roi_pool(input: torch.Tensor, boxes: torch.Tensor, output_size: int, spatial_scale: float = 1.0) → torch.Tensor[source]
                                                            +torchvision.ops.ps_roi_pool(input, boxes, output_size, spatial_scale=1.0)[source]

                                                            Performs Position-Sensitive Region of Interest (RoI) Pool operator described in R-FCN

                                                            @@ -494,7 +494,7 @@

                                                            torchvision.ops
                                                            -torchvision.ops.deform_conv2d(input: torch.Tensor, offset: torch.Tensor, weight: torch.Tensor, bias: Optional[torch.Tensor] = None, stride: Tuple[int, int] = (1, 1), padding: Tuple[int, int] = (0, 0), dilation: Tuple[int, int] = (1, 1)) → torch.Tensor[source]
                                                            +torchvision.ops.deform_conv2d(input, offset, weight, bias=None, stride=(1, 1), padding=(0, 0), dilation=(1, 1))[source]

                                                            Performs Deformable Convolution, described in Deformable Convolutional Networks

                                                            Parameters
                                                            @@ -537,37 +537,37 @@

                                                            torchvision.ops
                                                            -class torchvision.ops.RoIAlign(output_size: None, spatial_scale: float, sampling_ratio: int, aligned: bool = False)[source]
                                                            +class torchvision.ops.RoIAlign(output_size, spatial_scale, sampling_ratio, aligned=False)[source]

                                                            See roi_align

                                                            -class torchvision.ops.PSRoIAlign(output_size: int, spatial_scale: float, sampling_ratio: int)[source]
                                                            +class torchvision.ops.PSRoIAlign(output_size, spatial_scale, sampling_ratio)[source]

                                                            See ps_roi_align

                                                            -class torchvision.ops.RoIPool(output_size: None, spatial_scale: float)[source]
                                                            +class torchvision.ops.RoIPool(output_size, spatial_scale)[source]

                                                            See roi_pool

                                                            -class torchvision.ops.PSRoIPool(output_size: int, spatial_scale: float)[source]
                                                            +class torchvision.ops.PSRoIPool(output_size, spatial_scale)[source]

                                                            See ps_roi_pool

                                                            -class torchvision.ops.DeformConv2d(in_channels: int, out_channels: int, kernel_size: int, stride: int = 1, padding: int = 0, dilation: int = 1, groups: int = 1, bias: bool = True)[source]
                                                            +class torchvision.ops.DeformConv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)[source]

                                                            See deform_conv2d

                                                            -class torchvision.ops.MultiScaleRoIAlign(featmap_names: List[str], output_size: List[int], sampling_ratio: int)[source]
                                                            +class torchvision.ops.MultiScaleRoIAlign(featmap_names, output_size, sampling_ratio)[source]

                                                            Multi-scale RoIAlign pooling, which is useful for detection with or without FPN.

                                                            It infers the scale of the pooling via the heuristics present in the FPN paper.

                                                            @@ -599,7 +599,7 @@

                                                            torchvision.ops
                                                            -class torchvision.ops.FeaturePyramidNetwork(in_channels_list: List[int], out_channels: int, extra_blocks: Optional[torchvision.ops.feature_pyramid_network.ExtraFPNBlock] = None)[source]
                                                            +class torchvision.ops.FeaturePyramidNetwork(in_channels_list, out_channels, extra_blocks=None)[source]

                                                            Module that adds a FPN from on top of a set of feature maps. This is based on “Feature Pyramid Network for Object Detection”.

                                                            The feature maps are currently supposed to be in increasing depth diff --git a/docs/stable/torchvision/transforms.html b/docs/stable/torchvision/transforms.html index 84808663e602..82cc9108dc74 100644 --- a/docs/stable/torchvision/transforms.html +++ b/docs/stable/torchvision/transforms.html @@ -367,14 +367,12 @@

                                                            Transforms on PIL Image
                                                            class torchvision.transforms.CenterCrop(size)[source]
                                                            -

                                                            Crops the given image at the center. -The image can be a PIL Image or a torch Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +

                                                            Crops the given PIL Image at the center.

                                                            Parameters

                                                            size (sequence or int) – Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is -made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]).

                                                            +made.

                                                            @@ -406,10 +404,7 @@

                                                            Transforms on PIL Image
                                                            class torchvision.transforms.FiveCrop(size)[source]
                                                            -

                                                            Crop the given image into four corners and the central crop. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading -dimensions

                                                            +

                                                            Crop the given PIL Image into four corners and the central crop

                                                            Note

                                                            This transform returns a tuple of images and there may be a mismatch in the number of @@ -419,8 +414,7 @@

                                                            Transforms on PIL Image
                                                            Parameters

                                                            size (sequence or int) – Desired output size of the crop. If size is an int -instead of sequence like (h, w), a square crop of size (size, size) is made. -If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]).

                                                            +instead of sequence like (h, w), a square crop of size (size, size) is made.

                                                            Example

                                                            @@ -464,23 +458,20 @@

                                                            Transforms on PIL Image
                                                            class torchvision.transforms.Pad(padding, fill=0, padding_mode='constant')[source]
                                                            -

                                                            Pad the given image on all sides with the given “pad” value. -The image can be a PIL Image or a torch Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +

                                                            Pad the given PIL Image on all sides with the given “pad” value.

                                                            Parameters
                                                              -
                                                            • padding (int or tuple or list) – Padding on each border. If a single int is provided this +

                                                            • padding (int or tuple) – Padding on each border. If a single int is provided this is used to pad all borders. If tuple of length 2 is provided this is the padding on left/right and top/bottom respectively. If a tuple of length 4 is provided -this is the padding for the left, top, right and bottom borders respectively. -In torchscript mode padding as single int is not supported, use a tuple or -list of length 1: [padding, ].

                                                            • +this is the padding for the left, top, right and bottom borders +respectively.

                                                            • fill (int or tuple) – Pixel fill value for constant fill. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively. This value is only used when the padding_mode is constant

                                                            • padding_mode (str) –

                                                              Type of padding. Should be: constant, edge, reflect or symmetric. -Default is constant. Mode symmetric is not yet supported for Tensor inputs.

                                                              +Default is constant.

                                                              • constant: pads with a constant value, this value is specified with fill

                                                              • edge: pads with the last value at the edge of the image

                                                              • @@ -557,33 +548,26 @@

                                                                Transforms on PIL Image
                                                                class torchvision.transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')[source]
                                                                -

                                                                Crop the given image at a random location. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading -dimensions

                                                                +

                                                                Crop the given PIL Image at a random location.

                                                                Parameters
                                                                • size (sequence or int) – Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is -made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]).

                                                                • +made.

                                                                • padding (int or sequence, optional) – Optional padding on each border -of the image. Default is None. If a single int is provided this -is used to pad all borders. If tuple of length 2 is provided this is the padding -on left/right and top/bottom respectively. If a tuple of length 4 is provided -this is the padding for the left, top, right and bottom borders respectively. -In torchscript mode padding as single int is not supported, use a tuple or -list of length 1: [padding, ].

                                                                • +of the image. Default is None, i.e no padding. If a sequence of length +4 is provided, it is used to pad left, top, right, bottom borders +respectively. If a sequence of length 2 is provided, it is used to +pad left/right, top/bottom borders, respectively.

                                                                • pad_if_needed (boolean) – It will pad the image if smaller than the desired size to avoid raising an exception. Since cropping is done after padding, the padding seems to be done at a random offset.

                                                                • -
                                                                • fill (int or tuple) – Pixel fill value for constant fill. Default is 0. If a tuple of +

                                                                • fill – Pixel fill value for constant fill. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively. This value is only used when the padding_mode is constant

                                                                • -
                                                                • padding_mode (str) –

                                                                  Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant. -Mode symmetric is not yet supported for Tensor inputs.

                                                                  -
                                                                  -
                                                                    +
                                                                  • padding_mode

                                                                    Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant.

                                                                    +
                                                                    • constant: pads with a constant value, this value is specified with fill

                                                                    • edge: pads with the last value on the edge of the image

                                                                    • reflect: pads with reflection of image (without repeating the last value on the edge)

                                                                      @@ -599,7 +583,6 @@

                                                                      Transforms on PIL Image

                                                                -

                                                            @@ -666,9 +649,7 @@

                                                            Transforms on PIL Image
                                                            class torchvision.transforms.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=2)[source]
                                                            -

                                                            Crop the given image to random size and aspect ratio. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +

                                                            Crop the given PIL Image to random size and aspect ratio.

                                                            A crop of random size (default: of 0.08 to 1.0) of the original size and a random aspect ratio (default: of 3/4 to 4/3) of the original aspect ratio is made. This crop is finally resized to given size. @@ -676,14 +657,10 @@

                                                            Transforms on PIL Image
                                                            Parameters
                                                              -
                                                            • size (int or sequence) – expected output size of each edge. If size is an -int instead of sequence like (h, w), a square output size (size, size) is -made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]).

                                                            • -
                                                            • scale (tuple of python:float) – range of size of the origin size cropped

                                                            • -
                                                            • ratio (tuple of python:float) – range of aspect ratio of the origin aspect ratio cropped.

                                                            • -
                                                            • interpolation (int) – Desired interpolation enum defined by filters. -Default is PIL.Image.BILINEAR. If input is Tensor, only PIL.Image.NEAREST, PIL.Image.BILINEAR -and PIL.Image.BICUBIC are supported.

                                                            • +
                                                            • size – expected output size of each edge

                                                            • +
                                                            • scale – range of size of the origin size cropped

                                                            • +
                                                            • ratio – range of aspect ratio of the origin aspect ratio cropped

                                                            • +
                                                            • interpolation – Default: PIL.Image.BILINEAR

                                                            @@ -725,7 +702,7 @@

                                                            Transforms on PIL Image
                                                            class torchvision.transforms.RandomVerticalFlip(p=0.5)[source]
                                                            -

                                                            Vertically flip the given image randomly with a given probability. +

                                                            Vertically flip the given PIL Image randomly with a given probability. The image can be a PIL Image or a torch Tensor, in which case it is expected to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            @@ -739,9 +716,7 @@

                                                            Transforms on PIL Image
                                                            class torchvision.transforms.Resize(size, interpolation=2)[source]
                                                            -

                                                            Resize the input image to the given size. -The image can be a PIL Image or a torch Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +

                                                            Resize the input PIL Image to the given size.

                                                            Parameters
                                                              @@ -749,12 +724,9 @@

                                                              Transforms on PIL Image[size, ].

                                                              -
                                                            • interpolation (int, optional) – Desired interpolation enum defined by filters. -Default is PIL.Image.BILINEAR. If input is Tensor, only PIL.Image.NEAREST, PIL.Image.BILINEAR -and PIL.Image.BICUBIC are supported.

                                                            • +(size * height / width, size)

                                                              +
                                                            • interpolation (int, optional) – Desired interpolation. Default is +PIL.Image.BILINEAR

                                                            @@ -769,11 +741,8 @@

                                                            Transforms on PIL Image
                                                            class torchvision.transforms.TenCrop(size, vertical_flip=False)[source]
                                                            -

                                                            Crop the given image into four corners and the central crop plus the flipped version of -these (horizontal flipping is used by default). -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading -dimensions

                                                            +

                                                            Crop the given PIL Image into four corners and the central crop plus the flipped version of +these (horizontal flipping is used by default)

                                                            Note

                                                            This transform returns a tuple of images and there may be a mismatch in the number of @@ -785,7 +754,7 @@

                                                            Transforms on PIL Image
                                                            • size (sequence or int) – Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is -made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]).

                                                            • +made.

                                                            • vertical_flip (bool) – Use vertical flipping instead of horizontal

                                                            @@ -1036,7 +1005,7 @@

                                                            Functional Transforms
                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be adjusted.

                                                            • +
                                                            • img (PIL Image or Torch Tensor) – Image to be adjusted.

                                                            • brightness_factor (float) – How much to adjust the brightness. Can be any non negative number. 0 gives a black image, 1 gives the original image while 2 increases the brightness by a factor of 2.

                                                            • @@ -1046,7 +1015,7 @@

                                                              Functional Transforms

                                                              Brightness adjusted image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image or Torch Tensor

                                                            @@ -1058,7 +1027,7 @@

                                                            Functional Transforms
                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be adjusted.

                                                            • +
                                                            • img (PIL Image or Torch Tensor) – Image to be adjusted.

                                                            • contrast_factor (float) – How much to adjust the contrast. Can be any non negative number. 0 gives a solid gray image, 1 gives the original image while 2 increases the contrast by a factor of 2.

                                                            • @@ -1068,39 +1037,35 @@

                                                              Functional Transforms

                                                              Contrast adjusted image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image or Torch Tensor

                                                            -torchvision.transforms.functional.adjust_gamma(img: torch.Tensor, gamma: float, gain: float = 1) → torch.Tensor[source]
                                                            +torchvision.transforms.functional.adjust_gamma(img, gamma, gain=1)[source]

                                                            Perform gamma correction on an image.

                                                            Also known as Power Law Transform. Intensities in RGB mode are adjusted based on the following equation:

                                                            -Iout=255×gain×(Iin255)γI_{\text{out}} = 255 \times \text{gain} \times \left(\frac{I_{\text{in}}}{255}\right)^{\gamma} +Iout=255×gain×(Iin255)γI_{\text{out}} = 255 \times \text{gain} \times \left(\frac{I_{\text{in}}}{255}\right)^{\gamma} + + -

                                                            See Gamma Correction for more details.

                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – PIL Image to be adjusted.

                                                            • -
                                                            • gamma (float) – Non negative real number, same as γ\gamma +

                                                            • img (PIL Image) – PIL Image to be adjusted.

                                                            • +
                                                            • gamma (float) – Non negative real number, same as γ\gamma + in the equation. gamma larger than 1 make the shadows darker, while gamma smaller than 1 make dark regions lighter.

                                                            • gain (float) – The constant multiplier.

                                                            -
                                                            Returns
                                                            -

                                                            Gamma correction adjusted image.

                                                            -
                                                            -
                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            -
                                                            @@ -1141,7 +1106,7 @@

                                                            Functional Transforms
                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be adjusted.

                                                            • +
                                                            • img (PIL Image or Torch Tensor) – Image to be adjusted.

                                                            • saturation_factor (float) – How much to adjust the saturation. 0 will give a black and white image, 1 will give the original image while 2 will enhance the saturation by a factor of 2.

                                                            • @@ -1151,61 +1116,51 @@

                                                              Functional Transforms

                                                              Saturation adjusted image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image or Torch Tensor

                                                            -torchvision.transforms.functional.affine(img: torch.Tensor, angle: float, translate: List[int], scale: float, shear: List[float], resample: int = 0, fillcolor: Optional[int] = None) → torch.Tensor[source]
                                                            -

                                                            Apply affine transformation on the image keeping image center invariant. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions.

                                                            +torchvision.transforms.functional.affine(img, angle, translate, scale, shear, resample=0, fillcolor=None)[source] +

                                                            Apply affine transformation on the image keeping image center invariant

                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – image to be rotated.

                                                            • +
                                                            • img (PIL Image) – PIL Image to be rotated.

                                                            • angle (float or int) – rotation angle in degrees between -180 and 180, clockwise direction.

                                                            • translate (list or tuple of python:integers) – horizontal and vertical translations (post-rotation translation)

                                                            • scale (float) – overall scale

                                                            • -
                                                            • shear (float or tuple or list) – shear angle value in degrees between -180 to 180, clockwise direction. -If a tuple of list is specified, the first value corresponds to a shear parallel to the x axis, while -the second value corresponds to a shear parallel to the y axis.

                                                            • -
                                                            • resample (PIL.Image.NEAREST or PIL.Image.BILINEAR or PIL.Image.BICUBIC, optional) – An optional resampling filter. See filters for more information. -If omitted, or if the image is PIL Image and has mode “1” or “P”, it is set to PIL.Image.NEAREST. -If input is Tensor, only PIL.Image.NEAREST and PIL.Image.BILINEAR are supported.

                                                            • +
                                                            • shear (float or tuple or list) – shear angle value in degrees between -180 to 180, clockwise direction.

                                                            • +
                                                            • a tuple of list is specified, the first value corresponds to a shear parallel to the x axis, while (If) –

                                                            • +
                                                            • second value corresponds to a shear parallel to the y axis. (the) –

                                                            • +
                                                            • resample (PIL.Image.NEAREST or PIL.Image.BILINEAR or PIL.Image.BICUBIC, optional) – An optional resampling filter. +See filters for more information. +If omitted, or if the image has mode “1” or “P”, it is set to PIL.Image.NEAREST.

                                                            • fillcolor (int) – Optional fill color for the area outside the transform in the output image. (Pillow>=5.0.0)

                                                            -
                                                            Returns
                                                            -

                                                            Transformed image.

                                                            -
                                                            -
                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            -
                                                            -torchvision.transforms.functional.center_crop(img: torch.Tensor, output_size: List[int]) → torch.Tensor[source]
                                                            -

                                                            Crops the given image at the center. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +torchvision.transforms.functional.center_crop(img, output_size)[source] +

                                                            Crop the given PIL Image and resize it to desired size.

                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be cropped.

                                                            • -
                                                            • output_size (sequence or int) – (height, width) of the crop box. If int or sequence with single int -it is used for both directions.

                                                            • +
                                                            • img (PIL Image) – Image to be cropped. (0,0) denotes the top left corner of the image.

                                                            • +
                                                            • output_size (sequence or int) – (height, width) of the crop box. If int, +it is used for both directions

                                                            Returns

                                                            Cropped image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image

                                                            @@ -1245,15 +1200,12 @@

                                                            Functional Transforms
                                                            -torchvision.transforms.functional.crop(img: torch.Tensor, top: int, left: int, height: int, width: int) → torch.Tensor[source]
                                                            -

                                                            Crop the given image at specified location and output size. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading -dimensions

                                                            +torchvision.transforms.functional.crop(img, top, left, height, width)[source] +

                                                            Crop the given PIL Image.

                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be cropped. (0,0) denotes the top left corner of the image.

                                                            • +
                                                            • img (PIL Image) – Image to be cropped. (0,0) denotes the top left corner of the image.

                                                            • top (int) – Vertical component of the top left corner of the crop box.

                                                            • left (int) – Horizontal component of the top left corner of the crop box.

                                                            • height (int) – Height of the crop box.

                                                            • @@ -1264,14 +1216,14 @@

                                                              Functional Transforms

                                                              Cropped image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image

                                                            -torchvision.transforms.functional.erase(img: torch.Tensor, i: int, j: int, h: int, w: int, v: torch.Tensor, inplace: bool = False) → torch.Tensor[source]
                                                            +torchvision.transforms.functional.erase(img, i, j, h, w, v, inplace=False)[source]

                                                            Erase the input Tensor Image with given value.

                                                            Parameters
                                                            @@ -1296,10 +1248,8 @@

                                                            Functional Transforms
                                                            -torchvision.transforms.functional.five_crop(img: torch.Tensor, size: List[int]) → Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor][source]
                                                            -

                                                            Crop the given image into four corners and the central crop. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +torchvision.transforms.functional.five_crop(img, size)[source] +

                                                            Crop the given PIL Image into four corners and the central crop.

                                                            Note

                                                            This transform returns a tuple of images and there may be a @@ -1307,12 +1257,9 @@

                                                            Functional Transforms
                                                            Parameters
                                                            -
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be cropped.

                                                            • -
                                                            • size (sequence or int) – Desired output size of the crop. If size is an +

                                                              size (sequence or int) – Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is -made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]).

                                                            • -
                                                            +made.

                                                            Returns

                                                            @@ -1330,10 +1277,10 @@

                                                            Functional Transforms
                                                            torchvision.transforms.functional.hflip(img: torch.Tensor) → torch.Tensor[source]
                                                            -

                                                            Horizontally flip the given PIL Image or Tensor.

                                                            +

                                                            Horizontally flip the given PIL Image or torch Tensor.

                                                            Parameters
                                                            -

                                                            img (PIL Image or Tensor) – Image to be flipped. If img +

                                                            img (PIL Image or Torch Tensor) – Image to be flipped. If img is a Tensor, it is expected to be in […, H, W] format, where … means it can have an arbitrary number of trailing dimensions.

                                                            @@ -1342,7 +1289,7 @@

                                                            Functional Transforms

                                                            Horizontally flipped image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image

                                                            @@ -1376,25 +1323,21 @@

                                                            Functional Transforms
                                                            -torchvision.transforms.functional.pad(img: torch.Tensor, padding: List[int], fill: int = 0, padding_mode: str = 'constant') → torch.Tensor[source]
                                                            -

                                                            Pad the given image on all sides with the given “pad” value. -The image can be a PIL Image or a torch Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +torchvision.transforms.functional.pad(img, padding, fill=0, padding_mode='constant')[source] +

                                                            Pad the given PIL Image on all sides with specified padding mode and fill value.

                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be padded.

                                                            • -
                                                            • padding (int or tuple or list) – Padding on each border. If a single int is provided this +

                                                            • img (PIL Image) – Image to be padded.

                                                            • +
                                                            • padding (int or tuple) – Padding on each border. If a single int is provided this is used to pad all borders. If tuple of length 2 is provided this is the padding on left/right and top/bottom respectively. If a tuple of length 4 is provided -this is the padding for the left, top, right and bottom borders respectively. -In torchscript mode padding as single int is not supported, use a tuple or -list of length 1: [padding, ].

                                                            • -
                                                            • fill (int or str or tuple) – Pixel fill value for constant fill. Default is 0. If a tuple of +this is the padding for the left, top, right and bottom borders +respectively.

                                                            • +
                                                            • fill – Pixel fill value for constant fill. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively. -This value is only used when the padding_mode is constant. Only int value is supported for Tensors.

                                                            • -
                                                            • padding_mode

                                                              Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant. -Mode symmetric is not yet supported for Tensor inputs.

                                                              +This value is only used when the padding_mode is constant

                                                            • +
                                                            • padding_mode

                                                              Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant.

                                                              • constant: pads with a constant value, this value is specified with fill

                                                              • edge: pads with the last value on the edge of the image

                                                              • @@ -1418,7 +1361,7 @@

                                                                Functional Transforms

                                                                Padded image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image

                                                            @@ -1468,62 +1411,55 @@

                                                            Functional Transforms
                                                            -torchvision.transforms.functional.resize(img: torch.Tensor, size: List[int], interpolation: int = 2) → torch.Tensor[source]
                                                            -

                                                            Resize the input image to the given size. -The image can be a PIL Image or a torch Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +torchvision.transforms.functional.resize(img, size, interpolation=2)[source] +

                                                            Resize the input PIL Image to the given size.

                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be resized.

                                                            • +
                                                            • img (PIL Image) – Image to be resized.

                                                            • size (sequence or int) – Desired output size. If size is a sequence like (h, w), the output size will be matched to this. If size is an int, the smaller edge of the image will be matched to this number maintaining the aspect ratio. i.e, if height > width, then image will be rescaled to -(size×heightwidth,size)\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right) -. -In torchscript mode padding as single int is not supported, use a tuple or -list of length 1: [size, ].

                                                            • -
                                                            • interpolation (int, optional) – Desired interpolation enum defined by filters. -Default is PIL.Image.BILINEAR. If input is Tensor, only PIL.Image.NEAREST, PIL.Image.BILINEAR -and PIL.Image.BICUBIC are supported.

                                                            • +(size×heightwidth,size)\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right) + +

                                                              +
                                                            • interpolation (int, optional) – Desired interpolation. Default is +PIL.Image.BILINEAR

                                                            Returns

                                                            Resized image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image

                                                            -torchvision.transforms.functional.resized_crop(img: torch.Tensor, top: int, left: int, height: int, width: int, size: List[int], interpolation: int = 2) → torch.Tensor[source]
                                                            -

                                                            Crop the given image and resize it to desired size. -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +torchvision.transforms.functional.resized_crop(img, top, left, height, width, size, interpolation=2)[source] +

                                                            Crop the given PIL Image and resize it to desired size.

                                                            Notably used in RandomResizedCrop.

                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be cropped. (0,0) denotes the top left corner of the image.

                                                            • +
                                                            • img (PIL Image) – Image to be cropped. (0,0) denotes the top left corner of the image.

                                                            • top (int) – Vertical component of the top left corner of the crop box.

                                                            • left (int) – Horizontal component of the top left corner of the crop box.

                                                            • height (int) – Height of the crop box.

                                                            • width (int) – Width of the crop box.

                                                            • size (sequence or int) – Desired output size. Same semantics as resize.

                                                            • -
                                                            • interpolation (int, optional) – Desired interpolation enum defined by filters. -Default is PIL.Image.BILINEAR. If input is Tensor, only PIL.Image.NEAREST, PIL.Image.BILINEAR -and PIL.Image.BICUBIC are supported.

                                                            • +
                                                            • interpolation (int, optional) – Desired interpolation. Default is +PIL.Image.BILINEAR.

                                                            Returns

                                                            Cropped image.

                                                            Return type
                                                            -

                                                            PIL Image or Tensor

                                                            +

                                                            PIL Image

                                                            @@ -1556,12 +1492,10 @@

                                                            Functional Transforms
                                                            -torchvision.transforms.functional.ten_crop(img: torch.Tensor, size: List[int], vertical_flip: bool = False) → List[torch.Tensor][source]
                                                            -

                                                            Generate ten cropped images from the given image. -Crop the given image into four corners and the central crop plus the -flipped version of these (horizontal flipping is used by default). -The image can be a PIL Image or a Tensor, in which case it is expected -to have […, H, W] shape, where … means an arbitrary number of leading dimensions

                                                            +torchvision.transforms.functional.ten_crop(img, size, vertical_flip=False)[source] +

                                                            Generate ten cropped images from the given PIL Image. +Crop the given PIL Image into four corners and the central crop plus the +flipped version of these (horizontal flipping is used by default).

                                                            Note

                                                            This transform returns a tuple of images and there may be a @@ -1570,10 +1504,9 @@

                                                            Functional Transforms
                                                            Parameters
                                                              -
                                                            • img (PIL Image or Tensor) – Image to be cropped.

                                                            • size (sequence or int) – Desired output size of the crop. If size is an int instead of sequence like (h, w), a square crop (size, size) is -made. If provided a tuple or list of length 1, it will be interpreted as (size[0], size[0]).

                                                            • +made.

                                                            • vertical_flip (bool) – Use vertical flipping instead of horizontal

                                                            @@ -1660,7 +1593,7 @@

                                                            Functional Transforms

                                                            Vertically flip the given PIL Image or torch Tensor.

                                                            Parameters
                                                            -

                                                            img (PIL Image or Tensor) – Image to be flipped. If img +

                                                            img (PIL Image or Torch Tensor) – Image to be flipped. If img is a Tensor, it is expected to be in […, H, W] format, where … means it can have an arbitrary number of trailing dimensions.

                                                          • floor_divide_() (torch.Tensor method) -
                                                          • -
                                                          • flush() (torch.utils.tensorboard.writer.SummaryWriter method)
                                                          • fmod() (in module torch) @@ -4842,7 +4806,7 @@

                                                            S

                                                          • (torch.Tensor method)
                                                          • -
                                                          • sorted_indices (torch.nn.utils.rnn.PackedSequence attribute) +
                                                          • sorted_indices() (torch.nn.utils.rnn.PackedSequence property)
                                                          • spadd() (torch.sparse.FloatTensor method)
                                                          • @@ -5031,8 +4995,6 @@

                                                            S

                                                          • sum_to_size() (torch.Tensor method) -
                                                          • -
                                                          • SummaryWriter (class in torch.utils.tensorboard.writer)
                                                          • support (torch.distributions.bernoulli.Bernoulli attribute) @@ -5506,7 +5468,7 @@

                                                            U

                                                          • unscale_() (torch.cuda.amp.GradScaler method)
                                                          • -
                                                          • unsorted_indices (torch.nn.utils.rnn.PackedSequence attribute) +
                                                          • unsorted_indices() (torch.nn.utils.rnn.PackedSequence property)
                                                            • diff --git a/docs/stable/jit_builtin_functions.html b/docs/stable/jit_builtin_functions.html index d6449b988eb2..a5c877476e56 100644 --- a/docs/stable/jit_builtin_functions.html +++ b/docs/stable/jit_builtin_functions.html @@ -7640,7 +7640,7 @@

                                                            float

                                                            float

                                                            __float__

                                                            int

                                                            nn.LogSoftmax

                                                            Applies the log(Softmax(x))\log(\text{Softmax}(x)) +

                                                            Applies the log(Softmax(x))\log(\text{Softmax}(x)) + function to an n-dimensional input Tensor.

                                                            nn.AdaptiveLogSoftmaxWithLoss

                                                            nn.RNN

                                                            Applies a multi-layer Elman RNN with tanh\tanh - or ReLU\text{ReLU} +

                                                            Applies a multi-layer Elman RNN with tanh\tanh + + or ReLU\text{ReLU} + non-linearity to an input sequence.

                                                            nn.LSTM

                                                            nn.Linear

                                                            Applies a linear transformation to the incoming data: y=xAT+by = xA^T + b +

                                                            Applies a linear transformation to the incoming data: y=xAT+by = xA^T + b +

                                                            nn.Bilinear

                                                            Applies a bilinear transformation to the incoming data: y=x1TAx2+by = x_1^T A x_2 + b +

                                                            Applies a bilinear transformation to the incoming data: y=x1TAx2+by = x_1^T A x_2 + b +

                                                            nn.Dropout2d

                                                            Randomly zero out entire channels (a channel is a 2D feature map, e.g., the jj --th channel of the ii --th sample in the batched input is a 2D tensor input[i,j]\text{input}[i, j] +

                                                            Randomly zero out entire channels (a channel is a 2D feature map, e.g., the jj + +-th channel of the ii + +-th sample in the batched input is a 2D tensor input[i,j]\text{input}[i, j] + ).

                                                            nn.Dropout3d

                                                            Randomly zero out entire channels (a channel is a 3D feature map, e.g., the jj --th channel of the ii --th sample in the batched input is a 3D tensor input[i,j]\text{input}[i, j] +

                                                            Randomly zero out entire channels (a channel is a 3D feature map, e.g., the jj + +-th channel of the ii + +-th sample in the batched input is a 3D tensor input[i,j]\text{input}[i, j] + ).

                                                            nn.AlphaDropout

                                                            nn.CosineSimilarity

                                                            Returns cosine similarity between x1x_1 - and x2x_2 +

                                                            Returns cosine similarity between x1x_1 + + and x2x_2 + , computed along dim.

                                                            nn.PairwiseDistance

                                                            Computes the batchwise pairwise distance between vectors v1v_1 -, v2v_2 +

                                                            Computes the batchwise pairwise distance between vectors v1v_1 + +, v2v_2 + using the p-norm:

                                                            nn.L1Loss

                                                            Creates a criterion that measures the mean absolute error (MAE) between each element in the input xx - and target yy +

                                                            Creates a criterion that measures the mean absolute error (MAE) between each element in the input xx + + and target yy + .

                                                            nn.MSELoss

                                                            Creates a criterion that measures the mean squared error (squared L2 norm) between each element in the input xx - and target yy +

                                                            Creates a criterion that measures the mean squared error (squared L2 norm) between each element in the input xx + + and target yy + .

                                                            nn.CrossEntropyLoss

                                                            nn.MarginRankingLoss

                                                            Creates a criterion that measures the loss given inputs x1x1 -, x2x2 -, two 1D mini-batch Tensors, and a label 1D mini-batch tensor yy +

                                                            Creates a criterion that measures the loss given inputs x1x1 + +, x2x2 + +, two 1D mini-batch Tensors, and a label 1D mini-batch tensor yy + (containing 1 or -1).

                                                            nn.HingeEmbeddingLoss

                                                            Measures the loss given an input tensor xx - and a labels tensor yy +

                                                            Measures the loss given an input tensor xx + + and a labels tensor yy + (containing 1 or -1).

                                                            nn.MultiLabelMarginLoss

                                                            Creates a criterion that optimizes a multi-class multi-classification hinge loss (margin-based loss) between input xx - (a 2D mini-batch Tensor) and output yy +

                                                            Creates a criterion that optimizes a multi-class multi-classification hinge loss (margin-based loss) between input xx + + (a 2D mini-batch Tensor) and output yy + (which is a 2D Tensor of target class indices).

                                                            nn.SmoothL1Loss

                                                            Creates a criterion that uses a squared term if the absolute element-wise error falls below 1 and an L1 term otherwise.

                                                            nn.SoftMarginLoss

                                                            Creates a criterion that optimizes a two-class classification logistic loss between input tensor xx - and target tensor yy +

                                                            Creates a criterion that optimizes a two-class classification logistic loss between input tensor xx + + and target tensor yy + (containing 1 or -1).

                                                            nn.MultiLabelSoftMarginLoss

                                                            Creates a criterion that optimizes a multi-label one-versus-all loss based on max-entropy, between input xx - and target yy - of size (N,C)(N, C) +

                                                            Creates a criterion that optimizes a multi-label one-versus-all loss based on max-entropy, between input xx + + and target yy + + of size (N,C)(N, C) + .

                                                            nn.CosineEmbeddingLoss

                                                            Creates a criterion that measures the loss given input tensors x1x_1 -, x2x_2 - and a Tensor label yy +

                                                            Creates a criterion that measures the loss given input tensors x1x_1 + +, x2x_2 + + and a Tensor label yy + with values 1 or -1.

                                                            nn.MultiMarginLoss

                                                            Creates a criterion that optimizes a multi-class classification hinge loss (margin-based loss) between input xx - (a 2D mini-batch Tensor) and output yy - (which is a 1D tensor of target class indices, 0yx.size(1)10 \leq y \leq \text{x.size}(1)-1 +

                                                            Creates a criterion that optimizes a multi-class classification hinge loss (margin-based loss) between input xx + + (a 2D mini-batch Tensor) and output yy + + (which is a 1D tensor of target class indices, 0yx.size(1)10 \leq y \leq \text{x.size}(1)-1 + ):

                                                            nn.TripletMarginLoss

                                                            Creates a criterion that measures the triplet loss given an input tensors x1x1 -, x2x2 -, x3x3 - and a margin with a value greater than 00 +

                                                            Creates a criterion that measures the triplet loss given an input tensors x1x1 + +, x2x2 + +, x3x3 + + and a margin with a value greater than 00 + .

                                                            nn.PixelShuffle

                                                            Rearranges elements in a tensor of shape (,C×r2,H,W)(*, C \times r^2, H, W) - to a tensor of shape (,C,H×r,W×r)(*, C, H \times r, W \times r) +

                                                            Rearranges elements in a tensor of shape (,C×r2,H,W)(*, C \times r^2, H, W) + + to a tensor of shape (,C,H×r,W×r)(*, C, H \times r, W \times r) + .

                                                            nn.Upsample

                                                            Linear / Identity

                                                            11 +

                                                            11 +

                                                            Conv{1,2,3}D

                                                            11 +

                                                            11 +

                                                            Sigmoid

                                                            11 +

                                                            11 +

                                                            Tanh

                                                            53\frac{5}{3} +

                                                            53\frac{5}{3} +

                                                            ReLU

                                                            2\sqrt{2} +

                                                            2\sqrt{2} +

                                                            Leaky Relu

                                                            21+negative_slope2\sqrt{\frac{2}{1 + \text{negative\_slope}^2}} +

                                                            21+negative_slope2\sqrt{\frac{2}{1 + \text{negative\_slope}^2}} +

                                                            arange

                                                            Returns a 1-D tensor of size endstartstep\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil +

                                                            Returns a 1-D tensor of size endstartstep\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil + with values from the interval [start, end) taken with common difference step beginning from start.

                                                            range

                                                            Returns a 1-D tensor of size endstartstep+1\left\lfloor \frac{\text{end} - \text{start}}{\text{step}} \right\rfloor + 1 +

                                                            Returns a 1-D tensor of size endstartstep+1\left\lfloor \frac{\text{end} - \text{start}}{\text{step}} \right\rfloor + 1 + with values from start to end with step step.

                                                            linspace

                                                            Returns a one-dimensional tensor of steps equally spaced points between start and end.

                                                            logspace

                                                            Returns a one-dimensional tensor of steps points logarithmically spaced with base base between basestart{\text{base}}^{\text{start}} - and baseend{\text{base}}^{\text{end}} +

                                                            Returns a one-dimensional tensor of steps points logarithmically spaced with base base between basestart{\text{base}}^{\text{start}} + + and baseend{\text{base}}^{\text{end}} + .

                                                            eye

                                                            rand

                                                            Returns a tensor filled with random numbers from a uniform distribution on the interval [0,1)[0, 1) +

                                                            Returns a tensor filled with random numbers from a uniform distribution on the interval [0,1)[0, 1) +

                                                            rand_like

                                                            Returns a tensor with the same size as input that is filled with random numbers from a uniform distribution on the interval [0,1)[0, 1) +

                                                            Returns a tensor with the same size as input that is filled with random numbers from a uniform distribution on the interval [0,1)[0, 1) + .

                                                            randint

                                                            atan2

                                                            Element-wise arctangent of inputi/otheri\text{input}_{i} / \text{other}_{i} +

                                                            Element-wise arctangent of inputi/otheri\text{input}_{i} / \text{other}_{i} + with consideration of the quadrant.

                                                            bitwise_not

                                                            mvlgamma

                                                            Computes the multivariate log-gamma function) with dimension pp +

                                                            Computes the multivariate log-gamma function) with dimension pp + element-wise, given by

                                                            neg

                                                            Returns a new tensor with the negative of the elements of input.

                                                            polygamma

                                                            Computes the nthn^{th} +

                                                            Computes the nthn^{th} + derivative of the digamma function on input.

                                                            pow

                                                            ge

                                                            Computes inputother\text{input} \geq \text{other} +

                                                            Computes inputother\text{input} \geq \text{other} + element-wise.

                                                            gt

                                                            Computes input>other\text{input} > \text{other} +

                                                            Computes input>other\text{input} > \text{other} + element-wise.

                                                            isclose

                                                            le

                                                            Computes inputother\text{input} \leq \text{other} +

                                                            Computes inputother\text{input} \leq \text{other} + element-wise.

                                                            lt

                                                            Computes input<other\text{input} < \text{other} +

                                                            Computes input<other\text{input} < \text{other} + element-wise.

                                                            max

                                                            ne

                                                            Computes inputotherinput \neq other +

                                                            Computes inputotherinput \neq other + element-wise.

                                                            sort

                                                            combinations

                                                            Compute combinations of length rr +

                                                            Compute combinations of length rr + of the given tensor.

                                                            cross

                                                            meshgrid

                                                            Take NN - tensors, each of which can be either scalar or 1-dimensional vector, and create NN - N-dimensional grids, where the ii - th grid is defined by expanding the ii +

                                                            Take NN + + tensors, each of which can be either scalar or 1-dimensional vector, and create NN + + N-dimensional grids, where the ii + + th grid is defined by expanding the ii + th input over dimensions defined by other inputs.

                                                            logcumsumexp

                                                            chain_matmul

                                                            Returns the matrix product of the NN +

                                                            Returns the matrix product of the NN + 2-D tensors.

                                                            cholesky

                                                            Computes the Cholesky decomposition of a symmetric positive-definite matrix AA +

                                                            Computes the Cholesky decomposition of a symmetric positive-definite matrix AA + or for batches of symmetric positive-definite matrices.

                                                            cholesky_inverse

                                                            Computes the inverse of a symmetric positive-definite matrix AA - using its Cholesky factor uu +

                                                            Computes the inverse of a symmetric positive-definite matrix AA + + using its Cholesky factor uu + : returns matrix inv.

                                                            cholesky_solve

                                                            Solves a linear system of equations with a positive semidefinite matrix to be inverted given its Cholesky factor matrix uu +

                                                            Solves a linear system of equations with a positive semidefinite matrix to be inverted given its Cholesky factor matrix uu + .

                                                            dot

                                                            lstsq

                                                            Computes the solution to the least squares and least norm problems for a full rank matrix AA - of size (m×n)(m \times n) - and a matrix BB - of size (m×k)(m \times k) +

                                                            Computes the solution to the least squares and least norm problems for a full rank matrix AA + + of size (m×n)(m \times n) + + and a matrix BB + + of size (m×k)(m \times k) + .

                                                            lu

                                                            Computes the LU factorization of a matrix or batches of matrices A.

                                                            lu_solve

                                                            Returns the LU solve of the linear system Ax=bAx = b +

                                                            Returns the LU solve of the linear system Ax=bAx = b + using the partially pivoted LU factorization of A from torch.lu().

                                                            lu_unpack

                                                            qr

                                                            Computes the QR decomposition of a matrix or a batch of matrices input, and returns a namedtuple (Q, R) of tensors such that input=QR\text{input} = Q R - with QQ - being an orthogonal matrix or batch of orthogonal matrices and RR +

                                                            Computes the QR decomposition of a matrix or a batch of matrices input, and returns a namedtuple (Q, R) of tensors such that input=QR\text{input} = Q R + + with QQ + + being an orthogonal matrix or batch of orthogonal matrices and RR + being an upper triangular matrix or batch of upper triangular matrices.

                                                            solve

                                                            This function returns the solution to the system of linear equations represented by AX=BAX = B +

                                                            This function returns the solution to the system of linear equations represented by AX=BAX = B + and the LU factorization of A, in order as a namedtuple solution, LU.

                                                            svd

                                                            This function returns a namedtuple (U, S, V) which is the singular value decomposition of a input real matrix or batches of real matrices input such that input=U×diag(S)×VTinput = U \times diag(S) \times V^T +

                                                            This function returns a namedtuple (U, S, V) which is the singular value decomposition of a input real matrix or batches of real matrices input such that input=U×diag(S)×VTinput = U \times diag(S) \times V^T + .

                                                            svd_lowrank

                                                            Return the singular value decomposition (U, S, V) of a matrix, batches of matrices, or a sparse matrix AA - such that AUdiag(S)VTA \approx U diag(S) V^T +

                                                            Return the singular value decomposition (U, S, V) of a matrix, batches of matrices, or a sparse matrix AA + + such that AUdiag(S)VTA \approx U diag(S) V^T + .

                                                            pca_lowrank

                                                            trapz

                                                            Estimate ydx\int y\,dx +

                                                            Estimate ydx\int y\,dx + along dim, using the trapezoid rule.

                                                            triangular_solve

                                                            Solves a system of equations with a triangular coefficient matrix AA - and multiple right-hand sides bb +

                                                            Solves a system of equations with a triangular coefficient matrix AA + + and multiple right-hand sides bb + .

  • torch.utils.data.distributed