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 and TPU backends currently accelerate transformer text tasks. Tabular tasks and unsupported platforms use 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tensorless-0.9.1.tar.gz.
File metadata
- Download URL: tensorless-0.9.1.tar.gz
- Upload date:
- Size: 130.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6802b980c2860981f179694880385d502d3e75bb0a66a1654ad2dc55f4ff136
|
|
| MD5 |
3024a01337137c34ace10cd377d6e856
|
|
| BLAKE2b-256 |
d3e6591098bb78bb47d49201f5fca52a00b530221d397c50969803b30fbf6878
|
File details
Details for the file tensorless-0.9.1-py3-none-any.whl.
File metadata
- Download URL: tensorless-0.9.1-py3-none-any.whl
- Upload date:
- Size: 112.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8abd4cf19b671569652c002465052739e378f16164d00476776644c08c658e5
|
|
| MD5 |
b723104147a150abb26b9f5c6f91bc70
|
|
| BLAKE2b-256 |
87a463572b316ecb57c518bd53f5e52927bc0483c796a898ebe803a1ea97f90f
|