Skip to main content

PyTorch-compatible module with autograd, interpolate/upsample, pooling 1D, loss modules, gradient clipping, nn.init, ModuleList, and float16/bfloat16 — via Pyodide + WebGPU.

Project description

torch-pyodide

PyTorch-compatible API that runs entirely in the browser. Built on Pyodide and WebGPU.

Try it now

Open the playground — write and run PyTorch code in your browser.

Install

In Pyodide (browser)

import micropip
await micropip.install("torch-pyodide")
import torch

x = torch.randn((3, 4))
w = torch.randn((4, 5))
y = x.matmul(w)
print(y.shape)  # (3, 5)

Important: in browser, the Python wheel alone is not enough.
Load and install the JavaScript runtime (runtime.mjs) first, then import torch.

Official manifest channel:

  • https://celsowm.github.io/torch-pyodide/latest.json

The manifest provides:

  • runtimeUrl
  • wheelUrl
  • runtimeSha256
  • wheelSha256

Locally (with Python + Node.js)

pip install torch-pyodide
# Requires Node.js 20+ and a WebGPU-capable browser/device

What works

  • Tensor creation: tensor(), zeros, ones, rand, randn, arange, full, empty
  • Arithmetic: add, sub, mul, div, pow, matmul, mm, mv, bmm
  • Linear algebra: dot, outer, norm (Frobenius, L1, L2, inf)
  • Unary ops: relu, sigmoid, tanh, gelu, silu, sqrt, exp, log, sin, cos, and 40+ more
  • Comparison: eq, ne, gt, lt, ge, le
  • Reductions: sum, mean, max, min, prod, any, all, cumsum, cumprod
  • Shape ops: reshape, flatten, squeeze, unsqueeze, transpose, permute, cat, stack, expand
  • Indexing: select, slice, index_select, masked_select, masked_fill, where
  • Neural network (torch.nn): Linear, Bilinear, Conv2d, BatchNorm1d/2d, LayerNorm, Dropout, pooling, loss functions, activations
  • CUDA stub: torch.cuda.is_available(), torch.cuda.device_count(), etc.

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torch_pyodide-0.0.72.tar.gz (61.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torch_pyodide-0.0.72-py3-none-any.whl (63.9 kB view details)

Uploaded Python 3

File details

Details for the file torch_pyodide-0.0.72.tar.gz.

File metadata

  • Download URL: torch_pyodide-0.0.72.tar.gz
  • Upload date:
  • Size: 61.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for torch_pyodide-0.0.72.tar.gz
Algorithm Hash digest
SHA256 a3644248ac8eb3171f3bfa35851fac4a4aa0340557378a8d070d0babd71bdc30
MD5 3dea04833d1406384129073489ab255a
BLAKE2b-256 f56c5704192ebc9ec1a7f66c3a65da15cc95834f921a58274a37f4bb85fe3a8a

See more details on using hashes here.

File details

Details for the file torch_pyodide-0.0.72-py3-none-any.whl.

File metadata

  • Download URL: torch_pyodide-0.0.72-py3-none-any.whl
  • Upload date:
  • Size: 63.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for torch_pyodide-0.0.72-py3-none-any.whl
Algorithm Hash digest
SHA256 2223df52f9226fe5363721ac8262b19e1140d7abafb12a7f6497ebadbf53c579
MD5 75fc35548ebc520dab70e981ffb43e3b
BLAKE2b-256 949269ca46662338e333e4693b941f67d2be6c9d2aed6caaba67030a808bdeca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page