Skip to main content

Tensorless

Tensorless trains small custom models with sensible defaults. It uses a native NumPy engine on CPU and optional JAX or MLX backends for accelerator execution. It supports text generation, text classification, tabular classification, and regression.

Install

pip install -e .

Optional accelerator backends:

pip install -e '.[cuda]'   # JAX CUDA
pip install -e '.[tpu]'    # JAX TPU
pip install -e '.[mps]'    # Apple Silicon MLX

CUDA, TPU, and MPS backends accelerate both transformer text tasks and tabular MLP tasks. Whatever device is auto-detected (or passed via device=...) is what training and inference actually run on; only unsupported platforms (no CUDA/TPU/MPS available) fall back to the native CPU engine.

Train on your data

import tensorless as tl

model = tl.train("./corpus.txt", task="text-generation")
print(model.generate("The", max_new_tokens=40))

Text files are trained as next-token language models. BPE is the default tokenizer; use tokenizer="char" for a character-level model. Tensorless derives model size, batch size, epochs, validation, device, and BPE vocabulary size from the data, while every setting can be overridden.

Long text is tokenized lazily and fed through the native engine in fixed-size batches. The automatic batch size uses a token budget; reduce batch_size if your available memory is limited.

English starter pretraining

import tensorless as tl

model = tl.pretrain(out="english.tl", epochs=20, max_seq_len=128)
print(model.generate("A complete sentence", max_new_tokens=30))

This offline starter corpus contains English prose and grammar examples. It is for demos and smoke tests, not a replacement for a large language dataset. For real pretraining, pass your own .txt corpus to tl.train() and increase the training settings as your hardware allows.

Other tasks

tl.train("reviews/", task="text-classification")
tl.train("housing.csv", task="regression")

Tabular preprocessing automatically handles numeric values, ISO dates, and high-cardinality categories. Missing and rare values are handled using the fitted training data, and the same preprocessing is stored in the .tl file.

Models are saved as .tl files and can be loaded later:

model = tl.load("model.tl")
print(model.info())

The native extension API is in tensorless.engine: Module, Parameter, Adam, and SGD provide model parameters, gradients, and optimization without a PyTorch dependency. Accelerator cache helpers are available as tensorless.devices.clear_memory() and tensorless.devices.memory_stats().

See the documentation for data formats, configuration, checkpointing, and the command-line interface.

Download files

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

Source Distribution

tensorless-0.9.3.tar.gz (132.6 kB view details)

Uploaded Source

Built Distribution

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

tensorless-0.9.3-py3-none-any.whl (114.5 kB view details)

Uploaded Python 3

File details

Details for the file tensorless-0.9.3.tar.gz.

File metadata

  • Download URL: tensorless-0.9.3.tar.gz
  • Upload date:
  • Size: 132.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.1

File hashes

Hashes for tensorless-0.9.3.tar.gz
Algorithm Hash digest
SHA256 415b3d6d1e069cf5352ed704937ddc0f696cfce6eb483378b1f37a2c2f27ad05
MD5 016578051b33cd87dd05d17cc453e24b
BLAKE2b-256 16b64ec2a61ea1c805557a557b7ea6ffa43947d9156845390e62123782a66400

See more details on using hashes here.

File details

Details for the file tensorless-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: tensorless-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 114.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.1

File hashes

Hashes for tensorless-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d7d5d9c762c65b6d270511153e8ac37fe334f8d9bacbf70df3a26416344f8d3f
MD5 42488fe3a1641a93ef27c88db055e272
BLAKE2b-256 cc9d96f653367b66cbe5dc0232b695b1ee8ad8c1ed8c6f494a25328a0b7e4fb8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.9.3 This release

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

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