Skip to main content

Tesseract-Torch

Tesseract-Torch is a lightweight extension to Tesseract Core that wraps Tesseracts as differentiable PyTorch operations, with full support for reverse-mode and forward-mode automatic differentiation.

Read the docs | Explore the examples | Report an issue | Talk to the community | Contribute


The API of Tesseract-Torch consists of a single function, apply_tesseract(tesseract, inputs), which integrates any Tesseract into PyTorch's autograd graph:

result = apply_tesseract(my_tesseract, {"x": x_tensor})
result["y"].sum().backward()  # reverse-mode AD
x_tensor.grad  # gradients flow through the Tesseract

Quick start

[!NOTE] Before proceeding, make sure you have a working installation of Docker and a modern Python installation (Python 3.10+).

[!IMPORTANT] For more detailed installation instructions, please refer to the Tesseract Core documentation.

  1. Install Tesseract-Torch:

    $ pip install tesseract-torch
    
  2. Build an example Tesseract:

    $ git clone https://github.com/pasteurlabs/tesseract-torch
    $ tesseract build tesseract-torch/examples/simple/vectoradd_torch
    
  3. Use it as part of a PyTorch program via apply_tesseract:

    import torch
    from tesseract_core import Tesseract
    from tesseract_torch import apply_tesseract
    
    # Load the Tesseract
    t = Tesseract.from_image("vectoradd_torch")
    t.serve()
    
    # Run it with PyTorch tensors
    x = torch.ones(1000, requires_grad=True)
    y = torch.ones(1000)
    
    def vector_sum(x, y):
        res = apply_tesseract(t, {"a": {"v": x}, "b": {"v": y}})
        return res["vector_add"]["result"].sum()
    
    loss = vector_sum(x, y)
    loss.backward()
    print(x.grad)  # gradients via the Tesseract's VJP endpoint
    
    # Forward-mode AD is also supported via torch.autograd.forward_ad
    

[!TIP] Now you're ready to jump into our examples for more ways to use Tesseract-Torch.

Sharp edges

  • Required endpoints: Using apply_tesseract with reverse-mode AD (.backward(), torch.autograd.grad) requires the Tesseract to define a vector_jacobian_product endpoint. Forward-mode AD (torch.autograd.forward_ad) requires jacobian_vector_product.

  • torch.func transforms are not supported: apply_tesseract works with PyTorch's standard autograd API (.backward(), torch.autograd.grad, torch.autograd.forward_ad), but not with torch.func transforms (torch.func.vjp, torch.func.jvp, torch.func.grad, torch.func.vmap). These transforms create functionalized tensors that cannot be converted to NumPy arrays, which Tesseract endpoints require. Calling apply_tesseract inside a torch.func transform will raise a clear error.

License

Tesseract-Torch is licensed under the Apache License 2.0 and is free to use, modify, and distribute (under the terms of the license).

Tesseract is a registered trademark of Pasteur Labs, Inc. and may not be used without permission.

Metadata

Release files for tesseract-torch 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tesseract-torch 0.1.0
File Size Uploaded
tesseract_torch-0.1.0.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tesseract-torch 0.1.0
File Interpreter ABI Platform
tesseract_torch-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.0 kB

Release files / tesseract_torch-0.1.0.tar.gz

Download URL tesseract_torch-0.1.0.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
89b6b354bdcc339f8cc1cc98634cea6d8b2ac6da8ebda3589288a0f51ad6e16d
BLAKE2b-256 checksum
How to use checksums
91b65a99b712feaa88148c34a859caa925e31bda8b73c3784a4f5d81b5ff671d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.

Transparency log

Release files / tesseract_torch-0.1.0-py3-none-any.whl

Download URL tesseract_torch-0.1.0-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
33408808e088f5168d77c85c405631155f847442a13b3606c90ac6afae705b6c
BLAKE2b-256 checksum
How to use checksums
7df8302f35a3d7fdae4b9833b06036fc97eb175121fc7768582faf586905e0f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page