torchforge / WINDOWS_GUIDE.md
meetanilp's picture
Initial release: TorchForge v1.0.0
f206b57 verified

TorchForge - Windows Installation & Usage Guide

Complete guide for setting up and running TorchForge on Windows Dell Laptop.

Prerequisites

System Requirements

  • Windows 10/11 (64-bit)
  • Python 3.8 or higher
  • 8GB RAM minimum (16GB recommended)
  • 10GB free disk space
  • Git for Windows

Optional for GPU Support

  • NVIDIA GPU with CUDA 11.8 or higher
  • NVIDIA CUDA Toolkit
  • cuDNN library

Installation Steps

1. Install Python

Download and install Python from python.org

# Verify installation
python --version
pip --version

2. Install Git

Download and install Git from git-scm.com

# Verify installation
git --version

3. Clone TorchForge Repository

# Open PowerShell or Command Prompt
cd C:\Users\YourUsername\Projects

# Clone repository
git clone https://github.com/anilprasad/torchforge.git
cd torchforge

4. Create Virtual Environment

# Create virtual environment
python -m venv venv

# Activate virtual environment
.\venv\Scripts\activate

# You should see (venv) in your prompt

5. Install TorchForge

# Install in development mode
pip install -e .

# Or install specific extras
pip install -e ".[all]"

# Verify installation
python -c "import torchforge; print(torchforge.__version__)"

Running Examples

Basic Example

# Navigate to examples directory
cd examples

# Run comprehensive examples
python comprehensive_examples.py

Expected output: ```

TorchForge - Comprehensive Examples Author: Anil Prasad

Example 1: Basic Classification ... ✓ Example 1 completed successfully!


### Custom Model Example

Create a file `my_model.py`:

```python
import torch
import torch.nn as nn
from torchforge import ForgeModel, ForgeConfig

# Define your PyTorch model
class MyModel(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(10, 64)
        self.fc2 = nn.Linear(64, 2)
        self.relu = nn.ReLU()
    
    def forward(self, x):
        x = self.relu(self.fc1(x))
        return self.fc2(x)

# Create TorchForge configuration
config = ForgeConfig(
    model_name="my_custom_model",
    version="1.0.0",
    enable_monitoring=True,
    enable_governance=True
)

# Wrap with TorchForge
model = ForgeModel(MyModel(), config=config)

# Use the model
x = torch.randn(32, 10)
output = model(x)
print(f"Output shape: {output.shape}")

# Get metrics
metrics = model.get_metrics_summary()
print(f"Metrics: {metrics}")

Run it:

python my_model.py

Running Tests

# Install test dependencies
pip install pytest pytest-cov

# Run all tests
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=torchforge --cov-report=html

# View coverage report
start htmlcov\index.html

Docker Deployment on Windows

1. Install Docker Desktop

Download from docker.com

2. Build Docker Image

# Build image
docker build -t torchforge:1.0.0 .

# Verify image
docker images | findstr torchforge

3. Run Container

# Run container
docker run -p 8000:8000 torchforge:1.0.0

# Run with volume mounts
docker run -p 8000:8000 `
  -v ${PWD}\models:/app/models `
  -v ${PWD}\logs:/app/logs `
  torchforge:1.0.0

4. Run with Docker Compose

# Start services
docker-compose up -d

# Check status
docker-compose ps

# View logs
docker-compose logs -f

# Stop services
docker-compose down

Cloud Deployment

AWS Deployment

from torchforge import ForgeModel, ForgeConfig
from torchforge.cloud import AWSDeployer

# Create model
config = ForgeConfig(model_name="my_model", version="1.0.0")
model = ForgeModel(MyModel(), config=config)

# Deploy to AWS SageMaker
deployer = AWSDeployer(model)
endpoint = deployer.deploy_sagemaker(
    instance_type="ml.m5.large",
    endpoint_name="torchforge-prod"
)

print(f"Model deployed: {endpoint.url}")

Azure Deployment

from torchforge.cloud import AzureDeployer

deployer = AzureDeployer(model)
service = deployer.deploy_aks(
    cluster_name="ml-cluster",
    cpu_cores=4,
    memory_gb=16
)

GCP Deployment

from torchforge.cloud import GCPDeployer

deployer = GCPDeployer(model)
endpoint = deployer.deploy_vertex(
    machine_type="n1-standard-4",
    accelerator_type="NVIDIA_TESLA_T4"
)

Common Issues & Solutions

Issue: ModuleNotFoundError

Solution:

# Ensure virtual environment is activated
.\venv\Scripts\activate

# Reinstall TorchForge
pip install -e .

Issue: CUDA Not Available

Solution:

# Install PyTorch with CUDA support
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

Issue: Permission Denied

Solution:

# Run PowerShell as Administrator
# Or add current user to docker-users group
net localgroup docker-users "%USERDOMAIN%\%USERNAME%" /ADD

Issue: Port Already in Use

Solution:

# Find process using port 8000
netstat -ano | findstr :8000

# Kill process (replace PID)
taskkill /PID <PID> /F

Performance Optimization

Enable GPU Support

import torch

# Check CUDA availability
if torch.cuda.is_available():
    device = torch.device("cuda")
    model = model.to(device)
    print(f"Using GPU: {torch.cuda.get_device_name(0)}")
else:
    print("CUDA not available, using CPU")

Memory Optimization

# Enable memory optimization
config.optimization.memory_optimization = True

# Enable quantization
config.optimization.quantization = "int8"

Development Workflow

1. Setup Development Environment

# Install dev dependencies
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

2. Run Code Formatters

# Format code with black
black torchforge/

# Sort imports
isort torchforge/

# Check style
flake8 torchforge/

3. Type Checking

# Run mypy
mypy torchforge/

Monitoring in Production

View Metrics

# Get metrics summary
metrics = model.get_metrics_summary()

print(f"Total Inferences: {metrics['inference_count']}")
print(f"Mean Latency: {metrics['latency_mean_ms']:.2f}ms")
print(f"P95 Latency: {metrics['latency_p95_ms']:.2f}ms")

Export Compliance Report

from torchforge.governance import ComplianceChecker

checker = ComplianceChecker()
report = checker.assess_model(model)

# Export reports
report.export_json("compliance_report.json")
report.export_pdf("compliance_report.pdf")

Support & Resources

Next Steps

  1. Try the comprehensive examples
  2. Build your own model with TorchForge
  3. Deploy to production
  4. Check compliance and governance
  5. Monitor in real-time
  6. Contribute to the project!

Built with ❤️ by Anil Prasad