Skip to main content

Tenminator2 — Framework de Deep Learning Ultraligero

Project description

Tenminator 2

Framework de Deep Learning Ultraligeropip install Tenminator2

Framework de entrenamiento e inferencia de modelos de lenguaje, diseñado para dispositivos con recursos limitados.


Instalación

pip install Tenminator2
# Con soporte numba (aceleración CPU):
pip install Tenminator2[numba]
# Con soporte JAX:
pip install Tenminator2[jax]

Inicio Rápido

import Tenminator2 as tm

# Crear un modelo simple
model = tm.Sequential(
    tm.Linear(784, 256),
    tm.ReLU(),
    tm.Dropout(p=0.2),
    tm.Linear(256, 10),
)

# Tensor de entrada
x = tm.Tensor([[1.0, 2.0, 3.0]])
out = model(x)
print(out.shape)

Módulos Disponibles

Módulo Descripción
Tensor Tensor con soporte de autograd
Linear Capa lineal (fully connected)
Embedding Tabla de embeddings
LayerNorm Normalización de capa
RMSNorm Root Mean Square Normalization
ReLU Activación ReLU
GELU Activación GELU
SiLU Activación SiLU / Swish
Dropout Regularización por dropout
Sequential Contenedor secuencial
MultiHeadAttention Atención multi-cabeza
TransformerBlock Bloque Transformer completo
CrossEntropyLoss Pérdida entropía cruzada
MSELoss Error cuadrático medio
BCELoss Entropía cruzada binaria

Optimizadores

optimizer = tm.Adam(model.parameters(), lr=1e-3)
optimizer.step()
optimizer.zero_grad()
Optimizador Descripción
SGD Descenso de gradiente estocástico
Adam Adam con corrección de sesgo
AdamW Adam con weight decay desacoplado

Backends

tm.set_backend("numpy")   # Por defecto
tm.set_backend("numba")   # Aceleración CPU
tm.set_backend("jax")     # JAX/XLA
tm.print_backend_info()

Transformer

block = tm.TransformerBlock(
    embed_dim=512,
    num_heads=8,
    ff_dim=2048,
    dropout=0.1,
    norm_type="layer",  # o "rms" para RMSNorm
)

Steering y Corrección de Sesgos

import numpy as np

# Aplicar steering vector a una capa
sv = np.random.randn(256)
with tm.SteeringHook(model._modules["0"], sv, strength=0.1):
    output = model(x)

# Corrección de sesgos durante inferencia
cv = np.zeros(256)
with tm.BiasCorrector(model._modules["0"], cv, strength=0.05):
    prediction = model(input_data)

Entrenamiento

config = tm.TrainingConfig(
    max_iterations=100,
    early_stop_patience=12,
    checkpoint_dir="./checkpoints",
)

controller = tm.TrainingController(model, optimizer, loss_fn, config)

for data in dataloader:
    if not controller.should_continue():
        break
    loss = train_step(data)
    controller.update(loss)

CLI

Tenminator2 info
Tenminator2 train --data data.csv --config config.json
Tenminator2 evaluate --model checkpoint.pth --data test.csv

Licencia

MIT — github.com/yoqer/Tenminator2

Project details


Download files

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

Source Distribution

tenminator2-2.0.0.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

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

tenminator2-2.0.0-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

File details

Details for the file tenminator2-2.0.0.tar.gz.

File metadata

  • Download URL: tenminator2-2.0.0.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.5

File hashes

Hashes for tenminator2-2.0.0.tar.gz
Algorithm Hash digest
SHA256 c57fe62c132c709d4fb6db46d69da7332196072d142310d27b3b444f2aba2531
MD5 0832354ff684bb81321c1df8a2bcb64d
BLAKE2b-256 251152286422c81a8fb350c6ebaf8bed370170d962a5e899a4d0d7cfc99e763d

See more details on using hashes here.

File details

Details for the file tenminator2-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: tenminator2-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 45.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.5

File hashes

Hashes for tenminator2-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d39412a46f88725af3c249fe96137c76b199aca79490b440c0726ac35db954c4
MD5 757a95f490183bf1b3af755c11a8f453
BLAKE2b-256 a8c6b4f3d5316371d7da1d17d9f5458f6fc29ae9ce6dd2f75dc764c7a0f36ca1

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