PyTensorForge is a Python-based deep learning and model experimentation framework focused on neural networks, transformer architectures, and efficient inference workflows. The project combines foundational tensor operations with modern training, tokenization, export, and serving capabilities for research-oriented AI development.
The framework is designed for developers and researchers who want to explore machine learning concepts in a modular environment while also supporting practical LM workloads such as training, checkpointing, tokenization, generation, and deployment of OpenAI-compatible model servers.
PyTensorForge includes:
- Core tensor and numerical primitives
- Neural network layers and parameter management
- Activation functions and optimizer logic
- Model training and validation workflows
- GPT-style transformer implementations
- Tokenization, dataset preparation, and context extension
- Inference runtime and HTTP model serving
- Tensor, scalar, vector, and matrix abstractions
- Dense network layers and parameter-driven computation
- Basic activation functions including ReLU, Sigmoid, Tanh, ELU, and SELU
- Optimizers such as SGD
- Loss functions for regression and classification tasks
- Decoder-only GPT model architecture
- Tokenizer training and BPE byte-level tokenization
- Streaming dataset preparation and sharded corpora
- Checkpoint-based training and resumption
- Model export for inference use cases
- Generation runtime with KV-cache support and context length extension
- OpenAI-compatible server interface for deployment
- CLI tooling for training, evaluation, export, generation, and serving
- Model inspection and validation utilities
- Config-driven execution for reproducible setups
- Support for chat templates and assistant-style supervised finetuning patterns
pip install pytensorforgefrom pytensorforge.core.Tensor import Tensor
from pytensorforge.models.seq.Sequential import Sequential
from pytensorforge.neural.Dense import Dense
X = Tensor([[0,0],[0,1],[1,0],[1,1]], requires_grad=False)
y = Tensor([[0],[1],[1],[0]], requires_grad=False)
model = Sequential()
model.add(Dense(8, activation="relu"))
model.add(Dense(1, activation="sigmoid"))
model.compile(optimizer="adam", loss="binary_crossentropy")
model.fit(X, y, epochs=2000)
print(model.predict(X).data)from pytensorforge.core.Tensor import Tensor
from pytensorforge.models.seq.Sequential import Sequential
from pytensorforge.neural.Dense import Dense
X = Tensor([[1],[2],[3],[4],[5]], requires_grad=False)
y = Tensor([[2],[4],[6],[8],[10]], requires_grad=False)
model = Sequential()
model.add(Dense(16, activation="relu"))
model.add(Dense(1))
model.compile(optimizer="adam", loss="mse")
model.fit(X, y, epochs=3000)
print(model.predict(Tensor([[6]], requires_grad=False)).data)from pytensorforge.inference.runtime import load_model
gen = load_model("exports/my-gpt")
print(gen.generate("Once upon a time", max_new_tokens=50).text)
gen.stop()src/core/– tensor and numeric primitivessrc/neural/– neural layers and parameterssrc/activations/– activation implementationssrc/optimizers/– optimization routinessrc/loss/– loss functionssrc/initializers/– initialization strategiessrc/models/– model definitions, including transformer and regression codesrc/tokenization/– tokenizer implementations and training utilitiessrc/data/– corpus, sharding, streaming, validation, and dataset utilitiessrc/training/– training pipeline and checkpoint managementsrc/inference/– generation runtime, cache handling, and model executionsrc/serving/– HTTP serving infrastructure and API configurationsrc/scaling/– scaling utilitiesconfigs/– model and training configuration filespredict/– prediction utilities and sample datatest/– project-level examples and validation scriptsweb/– frontend assets for model interaction
- Python 3.10+
- NumPy
- PyYAML
Clone the repository and install it in editable mode:
git clone https://github.com/philipszdavido/PyTensorForge.git
cd PyTensorForge
pip install -e .This installs the pytensorforge CLI, which provides commands for training, evaluation, dataset preparation, generation, export, and serving.
pytensorforge train configs/train.yamlpytensorforge resume latest --config configs/train.yamlpytensorforge evaluate checkpoints/latest --config configs/train.yamlpytensorforge prepare-dataset data/corpus --tokenizer tokenizer.json --output data/shardspytensorforge export checkpoints/latest --output exports/my-gpt --tokenizer tokenizer.jsonpytensorforge generate exports/my-gpt --prompt "Once upon a time" --max-new-tokens 128pytensorforge serve exports/my-gpt --name my-gpt --host 127.0.0.1 --port 8000The server exposes an OpenAI-compatible interface at the configured host and port, allowing local or remote clients to interact with the model in a familiar API format.
The repository includes a set of project documents covering the major stages of development, including:
PHASE1_GPT_TRAINING.mdPHASE2_DATA_PIPELINE.mdPHASE3_INFERENCE.mdPHASE4_SERVING.mdPHASE5_TRAINING_EFFICIENCY.mdPHASE6_CONTEXT_EXTENSION.mdPHASE7_FINETUNING.mdTOKENIZER.md
These documents provide implementation context for the framework’s research and engineering goals, especially around GPT training, data preparation, and inference optimization.
A typical PyTensorForge workflow consists of:
- Training or preparing a tokenizer
- Building a dataset or sharded corpus
- Training a model with checkpoints enabled
- Exporting optimized checkpoints for inference
- Serving the model via the built-in API or generating responses directly
Contributions are welcome. Developers are encouraged to open issues, propose enhancements, or submit pull requests for bug fixes, feature additions, performance improvements, and documentation updates.
This repository does not currently include a dedicated LICENSE file in the root directory. Please consult the repository owner or project documentation for the applicable licensing terms before commercial or redistribution use.
PyTensorForge is a research-driven and experimentation-focused framework with support for both foundational ML primitives and modern transformer-based model workflows. It is best suited for learning, iterative development, and custom AI experimentation in a compact Python codebase.