Skip to content

howl-anderson/tensorweaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TensorWeaver

TensorWeaver Logo

🧠 A transparent, debuggable deep learning framework
PyTorch-compatible implementation with full visibility into internals

PyPI version License GitHub stars Documentation


πŸ€” 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 torch for 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

  • How automatic differentiation works
  • Backpropagation step-by-step
  • Computational graph construction
  • Gradient computation and flow

πŸ› οΈ Framework Design

  • Tensor operations implementation
  • Neural network architecture
  • Optimizer algorithms
  • Model export (ONNX) mechanisms

πŸ’Ž 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

  1. Tensor Operations - Fundamental tensor mechanics and operations
  2. Linear Models - Basic neural network implementation
  3. Automatic Differentiation - Gradient computation engine (coming soon)

πŸ—οΈ Advanced Architecture

  1. Deep Networks - Multi-layer perceptron and complex architectures
  2. Optimization Algorithms - Advanced training techniques (coming soon)
  3. Model Deployment - ONNX export for production systems

⚑ Performance & Extensions

  1. Custom Operators - Framework extension capabilities (coming soon)
  2. Performance Engineering - Optimization techniques (coming soon)
  3. 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

  1. πŸ“‚ Browse Examples - Working implementations and demos
  2. πŸš€ Try Online - Browser-based environment
  3. πŸ’¬ Community Forum - Technical discussions and support
  4. πŸ“– 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

🏒 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.

GitHub stars

πŸ“„ 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

About

A modern educational deep learning framework for students, engineers and researchers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published