API Equivalents

  • FTorch contributors
  • Last Updated: October 2026

PyTorch, libtorch, and FTorch API Equivalents

This page maps common types and operations across the PyTorch Python, libtorch C++, and FTorch Fortran APIs. It is a quick reference, not a complete API listing: the interfaces are not always one-to-one, and FTorch exposes the PyTorch features needed for calling TorchScript models from Fortran.

Types

Concept PyTorch (Python) libtorch (C++) FTorch (Fortran)
Tensor torch.Tensor torch::Tensor torch_tensor
TorchScript model torch.jit.ScriptModule torch::jit::Module torch_model
Optimizer torch.optim.Optimizer torch::optim::Optimizer torch_optim

Tensors

Operation PyTorch (Python) libtorch (C++) FTorch (Fortran)
Create a tensor of zeros torch.zeros torch::zeros torch_tensor_zeros
Create a tensor of ones torch.ones torch::ones torch_tensor_ones
Get shape Tensor.size Tensor::sizes torch_tensor_get_shape
Get strides Tensor.stride Tensor::strides torch_tensor_get_stride
Get data type Tensor.dtype Tensor::scalar_type torch_tensor_get_dtype
Get device Tensor.device Tensor::device torch_tensor_get_device_type and torch_tensor_get_device_index
Backpropagate gradients Tensor.backward torch::autograd::backward torch_tensor_backward

Models

Operation PyTorch (Python) libtorch (C++) FTorch (Fortran)
Load a TorchScript model torch.jit.load torch::jit::load torch_model_load
Run a forward pass Module.forward torch::jit::Module::forward torch_model_forward

Optimizers

Operation PyTorch (Python) libtorch (C++) FTorch (Fortran)
Create SGD optimizer torch.optim.SGD torch::optim::SGD torch_optim_SGD
Create Adam optimizer torch.optim.Adam torch::optim::Adam torch_optim_Adam
Create AdamW optimizer torch.optim.AdamW torch::optim::AdamW torch_optim_AdamW
Clear gradients Optimizer.zero_grad Optimizer::zero_grad torch_optim_zero_grad (optimizer%zero_grad())
Update parameters Optimizer.step Optimizer::step torch_optim_step (optimizer%step())

Loss functions

Operation PyTorch (Python) libtorch (C++) FTorch (Fortran)
Mean-squared-error loss torch.nn.MSELoss torch::nn::MSELoss torch_loss_mse
Cross-entropy loss torch.nn.CrossEntropyLoss torch::nn::CrossEntropyLoss torch_loss_cross_entropy

The model entries refer to TorchScript. Although TorchScript is deprecated in current PyTorch documentation, FTorch's model API currently uses TorchScript models.

For details and usage examples, see the Tensor API, Optimizers API, and online training pages.