A modern educational deep learning framework for students, engineers and researchers
Project description
TensorWeaver
๐ง A transparent, debuggable deep learning framework
PyTorch-compatible implementation with full visibility into internals
๐ค Ever feel like PyTorch is a black box?
# What's actually happening here? ๐คทโโ๏ธ
loss.backward() # Magic?
optimizer.step() # More magic?
You're not alone. Most ML students and engineers use deep learning frameworks without understanding the internals. That's where TensorWeaver comes in.
๐ฏ What is TensorWeaver?
TensorWeaver is a transparent deep learning framework that reveals exactly how PyTorch works under the hood. Built from scratch in pure Python, it provides complete visibility into automatic differentiation, neural networks, and optimization algorithms.
Think of it as "PyTorch with full transparency" ๐ง
๐ Perfect for:
- ML Engineers debugging complex gradient issues and understanding framework internals
- Researchers who need full control over their implementations
- Software Engineers building custom deep learning solutions
- Technical Teams who need to understand and modify framework behavior
- Developers who refuse to accept "black box" solutions
๐ก Pro Tip: Use
import tensorweaver as torchfor seamless PyTorch compatibility!
โก Quick Start - See the Magic Yourself
pip install tensorweaver
import tensorweaver as torch # PyTorch-compatible API!
# Build a neural network (just like PyTorch!)
class SimpleModel(torch.nn.Module):
def __init__(self):
super().__init__()
self.linear1 = torch.nn.Linear(784, 128)
self.relu = torch.nn.ReLU()
self.linear2 = torch.nn.Linear(128, 10)
def forward(self, x):
x = self.relu(self.linear1(x))
return self.linear2(x)
model = SimpleModel()
# Train it
loss_fn = torch.nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
# The difference? You can see EXACTLY what happens inside! ๐
๐ Try it live in your browser โ
๐ง What You'll Learn
๐ฌ Deep Learning Internals
|
๐ ๏ธ Framework Design
|
๐ Why TensorWeaver?
| ๐ญ Production Frameworks | ๐ฌ TensorWeaver |
|---|---|
| โ Complex C++ codebase | โ Pure Python - fully debuggable |
| โ Optimized for speed only | โ Optimized for understanding and modification |
| โ "Trust us, it works" | โ "Here's exactly how it works" |
| โ Black box internals | โ Complete transparency and control |
๐ Key Features
- ๐ Transparent Implementation: Every operation is visible, debuggable, and modifiable
- ๐ Pure Python: No hidden C++ complexity - full control over the codebase
- ๐ฏ PyTorch-Compatible API: Drop-in replacement with complete visibility
- ๐ ๏ธ Engineering Excellence: Clean architecture designed for understanding and extension
- ๐งช Complete Functionality: Autodiff, neural networks, optimizers, ONNX export
- ๐ Production Ready: Export trained models to ONNX for deployment
๐บ๏ธ Technical Roadmap
๐ง Core Components
- Tensor Operations - Fundamental tensor mechanics and operations
- Linear Models - Basic neural network implementation
- Automatic Differentiation - Gradient computation engine (coming soon)
๐๏ธ Advanced Architecture
- Deep Networks - Multi-layer perceptron and complex architectures
- Optimization Algorithms - Advanced training techniques (coming soon)
- Model Deployment - ONNX export for production systems
โก Performance & Extensions
- Custom Operators - Framework extension capabilities (coming soon)
- Performance Engineering - Optimization techniques (coming soon)
- Hardware Acceleration - GPU computation support (in development)
๐ Note: Some documentation links are still in development. Check our milestones for working examples!
๐ฏ Quick Examples
๐ฌ See Automatic Differentiation in Action
import tensorweaver as torch
# Create tensors
x = torch.tensor([2.0])
y = torch.tensor([3.0])
# Forward pass
z = x * y + x**2
print(f"z = {z.data}") # [10.0]
# Backward pass - see the magic!
z.backward()
print(f"dz/dx = {x.grad}") # [7.0] = y + 2*x = 3 + 4
print(f"dz/dy = {y.grad}") # [2.0] = x
๐ง Build a Neural Network from Scratch
import tensorweaver as torch
class MLP(torch.nn.Module):
def __init__(self):
super().__init__()
self.fc1 = torch.nn.Linear(784, 128)
self.relu = torch.nn.ReLU()
self.fc2 = torch.nn.Linear(128, 10)
def forward(self, x):
x = self.relu(self.fc1(x))
return self.fc2(x)
# Every operation is transparent!
model = MLP()
print(model) # See the architecture
๐ฏ Why Engineers Choose TensorWeaver
Instead of opaque "black box" frameworks, TensorWeaver provides:
- Full Transparency - Every operation is readable, debuggable Python code
- Complete Control - Modify any component to fit your specific needs
- PyTorch Compatibility - Use existing knowledge and code seamlessly
- Deep Understanding - Know exactly what your model is doing at every step
Join our growing community of engineers who value transparency and control.
๐ Get Started Now
๐ฆ Installation
# Option 1: Install from PyPI (recommended)
pip install tensorweaver
# Option 2: Install from source (for contributors)
git clone https://github.com/howl-anderson/tensorweaver.git
cd tensorweaver
poetry install
๐ฏ Quick Start Guide
- ๐ Browse Examples - Working implementations and demos
- ๐ Try Online - Browser-based environment
- ๐ฌ Community Forum - Technical discussions and support
- ๐ Documentation - Complete API reference (expanding)
๐ค Contributing
TensorWeaver thrives on community contributions! Whether you're:
- ๐ Reporting bugs
- ๐ก Suggesting features
- ๐ Improving documentation
- ๐งช Adding examples
- ๐ง Writing code
We welcome you! Please open an issue or submit a pull request - contribution guidelines coming soon!
๐ Resources
- ๐ Documentation - Framework overview
- ๐ฌ Discussions - Community Q&A
- ๐ Issues - Bug reports and feature requests
- ๐ง Follow Updates - Star/watch for latest changes
๐ข Professional Use Cases
TensorWeaver excels in scenarios requiring deep understanding and control:
- ๐ฌ Research & Development - Implement novel algorithms with full control
- ๐ Debugging Complex Models - Trace gradient flow and identify numerical issues
- ๐๏ธ Custom Implementations - Build specialized layers and operators
- ๐ Production Prototyping - Develop and export models to ONNX for deployment
Need support for your specific use case? Open an issue or join our discussions!
โญ Why Stars Matter
If TensorWeaver helped you debug, understand, or build better models, please consider starring the repository! It helps other engineers discover this transparent framework.
๐ License
TensorWeaver is MIT licensed. See LICENSE for details.
๐ Acknowledgments
- Inspired by transparent implementations: Micrograd, TinyFlow, and DeZero
- Thanks to the PyTorch team for the elegant API design
- Grateful to all contributors and the open-source community
Ready for complete transparency in deep learning?
๐ Explore TensorWeaver at tensorweaver.ai
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
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 tensorweaver-0.0.4.tar.gz.
File metadata
- Download URL: tensorweaver-0.0.4.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
739507593256eeaa3c36a979b6ceca8c18b985e2ee279aada86bb6da92d78988
|
|
| MD5 |
e39523555f0f3fc9642845c7e2cee401
|
|
| BLAKE2b-256 |
86e8da28a4058882cc0784e1b31fda019da43fecb65c5d72f749b4a4bcc1f7fa
|
File details
Details for the file tensorweaver-0.0.4-py3-none-any.whl.
File metadata
- Download URL: tensorweaver-0.0.4-py3-none-any.whl
- Upload date:
- Size: 57.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.13.9 Darwin/24.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c166e7cdba069b742f47ded43b6211192453959451a8d9f3f458074ac260d066
|
|
| MD5 |
7375231e682b6bbb7b9dce0005bc05d8
|
|
| BLAKE2b-256 |
4fea96db3a2b220813c3c0690072813b52e2398c84ff4fdea0a0fdc238a6a366
|