Build your first neural network in minutes with VisionForge's visual interface.
In this guide, you'll create a simple image classification CNN:
graph LR
A[Input] --> B[Conv2D] --> C[ReLU] --> D[Linear] --> E[Output]
style A fill:#e3f2fd,stroke:#2196f3
style B fill:#e8f5e8,stroke:#4caf50
style C fill:#fff3e0,stroke:#ff9800
style D fill:#e8f5e8,stroke:#4caf50
style E fill:#f3e5f5,stroke:#9c27b0
-
Start the backend server
cd visionforge/project python manage.py runserver -
Start the frontend server
cd visionforge/project/frontend npm run dev -
Open your browser Navigate to
http://localhost:5173
You'll see four main areas:
graph TB
A[Block Palette<br/>Left Sidebar] --> B[Canvas<br/>Center]
C[Properties Panel<br/>Right Sidebar] --> B
D[Validation Panel<br/>Bottom] --> B
style A fill:#f3e5f5,stroke:#9c27b0
style B fill:#e8f5e8,stroke:#4caf50
style C fill:#fff3e0,stroke:#ff9800
style D fill:#ffebee,stroke:#f44336
- Open Block Palette (left sidebar)
- Click "Input" category
- Drag "Input" to the canvas
- Configure it:
- Click the Input block
- In Properties panel, set:
{ "inputShape": { "dims": [1, 3, 224, 224] } }
- Click "Basic" category in palette
- Drag "Conv2D" to the right of Input
- Connect them:
- Hover over Input's output port (right edge)
- Click and drag to Conv2D's input port (left edge)
- Release to create connection
- Configure Conv2D:
{ "out_channels": 32, "kernel_size": 3, "stride": 1, "padding": 1 }
- Drag "ReLU" from Basic category
- Connect Conv2D → ReLU
- No configuration needed for ReLU
- Drag "Linear" from Basic category
- Connect ReLU → Linear
- Configure Linear:
{ "out_features": 10 }
- Green lines = Valid connections ✅
- Red lines = Invalid connections ❌
- Yellow indicators = Warnings
⚠️
Look at the bottom panel for:
- ✅ "Architecture is valid" - You're ready to export!
- ❌ Error messages - Fix any issues before proceeding
- Click Export Button (top toolbar)
- Select PyTorch as framework
- Configure Export:
{ "class_name": "MyFirstModel", "include_imports": true } - Click "Generate Code"
You'll see PyTorch code like this:
import torch
import torch.nn as nn
import torch.nn.functional as F
class MyFirstModel(nn.Module):
def __init__(self):
super(MyFirstModel, self).__init__()
self.conv1 = nn.Conv2d(3, 32, kernel_size=3, stride=1, padding=1)
self.fc1 = nn.Linear(32 * 224 * 224, 10)
def forward(self, x):
x = F.relu(self.conv1(x))
x = x.view(x.size(0), -1) # Flatten
x = self.fc1(x)
return x- Copy the generated code
- Save it as
model.py - Test it:
import torch
from model import MyFirstModel
# Create model
model = MyFirstModel()
# Test with sample input
sample = torch.randn(1, 3, 224, 224)
output = model(sample)
print(f"Input shape: {sample.shape}")
print(f"Output shape: {output.shape}")You've just:
- ✅ Created your first neural network visually
- ✅ Learned to connect layers properly
- ✅ Exported working PyTorch code
- ✅ Validated your architecture
-
Add more layers:
- Add pooling layers for downsampling
- Add multiple conv blocks
- Add dropout for regularization
-
Experiment with parameters:
- Change filter counts (16, 64, 128)
- Try different kernel sizes (5×5, 7×7)
- Adjust stride and padding
-
Learn advanced features:
- Skip connections (ResNet style)
- Merge operations (Add, Concat)
- Group blocks (reusable components)
- Simple CNN Tutorial - Complete walkthrough
- ResNet Architecture - Skip connections
- LSTM Networks - Sequence modeling
- Interface Overview - Detailed feature guide
- Connection Rules - Layer compatibility
- Shape Inference - Understanding dimensions
| Shortcut | Action |
|---|---|
Ctrl+Z |
Undo |
Ctrl+Y |
Redo |
Delete |
Remove selected block |
Ctrl+C |
Copy blocks |
Ctrl+V |
Paste blocks |
- Start simple - Add layers incrementally
- Validate often - Check connections after each addition
- Read tooltips - Hover over elements for help
- Use the validation panel - Fix errors early
CNN Pattern:
Input → Conv2D → ReLU → MaxPool2D → Conv2D → ReLU → Flatten → Linear
Classification Pattern:
Features → Linear → ReLU → Dropout → Linear → Softmax
Stuck on something?
- Check validation messages - Bottom panel shows specific errors
- Hover over connections - See shape information
- Consult the docs - Troubleshooting Guide
- Ask the AI assistant - Built-in help in the interface
Common Issues:
- Red connections: Check Layer Connection Rules
- Shape errors: Review Shape Inference
- Export issues: Verify all parameters are configured
Ready to dive deeper? → Architecture Design Guide