PyTorch

To use SOL in PyTorch just import the package and optimize the model using sol.optimize(model).

import torch
import sol
import torchvision.models as models

''' Optimizing Model '''
py_model  = models.__dict__["alexnet"]()
input	  = torch.rand(32, 3, 224, 224)

sol_model = sol.optimize(py_model)

''' Run training '''
sol_model.train()

# You cannot initialize the optimizer at this point. You need to wait until
# you have executed the model at least once, so SOL has compiled it.
optimizer = None
for batch in ...:
	input, target = ...
	output = sol_model(input)
	loss = loss_func(output, target)
	# After running the model once, you can safely initialize the optimizer
	if optimizer is None:
		optimizer = torch.optim.Adam(sol_model.parameters(), ...)
	optimizer.zero_grad()
	loss.backward()
	optimizer.step()
	...

''' Run validation '''
sol_model.eval()
with torch.no_grad():
	for batch in ...:
		input = ...
		output = sol_model(input)
		...

This example requires the torchvision package: https://github.com/pytorch/vision/ .

In v0.5.1 we added an lazy evaluation of sol.optimize(...) which removes the necessity to provide an example input. The model instead gets created the first time it gets executed.

By default SOL only optimized the primary execution of the model model(input). If you want to optimize helper functions such as model.predict(...) you need optimize these separately using:

model.predict = torch.compile(model.predict, backend='sol')

Optimizing helper functions requires PyTorch v2. You can also not use sol.optimize(...) as model.predict is a function, not a model and sol.optimize will not be able to identify the correct parser automatically.

PyTorch specific options for sol.optimize

Option Default Effect
parser None compile: always uses torch.compile, jit: always uses torch.jit.script or torch.jit.trace, symbolic: always uses torch.fx.symbolic_trace, None: automatically determines which to use. Using torch.compile can add additional overhead to the execution time.
trace False When not using torch.compile, enforces using torch.jit.trace. By default uses torch.jit.script.
strict False When using torch.jit.trace, sets the strict argument.
check_trace False When using torch.jit.trace, sets the check_trace argument.
mode None When set to ‘reduce-overhead’ uses CUDAGraphs on NVIDIA GPUs.

F.A.Q.

How can I use CUDA Graphs with SOL and PyTorch?

CUDA Graphs support is still experimental in SOL!

CUDA Graphs allow to significantly reduce the overhead when running GPU workloads but come with some restrictions, e.g., no changing dimensions can be used. For more information on CUDA Graphs please refer to this blog post.

To use CUDA Graphs in SOL, just use:

sol_model = sol.optimize(pytorch_model, mode='reduce-overhead')
# or
sol_model = torch.compile(pytorch_model, mode='reduce-overhead', backend='sol')
I get the error `Unsupported at::Device: cuda:0`?

This error is raised when SOL was unable to find the CUDA toolkit and you try to execute a model on an NVIDIA GPU. Please verify that SOL is able to find the CUDA toolkit by setting the CUDA_HOME env var.

How do I store/load a Pytorch model?

For storing/loading a SOL PyTorch model, use model.state_dict() and model.load_state_dict(...) methods.

# Storing
sol_model = sol.optimize(pytorch_model, [...])
torch.save(sol_model.state_dict(), PATH)

# Loading
sol_model = sol.optimize(pytorch_model)
sol_model.load_state_dict(torch.load(PATH))

More information on loading/storing the weights can be found here

Can I use torch.compile(...) with SOL?

Yes, with SOL ≥ v0.5.2 and PyTorch ≥ 2.0 you can use torch.compile(model, backend=‘sol’) with SOL! For PyTorch < 2.6 you also need to manually import import sol.pytorch to ensure that SOL is correctly registered as backend into PyTorch.

I get strange errors when running sol.optimize(model, ...), e.g., in Huggingface Transformers.

Please read this guide how to convert the transformer into a TorchScript compatible model.

How can I update/downgrade to another PyTorch version?

Before switching version, please have a look at the compatibility list if your PyTorch version is supported by SOL. If yes, and if you are using SOL with the NEC SX-Aurora TSUBASA, you can switch PyTorch using pip3 install veda-pytorch~={VERSION}. If you are using SOL with any other device, then you can just use pip3 install torch~={VERSION}.

The SOL model returns more outputs than the PyTorch model.

This error occurs, i.e., in TorchVisions Inception V3 or GoogleNet. These models return 1 output in inference and 2 outputs in training mode. SOL relies on the TorchScript parser. Unfortunately the TorchVision models are build in a way that hides the change of output behavior from TorchScript. However, you can implement this yourself as follows:

from torchvision import models

class Wrap(torch.nn.Module):
	def __init__(self, model):
		super().__init__()
		self.model = model

	def forward(self, x):
		out = self.model(x)
		if torch.jit.is_scripting():
			return (out[0], out[1]) if self.training else (out[0], None)
		return (out[0], out[1]) if self.training else (out, None)

model = Wrap(models.inception_v3())

# use only one output
model.training = False
sol_model = sol.optimize(model, ...)

# use two outputs
model.training = True
sol_model = sol.optimize(model, ...)

SOL currently does not support to dynamically switch between these two modes and requires to compile the model for each mode separately.

How can I use Pytorch Lightning with SOL?

You can just pass your Pytorch Lightning model to SOL’s sol.optimize(...) method.

class ResNet50(L.LightningModule):
	def __init__(self):
		super().__init__()
		self.model = sol.optimize(torchvision.models.resnet50())

	def training_step(self, batch, batch_idx):
		...
	
	def configure_optimizers(self):
		...
Can I implement custom layers using SOL?

Please refer to Custom Layers.

I get NotImplementedError: Could not run 'aten::addmm.out' with arguments from the 'VE' backend.' when trying to run an RNN on VE.

Most likely you have used torch.compile(model, backend=“sol”) on an RNN model. Due to this open issue it’s impossible to compile RNNs using the torch.compile API. Please use sol.optimize(model, parser=‘jit’) instead.

Tested Models

TorchVision v0.21.0

  • alexnet
  • convnext_base
  • convnext_large
  • convnext_small
  • convnext_tiny
  • deeplabv3_mobilenet_v3_large
  • deeplabv3_resnet101
  • deeplabv3_resnet50
  • densenet121
  • densenet161
  • densenet169
  • densenet201
  • efficientnet_b0
  • efficientnet_b1
  • efficientnet_b2
  • efficientnet_b3
  • efficientnet_b4
  • efficientnet_b5
  • efficientnet_b6
  • efficientnet_b7
  • efficientnet_v2_l
  • efficientnet_v2_m
  • efficientnet_v2_s
  • fcn_resnet101
  • fcn_resnet50
  • googlenet
  • inception_v3
  • lraspp_mobilenet_v3_large
  • maxvit_t
  • mc3_18
  • mnasnet0_5
  • mnasnet0_75
  • mnasnet1_0
  • mnasnet1_3
  • mobilenet_v2
  • mobilenet_v3_large
  • mobilenet_v3_small
  • mvit_v1_b
  • quantized_googlenet
  • quantized_inception_v3
  • quantized_mobilenet_v2
  • quantized_mobilenet_v3_large
  • quantized_resnet18
  • quantized_resnet50
  • quantized_resnext101_32x8d
  • quantized_resnext101_64x4d
  • quantized_shufflenet_v2_x0_5
  • quantized_shufflenet_v2_x1_0
  • quantized_shufflenet_v2_x1_5
  • quantized_shufflenet_v2_x2_0
  • r2plus1d_18
  • r3d_18
  • regnet_x_16gf
  • regnet_x_1_6gf
  • regnet_x_32gf
  • regnet_x_3_2gf
  • regnet_x_400mf
  • regnet_x_800mf
  • regnet_x_8gf
  • regnet_y_128gf
  • regnet_y_16gf
  • regnet_y_1_6gf
  • regnet_y_32gf
  • regnet_y_3_2gf
  • regnet_y_400mf
  • regnet_y_800mf
  • regnet_y_8gf
  • resnet101
  • resnet152
  • resnet18
  • resnet34
  • resnet50
  • resnext101_32x8d
  • resnext101_64x4d
  • resnext50_32x4d
  • s3d
  • shufflenet_v2_x0_5
  • shufflenet_v2_x1_0
  • shufflenet_v2_x1_5
  • shufflenet_v2_x2_0
  • squeezenet1_0
  • squeezenet1_1
  • swin3d_b
  • swin3d_s
  • swin3d_t
  • swin_b
  • swin_s
  • swin_t
  • swin_v2_b
  • swin_v2_s
  • swin_v2_t
  • vgg11
  • vgg11_bn
  • vgg13
  • vgg13_bn
  • vgg16
  • vgg16_bn
  • vgg19
  • vgg19_bn
  • wide_resnet101_2
  • wide_resnet50_2

Transformers v4.49.0

  • Albert
  • Align
  • AltCLIP
  • Bamba
  • Bark
  • Bart
  • Bert
  • BigBird
  • BigBirdPegasus
  • BioGpt
  • Blenderbot
  • BlenderbotSmall
  • Blip2
  • Blip
  • BlipText
  • BlipVision
  • Bloom
  • CLIP
  • CTRL
  • Camembert
  • ChineseCLIP
  • Clap
  • CodeGen
  • ConvNext
  • ConvNextV2
  • DPT
  • Data2VecText
  • Data2VecVision
  • Deberta
  • DebertaV2
  • DecisionTransformerGPT2Model
  • DeiT
  • DiffLlama
  • Dinov2
  • DistilBert
  • DonutSwin
  • EfficientNet
  • Electra
  • Emu3
  • Ernie
  • FNet
  • FastSpeech2Conformer
  • Flaubert
  • Flava
  • FocalNet
  • Fuyu
  • GPT2
  • GPTBigCode
  • GPTJ
  • GPTNeo
  • GPTNeoX
  • GPTNeoXJapanese
  • Gemma2
  • Gemma
  • GitVision
  • Glm
  • GroupViT
  • Helium
  • IBert
  • IJepa
  • ImageGPT
  • InstructBlip
  • LayoutLM
  • Levit
  • Lilt
  • Llama
  • Luke
  • M2M100
  • MBart
  • MPNet
  • MT5
  • Marian
  • MarkupLM
  • MaskFormerSwin
  • MegatronBert
  • Mistral
  • MobileBert
  • MobileNetV1
  • MobileNetV2
  • MobileViT
  • Moshi
  • Mra
  • Mvp
  • NllbMoe
  • Nystromformer
  • OPT
  • Olmo2
  • Olmo
  • OpenAIGPT
  • OwlViT
  • Owlv2
  • PLBart
  • Pegasus
  • PegasusX
  • Persimmon
  • Phi3
  • Phi
  • Pvt
  • Qwen2
  • RemBert
  • RoCBert
  • RoFormer
  • Roberta
  • SamModel
  • SeamlessM4T
  • SeamlessM4Tv2
  • Splinter
  • SqueezeBert
  • StableLm
  • Starcoder2
  • SwiftFormer
  • Swin
  • Swinv2
  • T5
  • TrOCR
  • UMT5
  • ViT
  • VideoLlava
  • VisualBert
  • VitDet
  • Whisper
  • XGLM
  • XLM
  • XLMRoberta
  • XLMRobertaXL
  • Xmod
  • Yoso

TIMM v1.0.14

  • aimv2_1b_patch14_224
  • aimv2_1b_patch14_336
  • aimv2_1b_patch14_448
  • aimv2_3b_patch14_224
  • aimv2_3b_patch14_336
  • aimv2_3b_patch14_448
  • aimv2_huge_patch14_224
  • aimv2_huge_patch14_336
  • aimv2_huge_patch14_448
  • aimv2_large_patch14_224
  • aimv2_large_patch14_336
  • aimv2_large_patch14_448
  • beit_base_patch16_224
  • beit_base_patch16_384
  • beit_large_patch16_224
  • beit_large_patch16_384
  • beit_large_patch16_512
  • beitv2_base_patch16_224
  • beitv2_large_patch16_224
  • botnet26t_256
  • botnet50ts_256
  • caformer_b36
  • caformer_m36
  • caformer_s18
  • caformer_s36
  • cait_m36_384
  • cait_m48_448
  • cait_s24_224
  • cait_s24_384
  • cait_s36_384
  • cait_xs24_384
  • cait_xxs24_224
  • cait_xxs24_384
  • cait_xxs36_224
  • cait_xxs36_384
  • coat_lite_medium
  • coat_lite_medium_384
  • coat_lite_mini
  • coat_lite_small
  • coat_lite_tiny
  • coat_mini
  • coat_small
  • coat_tiny
  • coatnet_0_224
  • coatnet_0_rw_224
  • coatnet_1_224
  • coatnet_1_rw_224
  • coatnet_2_224
  • coatnet_2_rw_224
  • coatnet_3_224
  • coatnet_3_rw_224
  • coatnet_4_224
  • coatnet_5_224
  • coatnet_bn_0_rw_224
  • coatnet_nano_cc_224
  • coatnet_nano_rw_224
  • coatnet_pico_rw_224
  • coatnet_rmlp_0_rw_224
  • coatnet_rmlp_1_rw2_224
  • coatnet_rmlp_1_rw_224
  • coatnet_rmlp_2_rw_224
  • coatnet_rmlp_2_rw_384
  • coatnet_rmlp_3_rw_224
  • coatnet_rmlp_nano_rw_224
  • coatnext_nano_rw_224
  • convformer_b36
  • convformer_m36
  • convformer_s18
  • convformer_s36
  • convit_base
  • convit_small
  • convit_tiny
  • convmixer_1024_20_ks9_p14
  • convmixer_1536_20
  • convmixer_768_32
  • convnext_atto
  • convnext_atto_ols
  • convnext_atto_rms
  • convnext_base
  • convnext_femto
  • convnext_femto_ols
  • convnext_large
  • convnext_large_mlp
  • convnext_nano
  • convnext_nano_ols
  • convnext_pico
  • convnext_pico_ols
  • convnext_small
  • convnext_tiny
  • convnext_tiny_hnf
  • convnext_xlarge
  • convnext_xxlarge
  • convnext_zepto_rms
  • convnext_zepto_rms_ols
  • convnextv2_atto
  • convnextv2_base
  • convnextv2_femto
  • convnextv2_huge
  • convnextv2_large
  • convnextv2_nano
  • convnextv2_pico
  • convnextv2_small
  • convnextv2_tiny
  • cs3darknet_focus_l
  • cs3darknet_focus_m
  • cs3darknet_focus_s
  • cs3darknet_focus_x
  • cs3darknet_l
  • cs3darknet_m
  • cs3darknet_s
  • cs3darknet_x
  • cs3edgenet_x
  • cs3se_edgenet_x
  • cs3sedarknet_l
  • cs3sedarknet_x
  • cs3sedarknet_xdw
  • cspdarknet53
  • cspresnet50
  • cspresnet50d
  • cspresnet50w
  • cspresnext50
  • darknet17
  • darknet21
  • darknet53
  • darknetaa53
  • davit_base
  • davit_base_fl
  • davit_giant
  • davit_huge
  • davit_huge_fl
  • davit_large
  • davit_small
  • davit_tiny
  • deit3_base_patch16_224
  • deit3_base_patch16_384
  • deit3_huge_patch14_224
  • deit3_large_patch16_224
  • deit3_large_patch16_384
  • deit3_medium_patch16_224
  • deit3_small_patch16_224
  • deit3_small_patch16_384
  • deit_base_distilled_patch16_224
  • deit_base_distilled_patch16_384
  • deit_base_patch16_224
  • deit_base_patch16_384
  • deit_small_distilled_patch16_224
  • deit_small_patch16_224
  • deit_tiny_distilled_patch16_224
  • deit_tiny_patch16_224
  • densenet121
  • densenet161
  • densenet169
  • densenet201
  • densenet264d
  • densenetblur121d
  • dla102
  • dla102x
  • dla102x2
  • dla169
  • dla34
  • dla46_c
  • dla46x_c
  • dla60
  • dla60_res2net
  • dla60_res2next
  • dla60x
  • dla60x_c
  • dm_nfnet_f0
  • dm_nfnet_f1
  • dm_nfnet_f2
  • dm_nfnet_f3
  • dm_nfnet_f4
  • dm_nfnet_f5
  • dm_nfnet_f6
  • dpn107
  • dpn131
  • dpn48b
  • dpn68
  • dpn68b
  • dpn92
  • dpn98
  • eca_botnext26ts_256
  • eca_nfnet_l0
  • eca_nfnet_l1
  • eca_nfnet_l2
  • eca_nfnet_l3
  • eca_resnet33ts
  • eca_resnext26ts
  • eca_vovnet39b
  • ecaresnet101d
  • ecaresnet101d_pruned
  • ecaresnet200d
  • ecaresnet269d
  • ecaresnet26t
  • ecaresnet50d
  • ecaresnet50d_pruned
  • ecaresnet50t
  • ecaresnetlight
  • ecaresnext26t_32x4d
  • ecaresnext50t_32x4d
  • edgenext_base
  • edgenext_small
  • edgenext_small_rw
  • edgenext_x_small
  • edgenext_xx_small
  • efficientformer_l1
  • efficientformer_l3
  • efficientformer_l7
  • efficientformerv2_l
  • efficientformerv2_s0
  • efficientformerv2_s1
  • efficientformerv2_s2
  • efficientnet_b0
  • efficientnet_b0_g16_evos
  • efficientnet_b0_g8_gn
  • efficientnet_b0_gn
  • efficientnet_b1
  • efficientnet_b1_pruned
  • efficientnet_b2
  • efficientnet_b2_pruned
  • efficientnet_b3
  • efficientnet_b3_g8_gn
  • efficientnet_b3_gn
  • efficientnet_b3_pruned
  • efficientnet_b4
  • efficientnet_b5
  • efficientnet_b6
  • efficientnet_b7
  • efficientnet_b8
  • efficientnet_blur_b0
  • efficientnet_cc_b0_4e
  • efficientnet_cc_b0_8e
  • efficientnet_cc_b1_8e
  • efficientnet_el
  • efficientnet_el_pruned
  • efficientnet_em
  • efficientnet_es
  • efficientnet_es_pruned
  • efficientnet_h_b5
  • efficientnet_l2
  • efficientnet_lite0
  • efficientnet_lite1
  • efficientnet_lite2
  • efficientnet_lite3
  • efficientnet_lite4
  • efficientnet_x_b3
  • efficientnet_x_b5
  • efficientnetv2_m
  • efficientnetv2_rw_s
  • efficientnetv2_rw_t
  • efficientnetv2_s
  • efficientnetv2_xl
  • efficientvit_b0
  • efficientvit_b1
  • efficientvit_b2
  • efficientvit_b3
  • efficientvit_l1
  • efficientvit_l2
  • efficientvit_l3
  • efficientvit_m0
  • efficientvit_m1
  • efficientvit_m2
  • efficientvit_m3
  • efficientvit_m4
  • efficientvit_m5
  • ese_vovnet19b_dw
  • ese_vovnet19b_slim
  • ese_vovnet19b_slim_dw
  • ese_vovnet39b
  • ese_vovnet39b_evos
  • ese_vovnet57b
  • ese_vovnet99b
  • eva02_base_patch14_224
  • eva02_base_patch14_448
  • eva02_base_patch16_clip_224
  • eva02_enormous_patch14_clip_224
  • eva02_large_patch14_224
  • eva02_large_patch14_448
  • eva02_large_patch14_clip_224
  • eva02_large_patch14_clip_336
  • eva02_small_patch14_224
  • eva02_small_patch14_336
  • eva02_tiny_patch14_224
  • eva02_tiny_patch14_336
  • eva_giant_patch14_224
  • eva_giant_patch14_336
  • eva_giant_patch14_560
  • eva_giant_patch14_clip_224
  • eva_large_patch14_196
  • eva_large_patch14_336
  • fastvit_ma36
  • fastvit_mci0
  • fastvit_mci1
  • fastvit_mci2
  • fastvit_s12
  • fastvit_sa12
  • fastvit_sa24
  • fastvit_sa36
  • fastvit_t12
  • fastvit_t8
  • fbnetc_100
  • fbnetv3_b
  • fbnetv3_d
  • fbnetv3_g
  • flexivit_base
  • flexivit_large
  • flexivit_small
  • focalnet_base_lrf
  • focalnet_base_srf
  • focalnet_huge_fl3
  • focalnet_huge_fl4
  • focalnet_large_fl3
  • focalnet_large_fl4
  • focalnet_small_lrf
  • focalnet_small_srf
  • focalnet_tiny_lrf
  • focalnet_tiny_srf
  • focalnet_xlarge_fl3
  • focalnet_xlarge_fl4
  • gc_efficientnetv2_rw_t
  • gcresnet33ts
  • gcresnet50t
  • gcresnext26ts
  • gcresnext50ts
  • gcvit_base
  • gcvit_small
  • gcvit_tiny
  • gcvit_xtiny
  • gcvit_xxtiny
  • gernet_l
  • gernet_m
  • gernet_s
  • ghostnet_050
  • ghostnet_100
  • ghostnet_130
  • ghostnetv2_100
  • ghostnetv2_130
  • ghostnetv2_160
  • gmixer_12_224
  • gmixer_24_224
  • gmlp_b16_224
  • gmlp_s16_224
  • gmlp_ti16_224
  • hardcorenas_a
  • hardcorenas_b
  • hardcorenas_c
  • hardcorenas_d
  • hardcorenas_e
  • hardcorenas_f
  • hgnet_base
  • hgnet_small
  • hgnet_tiny
  • hgnetv2_b0
  • hgnetv2_b1
  • hgnetv2_b2
  • hgnetv2_b3
  • hgnetv2_b4
  • hgnetv2_b5
  • hgnetv2_b6
  • hrnet_w18
  • hrnet_w18_small
  • hrnet_w18_small_v2
  • hrnet_w18_ssld
  • hrnet_w30
  • hrnet_w32
  • hrnet_w40
  • hrnet_w44
  • hrnet_w48
  • hrnet_w48_ssld
  • hrnet_w64
  • inception_next_atto
  • inception_next_base
  • inception_next_small
  • inception_next_tiny
  • inception_resnet_v2
  • inception_v3
  • inception_v4
  • lcnet_035
  • lcnet_050
  • lcnet_075
  • lcnet_100
  • lcnet_150
  • legacy_senet154
  • legacy_seresnet101
  • legacy_seresnet18
  • legacy_seresnet34
  • legacy_seresnet50
  • legacy_seresnext101_32x4d
  • legacy_seresnext26_32x4d
  • legacy_seresnext50_32x4d
  • legacy_xception
  • levit_128
  • levit_128s
  • levit_192
  • levit_256
  • levit_256d
  • levit_384
  • levit_384_s8
  • levit_512
  • levit_512_s8
  • levit_512d
  • levit_conv_128
  • levit_conv_128s
  • levit_conv_192
  • levit_conv_256
  • levit_conv_256d
  • levit_conv_384
  • levit_conv_384_s8
  • levit_conv_512
  • levit_conv_512_s8
  • levit_conv_512d
  • mambaout_base
  • mambaout_base_plus_rw
  • mambaout_base_short_rw
  • mambaout_base_tall_rw
  • mambaout_base_wide_rw
  • mambaout_femto
  • mambaout_kobe
  • mambaout_small
  • mambaout_small_rw
  • mambaout_tiny
  • maxvit_nano_rw_256
  • maxvit_pico_rw_256
  • maxvit_rmlp_nano_rw_256
  • maxvit_rmlp_pico_rw_256
  • maxvit_rmlp_small_rw_224
  • maxvit_rmlp_small_rw_256
  • maxvit_rmlp_tiny_rw_256
  • maxvit_small_tf_224
  • maxvit_small_tf_384
  • maxvit_small_tf_512
  • maxvit_tiny_pm_256
  • maxvit_tiny_rw_224
  • maxvit_tiny_rw_256
  • maxvit_tiny_tf_224
  • maxvit_tiny_tf_384
  • maxvit_tiny_tf_512
  • maxxvit_rmlp_nano_rw_256
  • maxxvit_rmlp_small_rw_256
  • maxxvit_rmlp_tiny_rw_256
  • maxxvitv2_nano_rw_256
  • maxxvitv2_rmlp_base_rw_224
  • maxxvitv2_rmlp_base_rw_384
  • maxxvitv2_rmlp_large_rw_224
  • mixer_b16_224
  • mixer_b32_224
  • mixer_l16_224
  • mixer_l32_224
  • mixer_s16_224
  • mixer_s32_224
  • mixnet_l
  • mixnet_m
  • mixnet_s
  • mixnet_xl
  • mixnet_xxl
  • mnasnet_050
  • mnasnet_075
  • mnasnet_100
  • mnasnet_140
  • mnasnet_small
  • mobilenet_edgetpu_100
  • mobilenet_edgetpu_v2_l
  • mobilenet_edgetpu_v2_m
  • mobilenet_edgetpu_v2_s
  • mobilenet_edgetpu_v2_xs
  • mobilenetv1_100
  • mobilenetv1_100h
  • mobilenetv1_125
  • mobilenetv2_035
  • mobilenetv2_050
  • mobilenetv2_075
  • mobilenetv2_100
  • mobilenetv2_110d
  • mobilenetv2_120d
  • mobilenetv2_140
  • mobilenetv3_large_075
  • mobilenetv3_large_100
  • mobilenetv3_large_150d
  • mobilenetv3_rw
  • mobilenetv3_small_050
  • mobilenetv3_small_075
  • mobilenetv3_small_100
  • mobilenetv4_conv_aa_large
  • mobilenetv4_conv_aa_medium
  • mobilenetv4_conv_blur_medium
  • mobilenetv4_conv_large
  • mobilenetv4_conv_medium
  • mobilenetv4_conv_small
  • mobilenetv4_conv_small_035
  • mobilenetv4_conv_small_050
  • mobilenetv4_hybrid_large
  • mobilenetv4_hybrid_large_075
  • mobilenetv4_hybrid_medium
  • mobilenetv4_hybrid_medium_075
  • mobileone_s0
  • mobileone_s1
  • mobileone_s2
  • mobileone_s3
  • mobileone_s4
  • mobilevit_s
  • mobilevit_xs
  • mobilevit_xxs
  • mobilevitv2_050
  • mobilevitv2_075
  • mobilevitv2_100
  • mobilevitv2_125
  • mobilevitv2_150
  • mobilevitv2_175
  • mobilevitv2_200
  • mvitv2_base
  • mvitv2_base_cls
  • mvitv2_huge_cls
  • mvitv2_large
  • mvitv2_large_cls
  • mvitv2_small
  • mvitv2_small_cls
  • mvitv2_tiny
  • nasnetalarge
  • nest_base
  • nest_base_jx
  • nest_small
  • nest_small_jx
  • nest_tiny
  • nest_tiny_jx
  • nextvit_base
  • nextvit_large
  • nextvit_small
  • nf_ecaresnet101
  • nf_ecaresnet26
  • nf_ecaresnet50
  • nf_regnet_b0
  • nf_regnet_b1
  • nf_regnet_b2
  • nf_regnet_b3
  • nf_regnet_b4
  • nf_regnet_b5
  • nf_resnet101
  • nf_resnet26
  • nf_resnet50
  • nf_seresnet101
  • nf_seresnet26
  • nf_seresnet50
  • nfnet_f0
  • nfnet_f1
  • nfnet_f2
  • nfnet_f3
  • nfnet_f4
  • nfnet_f5
  • nfnet_f6
  • nfnet_f7
  • nfnet_l0
  • pit_b_224
  • pit_b_distilled_224
  • pit_s_224
  • pit_s_distilled_224
  • pit_ti_224
  • pit_ti_distilled_224
  • pit_xs_224
  • pit_xs_distilled_224
  • pnasnet5large
  • poolformer_m36
  • poolformer_m48
  • poolformer_s12
  • poolformer_s24
  • poolformer_s36
  • poolformerv2_m36
  • poolformerv2_m48
  • poolformerv2_s12
  • poolformerv2_s24
  • poolformerv2_s36
  • pvt_v2_b0
  • pvt_v2_b1
  • pvt_v2_b2
  • pvt_v2_b2_li
  • pvt_v2_b3
  • pvt_v2_b4
  • pvt_v2_b5
  • rdnet_base
  • rdnet_large
  • rdnet_small
  • rdnet_tiny
  • regnetv_040
  • regnetv_064
  • regnetx_002
  • regnetx_004
  • regnetx_004_tv
  • regnetx_006
  • regnetx_008
  • regnetx_016
  • regnetx_032
  • regnetx_040
  • regnetx_064
  • regnetx_080
  • regnetx_120
  • regnetx_160
  • regnetx_320
  • regnety_002
  • regnety_004
  • regnety_006
  • regnety_008
  • regnety_008_tv
  • regnety_016
  • regnety_032
  • regnety_040
  • regnety_040_sgn
  • regnety_064
  • regnety_080
  • regnety_080_tv
  • regnety_120
  • regnety_1280
  • regnety_160
  • regnety_2560
  • regnety_320
  • regnety_640
  • regnetz_005
  • regnetz_040
  • regnetz_040_h
  • regnetz_b16
  • regnetz_b16_evos
  • regnetz_c16
  • regnetz_c16_evos
  • regnetz_d32
  • regnetz_d8
  • regnetz_d8_evos
  • regnetz_e8
  • repghostnet_050
  • repghostnet_058
  • repghostnet_080
  • repghostnet_100
  • repghostnet_111
  • repghostnet_130
  • repghostnet_150
  • repghostnet_200
  • repvgg_a0
  • repvgg_a1
  • repvgg_a2
  • repvgg_b0
  • repvgg_b1
  • repvgg_b1g4
  • repvgg_b2
  • repvgg_b2g4
  • repvgg_b3
  • repvgg_b3g4
  • repvgg_d2se
  • repvit_m0_9
  • repvit_m1
  • repvit_m1_0
  • repvit_m1_1
  • repvit_m1_5
  • repvit_m2
  • repvit_m2_3
  • repvit_m3
  • res2net101_26w_4s
  • res2net101d
  • res2net50_14w_8s
  • res2net50_26w_4s
  • res2net50_26w_6s
  • res2net50_26w_8s
  • res2net50_48w_2s
  • res2net50d
  • res2next50
  • resmlp_12_224
  • resmlp_24_224
  • resmlp_36_224
  • resmlp_big_24_224
  • resnest101e
  • resnest14d
  • resnest200e
  • resnest269e
  • resnest26d
  • resnest50d
  • resnest50d_1s4x24d
  • resnest50d_4s2x40d
  • resnet101
  • resnet101_clip
  • resnet101_clip_gap
  • resnet101c
  • resnet101d
  • resnet101s
  • resnet10t
  • resnet14t
  • resnet152
  • resnet152c
  • resnet152d
  • resnet152s
  • resnet18
  • resnet18d
  • resnet200
  • resnet200d
  • resnet26
  • resnet26d
  • resnet26t
  • resnet32ts
  • resnet33ts
  • resnet34
  • resnet34d
  • resnet50
  • resnet50_clip
  • resnet50_clip_gap
  • resnet50_gn
  • resnet50_mlp
  • resnet50c
  • resnet50d
  • resnet50s
  • resnet50t
  • resnet50x16_clip_gap
  • resnet50x4_clip_gap
  • resnet50x64_clip_gap
  • resnet51q
  • resnet61q
  • resnetaa101d
  • resnetaa34d
  • resnetaa50
  • resnetaa50d
  • resnetrs101
  • resnetrs152
  • resnetrs200
  • resnetrs270
  • resnetrs350
  • resnetrs420
  • resnetrs50
  • resnetv2_101
  • resnetv2_101d
  • resnetv2_101x1_bit
  • resnetv2_101x3_bit
  • resnetv2_152
  • resnetv2_152d
  • resnetv2_152x2_bit
  • resnetv2_152x4_bit
  • resnetv2_18
  • resnetv2_18d
  • resnetv2_34
  • resnetv2_34d
  • resnetv2_50
  • resnetv2_50d
  • resnetv2_50d_evos
  • resnetv2_50d_frn
  • resnetv2_50d_gn
  • resnetv2_50t
  • resnetv2_50x1_bit
  • resnetv2_50x3_bit
  • resnext101_32x16d
  • resnext101_32x32d
  • resnext101_32x4d
  • resnext101_32x8d
  • resnext101_64x4d
  • resnext26ts
  • resnext50_32x4d
  • resnext50d_32x4d
  • rexnet_100
  • rexnet_130
  • rexnet_150
  • rexnet_200
  • rexnet_300
  • rexnetr_100
  • rexnetr_130
  • rexnetr_150
  • rexnetr_200
  • rexnetr_300
  • samvit_base_patch16_224
  • sebotnet33ts_256
  • sedarknet21
  • selecsls42
  • selecsls42b
  • selecsls60
  • selecsls60b
  • selecsls84
  • semnasnet_050
  • semnasnet_075
  • semnasnet_100
  • semnasnet_140
  • senet154
  • sequencer2d_l
  • sequencer2d_m
  • sequencer2d_s
  • seresnet101
  • seresnet152
  • seresnet152d
  • seresnet18
  • seresnet200d
  • seresnet269d
  • seresnet33ts
  • seresnet34
  • seresnet50
  • seresnet50t
  • seresnetaa50d
  • seresnext101_32x4d
  • seresnext101_32x8d
  • seresnext101_64x4d
  • seresnext101d_32x8d
  • seresnext26d_32x4d
  • seresnext26t_32x4d
  • seresnext26ts
  • seresnext50_32x4d
  • seresnextaa101d_32x8d
  • seresnextaa201d_32x8d
  • skresnet18
  • skresnet34
  • skresnet50
  • skresnet50d
  • skresnext50_32x4d
  • spnasnet_100
  • swin_base_patch4_window12_384
  • swin_base_patch4_window7_224
  • swin_large_patch4_window12_384
  • swin_large_patch4_window7_224
  • swin_s3_base_224
  • swin_s3_small_224
  • swin_s3_tiny_224
  • swin_small_patch4_window7_224
  • swin_tiny_patch4_window7_224
  • swinv2_base_window12_192
  • swinv2_base_window12to16_192to256
  • swinv2_base_window12to24_192to384
  • swinv2_base_window16_256
  • swinv2_base_window8_256
  • swinv2_cr_base_224
  • swinv2_cr_base_384
  • swinv2_cr_base_ns_224
  • swinv2_cr_giant_224
  • swinv2_cr_giant_384
  • swinv2_cr_huge_224
  • swinv2_cr_huge_384
  • swinv2_cr_large_224
  • swinv2_cr_large_384
  • swinv2_cr_small_224
  • swinv2_cr_small_384
  • swinv2_cr_small_ns_224
  • swinv2_cr_small_ns_256
  • swinv2_cr_tiny_224
  • swinv2_cr_tiny_384
  • swinv2_cr_tiny_ns_224
  • swinv2_large_window12_192
  • swinv2_large_window12to16_192to256
  • swinv2_large_window12to24_192to384
  • swinv2_small_window16_256
  • swinv2_small_window8_256
  • swinv2_tiny_window16_256
  • swinv2_tiny_window8_256
  • test_byobnet
  • test_convnext
  • test_convnext2
  • test_convnext3
  • test_efficientnet
  • test_efficientnet_evos
  • test_efficientnet_gn
  • test_efficientnet_ln
  • test_mambaout
  • test_nfnet
  • test_resnet
  • test_vit
  • test_vit3
  • tf_efficientnet_b0
  • tf_efficientnet_b1
  • tf_efficientnet_b2
  • tf_efficientnet_b3
  • tf_efficientnet_b4
  • tf_efficientnet_b5
  • tf_efficientnet_b6
  • tf_efficientnet_b7
  • tf_efficientnet_b8
  • tf_efficientnet_cc_b0_4e
  • tf_efficientnet_cc_b0_8e
  • tf_efficientnet_cc_b1_8e
  • tf_efficientnet_el
  • tf_efficientnet_em
  • tf_efficientnet_es
  • tf_efficientnet_l2
  • tf_efficientnet_lite0
  • tf_efficientnet_lite1
  • tf_efficientnet_lite2
  • tf_efficientnet_lite3
  • tf_efficientnet_lite4
  • tf_efficientnetv2_b0
  • tf_efficientnetv2_b1
  • tf_efficientnetv2_b2
  • tf_efficientnetv2_b3
  • tf_efficientnetv2_m
  • tf_efficientnetv2_s
  • tf_mixnet_l
  • tf_mixnet_m
  • tf_mixnet_s
  • tf_mobilenetv3_large_075
  • tf_mobilenetv3_large_100
  • tf_mobilenetv3_large_minimal_100
  • tf_mobilenetv3_small_075
  • tf_mobilenetv3_small_100
  • tf_mobilenetv3_small_minimal_100
  • tiny_vit_11m_224
  • tiny_vit_21m_224
  • tiny_vit_21m_384
  • tiny_vit_21m_512
  • tiny_vit_5m_224
  • tinynet_a
  • tinynet_b
  • tinynet_c
  • tinynet_d
  • tinynet_e
  • twins_pcpvt_base
  • twins_pcpvt_large
  • twins_pcpvt_small
  • twins_svt_base
  • twins_svt_large
  • twins_svt_small
  • vgg11
  • vgg11_bn
  • vgg13
  • vgg13_bn
  • vgg16
  • vgg16_bn
  • vgg19
  • vgg19_bn
  • visformer_small
  • visformer_tiny
  • vit_base_mci_224
  • vit_base_patch14_dinov2
  • vit_base_patch14_reg4_dinov2
  • vit_base_patch16_18x2_224
  • vit_base_patch16_224
  • vit_base_patch16_224_miil
  • vit_base_patch16_384
  • vit_base_patch16_clip_224
  • vit_base_patch16_clip_384
  • vit_base_patch16_clip_quickgelu_224
  • vit_base_patch16_gap_224
  • vit_base_patch16_plus_240
  • vit_base_patch16_plus_clip_240
  • vit_base_patch16_reg4_gap_256
  • vit_base_patch16_rope_reg1_gap_256
  • vit_base_patch16_rpn_224
  • vit_base_patch16_siglip_224
  • vit_base_patch16_siglip_256
  • vit_base_patch16_siglip_384
  • vit_base_patch16_siglip_512
  • vit_base_patch16_siglip_gap_224
  • vit_base_patch16_siglip_gap_256
  • vit_base_patch16_siglip_gap_384
  • vit_base_patch16_siglip_gap_512
  • vit_base_patch16_xp_224
  • vit_base_patch32_224
  • vit_base_patch32_384
  • vit_base_patch32_clip_224
  • vit_base_patch32_clip_256
  • vit_base_patch32_clip_384
  • vit_base_patch32_clip_448
  • vit_base_patch32_clip_quickgelu_224
  • vit_base_patch32_plus_256
  • vit_base_patch8_224
  • vit_base_r26_s32_224
  • vit_base_r50_s16_224
  • vit_base_r50_s16_384
  • vit_base_resnet26d_224
  • vit_base_resnet50d_224
  • vit_betwixt_patch16_gap_256
  • vit_betwixt_patch16_reg1_gap_256
  • vit_betwixt_patch16_reg4_gap_256
  • vit_betwixt_patch16_reg4_gap_384
  • vit_betwixt_patch16_rope_reg4_gap_256
  • vit_betwixt_patch32_clip_224
  • vit_giant_patch14_224
  • vit_giant_patch14_clip_224
  • vit_giant_patch14_dinov2
  • vit_giant_patch14_reg4_dinov2
  • vit_giant_patch16_gap_224
  • vit_gigantic_patch14_224
  • vit_gigantic_patch14_clip_224
  • vit_gigantic_patch14_clip_quickgelu_224
  • vit_huge_patch14_224
  • vit_huge_patch14_clip_224
  • vit_huge_patch14_clip_336
  • vit_huge_patch14_clip_378
  • vit_huge_patch14_clip_quickgelu_224
  • vit_huge_patch14_clip_quickgelu_378
  • vit_huge_patch14_gap_224
  • vit_huge_patch14_xp_224
  • vit_huge_patch16_gap_448
  • vit_intern300m_patch14_448
  • vit_large_patch14_224
  • vit_large_patch14_clip_224
  • vit_large_patch14_clip_336
  • vit_large_patch14_clip_quickgelu_224
  • vit_large_patch14_clip_quickgelu_336
  • vit_large_patch14_dinov2
  • vit_large_patch14_reg4_dinov2
  • vit_large_patch14_xp_224
  • vit_large_patch16_224
  • vit_large_patch16_384
  • vit_large_patch16_siglip_256
  • vit_large_patch16_siglip_384
  • vit_large_patch16_siglip_gap_256
  • vit_large_patch16_siglip_gap_384
  • vit_large_patch32_224
  • vit_large_patch32_384
  • vit_large_r50_s32_224
  • vit_large_r50_s32_384
  • vit_little_patch16_reg1_gap_256
  • vit_little_patch16_reg4_gap_256
  • vit_medium_patch16_clip_224
  • vit_medium_patch16_gap_240
  • vit_medium_patch16_gap_256
  • vit_medium_patch16_gap_384
  • vit_medium_patch16_reg1_gap_256
  • vit_medium_patch16_reg4_gap_256
  • vit_medium_patch16_rope_reg1_gap_256
  • vit_medium_patch32_clip_224
  • vit_mediumd_patch16_reg4_gap_256
  • vit_mediumd_patch16_reg4_gap_384
  • vit_mediumd_patch16_rope_reg1_gap_256
  • vit_pwee_patch16_reg1_gap_256
  • vit_relpos_base_patch16_224
  • vit_relpos_base_patch16_cls_224
  • vit_relpos_base_patch16_clsgap_224
  • vit_relpos_base_patch16_plus_240
  • vit_relpos_base_patch16_rpn_224
  • vit_relpos_base_patch32_plus_rpn_256
  • vit_relpos_medium_patch16_224
  • vit_relpos_medium_patch16_cls_224
  • vit_relpos_medium_patch16_rpn_224
  • vit_relpos_small_patch16_224
  • vit_relpos_small_patch16_rpn_224
  • vit_small_patch14_dinov2
  • vit_small_patch14_reg4_dinov2
  • vit_small_patch16_18x2_224
  • vit_small_patch16_224
  • vit_small_patch16_36x1_224
  • vit_small_patch16_384
  • vit_small_patch32_224
  • vit_small_patch32_384
  • vit_small_patch8_224
  • vit_small_r26_s32_224
  • vit_small_r26_s32_384
  • vit_small_resnet26d_224
  • vit_small_resnet50d_s16_224
  • vit_so150m2_patch16_reg1_gap_256
  • vit_so150m_patch16_reg4_gap_256
  • vit_so150m_patch16_reg4_gap_384
  • vit_so150m_patch16_reg4_map_256
  • vit_so400m_patch14_siglip_224
  • vit_so400m_patch14_siglip_378
  • vit_so400m_patch14_siglip_384
  • vit_so400m_patch14_siglip_gap_224
  • vit_so400m_patch14_siglip_gap_378
  • vit_so400m_patch14_siglip_gap_384
  • vit_so400m_patch14_siglip_gap_448
  • vit_so400m_patch14_siglip_gap_896
  • vit_so400m_patch16_siglip_256
  • vit_so400m_patch16_siglip_gap_256
  • vit_srelpos_medium_patch16_224
  • vit_srelpos_small_patch16_224
  • vit_tiny_patch16_224
  • vit_tiny_patch16_384
  • vit_tiny_r_s16_p8_224
  • vit_tiny_r_s16_p8_384
  • vit_wee_patch16_reg1_gap_256
  • vit_xsmall_patch16_clip_224
  • vitamin_base_224
  • vitamin_large2_224
  • vitamin_large2_256
  • vitamin_large2_336
  • vitamin_large2_384
  • vitamin_large_224
  • vitamin_large_256
  • vitamin_large_336
  • vitamin_large_384
  • vitamin_small_224
  • vitamin_xlarge_256
  • vitamin_xlarge_336
  • vitamin_xlarge_384
  • vovnet39a
  • vovnet57a
  • wide_resnet101_2
  • wide_resnet50_2
  • xception41
  • xception41p
  • xception65
  • xception65p
  • xception71
  • xcit_large_24_p16_224
  • xcit_large_24_p16_384
  • xcit_large_24_p8_224
  • xcit_large_24_p8_384
  • xcit_medium_24_p16_224
  • xcit_medium_24_p16_384
  • xcit_medium_24_p8_224
  • xcit_medium_24_p8_384
  • xcit_nano_12_p16_224
  • xcit_nano_12_p16_384
  • xcit_nano_12_p8_224
  • xcit_nano_12_p8_384
  • xcit_small_12_p16_224
  • xcit_small_12_p16_384
  • xcit_small_12_p8_224
  • xcit_small_12_p8_384
  • xcit_small_24_p16_224
  • xcit_small_24_p16_384
  • xcit_small_24_p8_224
  • xcit_small_24_p8_384
  • xcit_tiny_12_p16_224
  • xcit_tiny_12_p16_384
  • xcit_tiny_12_p8_224
  • xcit_tiny_12_p8_384
  • xcit_tiny_24_p16_224
  • xcit_tiny_24_p16_384
  • xcit_tiny_24_p8_224
  • xcit_tiny_24_p8_384

torch.hub

  • ultralytics/yolov
    • yolov5n
    • yolov5s
    • yolov5m
    • yolov5l
    • yolov5x
    • yolov5n6
    • yolov5s6
    • yolov5m6
    • yolov5l6
    • yolov5x6
  • mateuszbuda/brain-segmentation-pytorch
    • unet

Supported Layers

Please refer to https://pytorch.org/docs/stable/ for how these functions are used. This documentation only contains which layers, functions and tensor functionality is currently implemented within SOL.

TorchScript (torch.jit.trace/torch.jit.script)

  • aten::Bool
  • aten::Float
  • aten::Int
  • aten::IntImplicit
  • aten::ScalarImplicit
  • aten::__and__
  • aten::__contains__
  • aten::__derive_index
  • aten::__getitem__
  • aten::__is__
  • aten::__isnot__
  • aten::__not__
  • aten::__or__
  • aten::__range_length
  • aten::_convolution
  • aten::_set_item
  • aten::abs
  • aten::absolute
  • aten::acos
  • aten::acosh
  • aten::adaptive_avg_pool1d
  • aten::adaptive_avg_pool2d
  • aten::adaptive_avg_pool3d
  • aten::adaptive_max_pool1d
  • aten::adaptive_max_pool2d
  • aten::adaptive_max_pool3d
  • aten::add
  • aten::addbmm
  • aten::addcdiv
  • aten::addcmul
  • aten::addmm
  • aten::all
  • aten::alpha_dropout
  • aten::any
  • aten::append
  • aten::arange
  • aten::arccos
  • aten::arccosh
  • aten::arcsin
  • aten::arcsinh
  • aten::arctan
  • aten::arctanh
  • aten::argmax
  • aten::argmin
  • aten::as_strided
  • aten::as_tensor
  • aten::asin
  • aten::asinh
  • aten::atan
  • aten::atan2
  • aten::atanh
  • aten::avg_pool1d
  • aten::avg_pool2d
  • aten::avg_pool3d
  • aten::backward
  • aten::baddbmm
  • aten::batch_norm
  • aten::bernoulli
  • aten::binary_cross_entropy
  • aten::binary_cross_entropy_with_logits
  • aten::bitwise_and
  • aten::bitwise_left_shift
  • aten::bitwise_not
  • aten::bitwise_or
  • aten::bitwise_right_shift
  • aten::bitwise_xor
  • aten::bmm
  • aten::broadcast_tensors
  • aten::broadcast_to
  • aten::bucketize
  • aten::cat
  • aten::ceil
  • aten::celu
  • aten::chunk
  • aten::clamp
  • aten::clamp_max
  • aten::clamp_min
  • aten::clone
  • aten::complex
  • aten::concat
  • aten::constant_pad_nd
  • aten::contiguous
  • aten::conv1d
  • aten::conv2d
  • aten::conv3d
  • aten::conv_transpose1d
  • aten::conv_transpose2d
  • aten::conv_transpose3d
  • aten::copy
  • aten::cos
  • aten::cosh
  • aten::cosine_embedding_loss
  • aten::cross
  • aten::cross_entropy_loss
  • aten::cumsum
  • aten::dequantize
  • aten::detach
  • aten::device
  • aten::dict
  • aten::dim
  • aten::div
  • aten::divide
  • aten::dot
  • aten::dropout
  • aten::einsum
  • aten::elu
  • aten::embedding
  • aten::empty
  • aten::empty_like
  • aten::eq
  • aten::equal
  • aten::erf
  • aten::erfc
  • aten::exp
  • aten::exp2
  • aten::expand
  • aten::expand_as
  • aten::expm1
  • aten::extend
  • aten::eye
  • aten::fft_fft
  • aten::fft_fft2
  • aten::fft_fftn
  • aten::fft_hfft
  • aten::fft_ifft
  • aten::fft_ifft2
  • aten::fft_ifftn
  • aten::fft_ihfft
  • aten::fft_irfft
  • aten::fft_irfft2
  • aten::fft_irfftn
  • aten::fft_rfft
  • aten::fft_rfft2
  • aten::fft_rfftn
  • aten::fill
  • aten::flatten
  • aten::flip
  • aten::floor
  • aten::floor_divide
  • aten::floordiv
  • aten::fmod
  • aten::format
  • aten::frobenius_norm
  • aten::full
  • aten::full_like
  • aten::gather
  • aten::ge
  • aten::gelu
  • aten::grad
  • aten::greater
  • aten::greater_equal
  • aten::group_norm
  • aten::gru
  • aten::gru_cell
  • aten::gt
  • aten::hardshrink
  • aten::hardsigmoid
  • aten::hardswish
  • aten::hardtanh
  • aten::hinge_embedding_loss
  • aten::huber_loss
  • aten::imag
  • aten::index
  • aten::index_add
  • aten::index_put
  • aten::index_put_
  • aten::index_select
  • aten::instance_norm
  • aten::is_autocast_enabled
  • aten::is_floating_point
  • aten::isfinite
  • aten::isinf
  • aten::isnan
  • aten::items
  • aten::kl_div
  • aten::l1_loss
  • aten::layer_norm
  • aten::le
  • aten::leaky_relu
  • aten::len
  • aten::lift_fresh
  • aten::linalg_cross
  • aten::linalg_matrix_norm
  • aten::linalg_norm
  • aten::linalg_vector_norm
  • aten::linear
  • aten::linspace
  • aten::list
  • aten::log
  • aten::log10
  • aten::log1p
  • aten::log2
  • aten::log_sigmoid
  • aten::log_softmax
  • aten::logaddexp
  • aten::logaddexp2
  • aten::logical_and
  • aten::logical_not
  • aten::logical_or
  • aten::logical_xor
  • aten::lstm
  • aten::lstm_cell
  • aten::lt
  • aten::mT
  • aten::margin_ranking_loss
  • aten::masked_fill
  • aten::matmul
  • aten::max
  • aten::max_pool1d
  • aten::max_pool1d_with_indices
  • aten::max_pool2d
  • aten::max_pool2d_with_indices
  • aten::max_pool3d
  • aten::max_pool3d_with_indices
  • aten::max_unpool1d
  • aten::max_unpool2d
  • aten::max_unpool3d
  • aten::maximum
  • aten::mean
  • aten::meshgrid
  • aten::min
  • aten::minimum
  • aten::mm
  • aten::mse_loss
  • aten::mul
  • aten::multilabel_margin_loss
  • aten::multiply
  • aten::nanmean
  • aten::nansum
  • aten::narrow
  • aten::narrow_copy
  • aten::ne
  • aten::neg
  • aten::negative
  • aten::new_full
  • aten::new_zeros
  • aten::nll_loss_nd
  • aten::norm
  • aten::not_equal
  • aten::nuclear_norm
  • aten::numel
  • aten::one_hot
  • aten::ones
  • aten::ones_like
  • aten::pad
  • aten::percentFormat
  • aten::permute
  • aten::pixel_shuffle
  • aten::poisson_nll_loss
  • aten::pow
  • aten::prelu
  • aten::prod
  • aten::quantize_per_tensor
  • aten::rand
  • aten::rand_like
  • aten::randint
  • aten::randint_like
  • aten::randn
  • aten::randn_like
  • aten::real
  • aten::reciprocal
  • aten::relu
  • aten::relu6
  • aten::remainder
  • aten::repeat
  • aten::repeat_interleave
  • aten::requires_grad_
  • aten::reshape
  • aten::reshape_as
  • aten::rms_norm
  • aten::rnn_relu
  • aten::rnn_relu_cell
  • aten::rnn_tanh
  • aten::rnn_tanh_cell
  • aten::roll
  • aten::round
  • aten::rrelu
  • aten::rsqrt
  • aten::rsub
  • aten::scaled_dot_product_attention
  • aten::scatter
  • aten::scatter_add
  • aten::scatter_reduce
  • aten::select
  • aten::select_scatter
  • aten::selu
  • aten::sigmoid
  • aten::sign
  • aten::silu
  • aten::sin
  • aten::sinh
  • aten::size
  • aten::slice
  • aten::smooth_l1_loss
  • aten::soft_margin_loss
  • aten::softmax
  • aten::softmin
  • aten::softplus
  • aten::softshrink
  • aten::split
  • aten::split_with_sizes
  • aten::sqrt
  • aten::square
  • aten::squeeze
  • aten::stack
  • aten::std
  • aten::str
  • aten::sub
  • aten::sum
  • aten::t
  • aten::tan
  • aten::tanh
  • aten::tensor
  • aten::tensor_split
  • aten::tensordot
  • aten::tile
  • aten::to
  • aten::to_mkldnn
  • aten::transpose
  • aten::tril
  • aten::triplet_margin_loss
  • aten::triu
  • aten::type_as
  • aten::unbind
  • aten::unflatten
  • aten::uniform
  • aten::unsqueeze
  • aten::upsample_bicubic2d
  • aten::upsample_bilinear2d
  • aten::upsample_linear1d
  • aten::upsample_nearest1d
  • aten::upsample_nearest2d
  • aten::upsample_nearest3d
  • aten::upsample_trilinear3d
  • aten::values
  • aten::var
  • aten::view
  • aten::view_as_complex
  • aten::view_as_real
  • aten::warn
  • aten::where
  • aten::zero
  • aten::zeros
  • aten::zeros_like
  • prim::CallFunction
  • prim::CallMethod
  • prim::Constant
  • prim::ConstantMKLDNNTensor
  • prim::CreateObject
  • prim::DictConstruct
  • prim::Enter
  • prim::Exit
  • prim::GetAttr
  • prim::If
  • prim::ListConstruct
  • prim::ListIndex
  • prim::ListUnpack
  • prim::Loop
  • prim::ModuleContainerIndex
  • prim::NumToTensor
  • prim::Print
  • prim::PythonOp
  • prim::RaiseException
  • prim::SetAttr
  • prim::TupleConstruct
  • prim::TupleIndex
  • prim::TupleUnpack
  • prim::Uninitialized
  • prim::device
  • prim::dtype
  • prim::grad
  • prim::is_nested
  • prim::isinstance
  • prim::layout
  • prim::max
  • prim::min
  • prim::type
  • prim::unchecked_cast
  • quantized::conv2d
  • quantized::conv2d_relu

torch.fx (torch.compile)

  • _operator.add
  • _operator.and_
  • _operator.div
  • _operator.eq
  • _operator.floordiv
  • _operator.ge
  • _operator.getitem
  • _operator.gt
  • _operator.iadd
  • _operator.imul
  • _operator.invert
  • _operator.isub
  • _operator.itruediv
  • _operator.le
  • _operator.lt
  • _operator.matmul
  • _operator.mod
  • _operator.mul
  • _operator.ne
  • _operator.neg
  • _operator.or_
  • _operator.pow
  • _operator.setitem
  • _operator.sub
  • _operator.truediv
  • builtins.getattr
  • einops.einops.rearrange
  • einops.einops.repeat
  • math.ceil
  • torch.Size
  • torch.Tensor.__abs__
  • torch.Tensor.abs
  • torch.Tensor.absolute
  • torch.Tensor.acos
  • torch.Tensor.acosh
  • torch.Tensor.add
  • torch.Tensor.addbmm
  • torch.Tensor.addcdiv
  • torch.Tensor.addcmul
  • torch.Tensor.addmm
  • torch.Tensor.all
  • torch.Tensor.any
  • torch.Tensor.arccos
  • torch.Tensor.arccosh
  • torch.Tensor.arcsin
  • torch.Tensor.arcsinh
  • torch.Tensor.arctan
  • torch.Tensor.arctanh
  • torch.Tensor.argmax
  • torch.Tensor.argmin
  • torch.Tensor.as_strided
  • torch.Tensor.asin
  • torch.Tensor.asinh
  • torch.Tensor.atan
  • torch.Tensor.atan2
  • torch.Tensor.atanh
  • torch.Tensor.baddbmm
  • torch.Tensor.bernoulli
  • torch.Tensor.bernoulli_
  • torch.Tensor.bfloat16
  • torch.Tensor.bitwise_and
  • torch.Tensor.bitwise_left_shift
  • torch.Tensor.bitwise_not
  • torch.Tensor.bitwise_or
  • torch.Tensor.bitwise_right_shift
  • torch.Tensor.bitwise_xor
  • torch.Tensor.bmm
  • torch.Tensor.bool
  • torch.Tensor.broadcast_to
  • torch.Tensor.byte
  • torch.Tensor.cdouble
  • torch.Tensor.ceil
  • torch.Tensor.cfloat
  • torch.Tensor.char
  • torch.Tensor.chunk
  • torch.Tensor.clamp
  • torch.Tensor.clamp_max
  • torch.Tensor.clamp_min
  • torch.Tensor.clip
  • torch.Tensor.clone
  • torch.Tensor.contiguous
  • torch.Tensor.copy_
  • torch.Tensor.cos
  • torch.Tensor.cosh
  • torch.Tensor.cpu
  • torch.Tensor.cuda
  • torch.Tensor.cumsum
  • torch.Tensor.detach
  • torch.Tensor.div
  • torch.Tensor.divide
  • torch.Tensor.double
  • torch.Tensor.eq
  • torch.Tensor.equal
  • torch.Tensor.erf
  • torch.Tensor.erfc
  • torch.Tensor.exp
  • torch.Tensor.expand
  • torch.Tensor.expand_as
  • torch.Tensor.expm1
  • torch.Tensor.fill_
  • torch.Tensor.fill_diagonal_
  • torch.Tensor.flatten
  • torch.Tensor.flip
  • torch.Tensor.float
  • torch.Tensor.floor
  • torch.Tensor.fmax
  • torch.Tensor.fmin
  • torch.Tensor.fmod
  • torch.Tensor.gather
  • torch.Tensor.ge
  • torch.Tensor.greater
  • torch.Tensor.greater_equal
  • torch.Tensor.gt
  • torch.Tensor.half
  • torch.Tensor.hardshrink
  • torch.Tensor.imag
  • torch.Tensor.index_add
  • torch.Tensor.index_put
  • torch.Tensor.index_put_
  • torch.Tensor.index_select
  • torch.Tensor.int
  • torch.Tensor.isfinite
  • torch.Tensor.isinf
  • torch.Tensor.isnan
  • torch.Tensor.le
  • torch.Tensor.less
  • torch.Tensor.less_equal
  • torch.Tensor.log
  • torch.Tensor.log10
  • torch.Tensor.log1p
  • torch.Tensor.log2
  • torch.Tensor.logaddexp
  • torch.Tensor.logaddexp2
  • torch.Tensor.logical_and
  • torch.Tensor.logical_not
  • torch.Tensor.logical_or
  • torch.Tensor.logical_xor
  • torch.Tensor.long
  • torch.Tensor.lt
  • torch.Tensor.masked_fill
  • torch.Tensor.matmul
  • torch.Tensor.max
  • torch.Tensor.maximum
  • torch.Tensor.mean
  • torch.Tensor.min
  • torch.Tensor.minimum
  • torch.Tensor.mm
  • torch.Tensor.mul
  • torch.Tensor.multiply
  • torch.Tensor.nanmean
  • torch.Tensor.nansum
  • torch.Tensor.narrow
  • torch.Tensor.ne
  • torch.Tensor.neg
  • torch.Tensor.negative
  • torch.Tensor.new_empty
  • torch.Tensor.new_full
  • torch.Tensor.new_ones
  • torch.Tensor.new_tensor
  • torch.Tensor.new_zeros
  • torch.Tensor.norm
  • torch.Tensor.not_equal
  • torch.Tensor.numel
  • torch.Tensor.permute
  • torch.Tensor.pow
  • torch.Tensor.prod
  • torch.Tensor.real
  • torch.Tensor.reciprocal
  • torch.Tensor.repeat
  • torch.Tensor.repeat_interleave
  • torch.Tensor.reshape
  • torch.Tensor.reshape_as
  • torch.Tensor.roll
  • torch.Tensor.round
  • torch.Tensor.rsqrt
  • torch.Tensor.scatter
  • torch.Tensor.scatter_add
  • torch.Tensor.scatter_reduce
  • torch.Tensor.select_scatter
  • torch.Tensor.short
  • torch.Tensor.sigmoid
  • torch.Tensor.sign
  • torch.Tensor.sin
  • torch.Tensor.sinh
  • torch.Tensor.size
  • torch.Tensor.softmax
  • torch.Tensor.softmin
  • torch.Tensor.split
  • torch.Tensor.sqrt
  • torch.Tensor.square
  • torch.Tensor.squeeze
  • torch.Tensor.std
  • torch.Tensor.sub
  • torch.Tensor.subtract
  • torch.Tensor.sum
  • torch.Tensor.t
  • torch.Tensor.tan
  • torch.Tensor.tanh
  • torch.Tensor.tensor_split
  • torch.Tensor.tile
  • torch.Tensor.to
  • torch.Tensor.transpose
  • torch.Tensor.tril
  • torch.Tensor.triu
  • torch.Tensor.true_divide
  • torch.Tensor.type
  • torch.Tensor.type_as
  • torch.Tensor.unbind
  • torch.Tensor.unflatten
  • torch.Tensor.uniform
  • torch.Tensor.unsqueeze
  • torch.Tensor.var
  • torch.Tensor.view
  • torch.Tensor.view_as
  • torch.Tensor.where
  • torch.Tensor.zero_
  • torch._C._autograd._saved_tensors_hooks_disable
  • torch._C._autograd._saved_tensors_hooks_enable
  • torch._C._fft.fft_fft
  • torch._C._fft.fft_fft2
  • torch._C._fft.fft_fftn
  • torch._C._fft.fft_hfft
  • torch._C._fft.fft_hfft2
  • torch._C._fft.fft_hfftn
  • torch._C._fft.fft_ifft
  • torch._C._fft.fft_ifft2
  • torch._C._fft.fft_ifftn
  • torch._C._fft.fft_ihfft
  • torch._C._fft.fft_ihfft2
  • torch._C._fft.fft_ihfftn
  • torch._C._fft.fft_irfft
  • torch._C._fft.fft_irfft2
  • torch._C._fft.fft_irfftn
  • torch._C._fft.fft_rfft
  • torch._C._fft.fft_rfft2
  • torch._C._fft.fft_rfftn
  • torch._C._functorch._add_batch_dim
  • torch._C._functorch._remove_batch_dim
  • torch._C._functorch._vmap_decrement_nesting
  • torch._C._functorch._vmap_increment_nesting
  • torch._C._linalg.linalg_cross
  • torch._C._linalg.linalg_matrix_norm
  • torch._C._linalg.linalg_norm
  • torch._C._linalg.linalg_vector_norm
  • torch._C._log_api_usage_once
  • torch._C._nn.avg_pool2d
  • torch._C._nn.avg_pool3d
  • torch._C._nn.gelu
  • torch._C._nn.linear
  • torch._C._nn.log_sigmoid
  • torch._C._nn.one_hot
  • torch._C._nn.pad
  • torch._C._nn.scaled_dot_product_attention
  • torch._C._nn.softplus
  • torch._C._nn.softshrink
  • torch._C._set_grad_enabled
  • torch._assert
  • torch._dynamo.utils.wrapped_sqrt
  • torch._functorch.autograd_function.autograd_function_apply
  • torch._functorch.vmap.lazy_load_decompositions
  • torch._ops._C.rms_norm
  • torch._ops.sol.custom
  • torch._ops.sol.quantize
  • torch.abs
  • torch.acos
  • torch.acosh
  • torch.adaptive_avg_pool1d
  • torch.adaptive_avg_pool2d
  • torch.adaptive_avg_pool3d
  • torch.add
  • torch.addcdiv
  • torch.addcmul
  • torch.addmm
  • torch.amp.autocast_mode._enter_autocast
  • torch.amp.autocast_mode._exit_autocast
  • torch.any
  • torch.arange
  • torch.argmax
  • torch.argmin
  • torch.as_strided
  • torch.as_tensor
  • torch.asin
  • torch.asinh
  • torch.atan
  • torch.atan2
  • torch.atanh
  • torch.autograd.function.FunctionCtx
  • torch.baddbmm
  • torch.bernoulli
  • torch.bitwise_and
  • torch.bitwise_left_shift
  • torch.bitwise_not
  • torch.bitwise_or
  • torch.bitwise_right_shift
  • torch.bitwise_xor
  • torch.bmm
  • torch.broadcast_to
  • torch.bucketize
  • torch.cat
  • torch.ceil
  • torch.chunk
  • torch.clamp
  • torch.clamp_max
  • torch.clamp_min
  • torch.clip
  • torch.clone
  • torch.complex
  • torch.concat
  • torch.conv1d
  • torch.conv2d
  • torch.conv3d
  • torch.conv_transpose1d
  • torch.conv_transpose2d
  • torch.conv_transpose3d
  • torch.cos
  • torch.cosh
  • torch.cross
  • torch.cumsum
  • torch.div
  • torch.divide
  • torch.dot
  • torch.empty
  • torch.empty_like
  • torch.eq
  • torch.equal
  • torch.erf
  • torch.erfc
  • torch.exp
  • torch.expm1
  • torch.eye
  • torch.flatten
  • torch.flip
  • torch.floor
  • torch.floor_divide
  • torch.full
  • torch.full_like
  • torch.functional.einsum
  • torch.functional.meshgrid
  • torch.functional.norm
  • torch.functional.split
  • torch.functional.tensordot
  • torch.gather
  • torch.ge
  • torch.gt
  • torch.hardshrink
  • torch.imag
  • torch.index_put
  • torch.index_select
  • torch.isfinite
  • torch.isinf
  • torch.isnan
  • torch.le
  • torch.linspace
  • torch.log
  • torch.log10
  • torch.log1p
  • torch.log2
  • torch.log_softmax
  • torch.logaddexp
  • torch.logaddexp2
  • torch.logical_and
  • torch.logical_not
  • torch.logical_or
  • torch.logical_xor
  • torch.lt
  • torch.masked_fill
  • torch.matmul
  • torch.max
  • torch.maximum
  • torch.mean
  • torch.min
  • torch.minimum
  • torch.mm
  • torch.mul
  • torch.multiply
  • torch.nanmean
  • torch.nansum
  • torch.ne
  • torch.neg
  • torch.negative
  • torch.nn.functional.adaptive_avg_pool1d
  • torch.nn.functional.adaptive_avg_pool2d
  • torch.nn.functional.adaptive_avg_pool3d
  • torch.nn.functional.adaptive_max_pool1d
  • torch.nn.functional.adaptive_max_pool2d
  • torch.nn.functional.adaptive_max_pool3d
  • torch.nn.functional.alpha_dropout
  • torch.nn.functional.batch_norm
  • torch.nn.functional.binary_cross_entropy
  • torch.nn.functional.binary_cross_entropy_with_logits
  • torch.nn.functional.celu
  • torch.nn.functional.cosine_embedding_loss
  • torch.nn.functional.cross_entropy
  • torch.nn.functional.dropout
  • torch.nn.functional.elu
  • torch.nn.functional.embedding
  • torch.nn.functional.gaussian_nll_loss
  • torch.nn.functional.glu
  • torch.nn.functional.group_norm
  • torch.nn.functional.hardsigmoid
  • torch.nn.functional.hardswish
  • torch.nn.functional.hardtanh
  • torch.nn.functional.hinge_embedding_loss
  • torch.nn.functional.huber_loss
  • torch.nn.functional.interpolate
  • torch.nn.functional.kl_div
  • torch.nn.functional.l1_loss
  • torch.nn.functional.layer_norm
  • torch.nn.functional.leaky_relu
  • torch.nn.functional.local_response_norm
  • torch.nn.functional.log_softmax
  • torch.nn.functional.lp_pool1d
  • torch.nn.functional.lp_pool2d
  • torch.nn.functional.lp_pool3d
  • torch.nn.functional.margin_ranking_loss
  • torch.nn.functional.max_pool1d
  • torch.nn.functional.max_pool2d
  • torch.nn.functional.max_pool2d_with_indices
  • torch.nn.functional.max_pool3d
  • torch.nn.functional.max_pool3d_with_indices
  • torch.nn.functional.max_unpool1d
  • torch.nn.functional.max_unpool2d
  • torch.nn.functional.max_unpool3d
  • torch.nn.functional.mse_loss
  • torch.nn.functional.multilabel_margin_loss
  • torch.nn.functional.multilabel_soft_margin_loss
  • torch.nn.functional.nll_loss
  • torch.nn.functional.normalize
  • torch.nn.functional.pad
  • torch.nn.functional.poisson_nll_loss
  • torch.nn.functional.relu
  • torch.nn.functional.relu6
  • torch.nn.functional.rrelu
  • torch.nn.functional.selu
  • torch.nn.functional.silu
  • torch.nn.functional.smooth_l1_loss
  • torch.nn.functional.soft_margin_loss
  • torch.nn.functional.softmax
  • torch.nn.functional.softmin
  • torch.nn.functional.softsign
  • torch.nn.functional.tanh
  • torch.nn.functional.tanhshrink
  • torch.nn.functional.triplet_margin_loss
  • torch.nn.functional.triplet_margin_with_distance_loss
  • torch.numel
  • torch.ones
  • torch.ones_like
  • torch.ops.higher_order.tag_activation_checkpoint
  • torch.permute
  • torch.pixel_shuffle
  • torch.pow
  • torch.prelu
  • torch.prod
  • torch.quantize_per_tensor
  • torch.rand
  • torch.rand_like
  • torch.randint
  • torch.randint_like
  • torch.real
  • torch.relu
  • torch.repeat_interleave
  • torch.reshape
  • torch.rms_norm
  • torch.roll
  • torch.round
  • torch.rsqrt
  • torch.scalar_tensor
  • torch.scatter
  • torch.scatter_add
  • torch.scatter_reduce
  • torch.select_scatter
  • torch.sigmoid
  • torch.sign
  • torch.sin
  • torch.sinh
  • torch.softmax
  • torch.sqrt
  • torch.square
  • torch.squeeze
  • torch.stack
  • torch.std
  • torch.sub
  • torch.sum
  • torch.swapaxes
  • torch.sym_max
  • torch.tan
  • torch.tanh
  • torch.tensor
  • torch.tensor_split
  • torch.tile
  • torch.transpose
  • torch.tril
  • torch.triu
  • torch.true_divide
  • torch.truediv
  • torch.unflatten
  • torch.unsqueeze
  • torch.var
  • torch.view_as_complex
  • torch.view_as_real
  • torch.where
  • torch.zeros
  • torch.zeros_like