DocsQuick Start
Quick Start Guide
Get CyxWiz up and running in minutes. This guide covers the fastest path to building and running all components.
5-Minute Setup
Prerequisites Check
# Check required tools cmake --version # 3.20+ git --version # 2.0+ rustc --version # 1.70+ python --version # 3.8+
Clone and Build
# Clone repository git clone https://github.com/CYXWIZ-Lab/CYXWIZ.git cd CyxWiz # Run setup script (installs dependencies) ./scripts/setup.sh # Linux/macOS # or setup.bat # Windows (Developer Command Prompt) # Build everything ./scripts/build.sh # Linux/macOS # or build.bat # Windows
Run Components
# CyxWiz Engine (Desktop Client) ./build/linux-release/bin/cyxwiz-engine # CyxWiz Server Node (Compute Worker) ./build/linux-release/bin/cyxwiz-server-node # CyxWiz Central Server (Orchestrator) cd cyxwiz-central-server && cargo run --release
Your First ML Model
Using the Node Editor
- Launch CyxWiz Engine
- Create New Project: File > New Project
- Open Node Editor: View > Node Editor
- Build a Simple Network:
[Data Input] → [Dense 784→128] → [Dense 128→10] → [Model Output]
Using Python Scripting
Open the Console panel (View > Console) and try:
import cyxwiz as cyx
model = cyx.Sequential([
cyx.layers.Dense(128, activation='relu',
input_shape=(784,)),
cyx.layers.Dropout(0.2),
cyx.layers.Dense(64, activation='relu'),
cyx.layers.Dense(10, activation='softmax')
])
model.summary()Project Structure
After creating a project, you'll have:
MyProject/ ├── models/ # .cyxgraph files (node editor graphs) ├── scripts/ # Python scripts ├── data/ # Datasets ├── outputs/ │ ├── checkpoints/ # Model checkpoints │ └── logs/ # Training logs └── project.json # Project configuration
Loading Data
From File
# CSV
data = cyx.datasets.load_csv('data/train.csv')
# Images from folder
train_data = cyx.datasets.ImageFolder(
'data/images',
transform=cyx.transforms.Compose([
cyx.transforms.Resize(224),
cyx.transforms.ToTensor(),
cyx.transforms.Normalize(
[0.485, 0.456, 0.406],
[0.229, 0.224, 0.225]
)
])
)Built-in Datasets
# MNIST
(X_train, y_train), (X_test, y_test) = \
cyx.datasets.mnist.load_data()
# CIFAR-10
(X_train, y_train), (X_test, y_test) = \
cyx.datasets.cifar10.load_data()
# Fashion-MNIST
(X_train, y_train), (X_test, y_test) = \
cyx.datasets.fashion_mnist.load_data()Training a Model
# Compile model
model.compile(
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy']
)
# Configure training
history = model.fit(
X_train, y_train,
epochs=10,
batch_size=32,
validation_data=(X_val, y_val),
callbacks=[
cyx.callbacks.EarlyStopping(patience=3),
cyx.callbacks.ModelCheckpoint('best_model.h5', save_best_only=True),
cyx.callbacks.TensorBoard(log_dir='./logs')
]
)
# Plot training history
cyx.plot.training_history(history)Using GPU
import cyxwiz as cyx
# List devices
devices = cyx.device.list_devices()
for d in devices:
print(f"{d.id}: {d.name} ({d.type})")
# Set device
cyx.device.set_device(0) # First GPU
# Or by type
cyx.device.set_device('cuda', 0)
# Explicit device placement
with cyx.device.DeviceScope('cuda:0'):
model.fit(X_train, y_train, epochs=10)Saving and Loading
Models
# Save model
model.save('my_model.h5')
# Load model
model = cyx.load_model('my_model.h5')
# Save weights only
model.save_weights('weights.h5')
model.load_weights('weights.h5')Node Editor Graphs
- Save: File > Save or
Ctrl+S - Load: File > Open or
Ctrl+O - Export: File > Export > PyTorch/TensorFlow/Keras
Keyboard Shortcuts
Global
| New Project | Ctrl+N |
| Open Project | Ctrl+O |
| Save | Ctrl+S |
| Undo | Ctrl+Z |
| Command Palette | Ctrl+Shift+P |
Node Editor
| Add Node | A |
| Delete | X |
| Duplicate | D |
| Frame Selected | F |
| Quick Search | Space |
Console
| Execute | Enter |
| Execute Selection | Ctrl+Enter |
| Cancel | Ctrl+C |
| History | Up/Down |
Common Tasks
Create CNN for Images
model = cyx.Sequential([
cyx.layers.Conv2D(32, (3, 3),
activation='relu',
input_shape=(28, 28, 1)),
cyx.layers.MaxPool2D((2, 2)),
cyx.layers.Conv2D(64, (3, 3),
activation='relu'),
cyx.layers.MaxPool2D((2, 2)),
cyx.layers.Flatten(),
cyx.layers.Dense(64, activation='relu'),
cyx.layers.Dense(10, activation='softmax')
])Create RNN for Sequences
model = cyx.Sequential([
cyx.layers.Embedding(10000, 128,
input_length=100),
cyx.layers.LSTM(64,
return_sequences=True),
cyx.layers.LSTM(32),
cyx.layers.Dense(1, activation='sigmoid')
])Troubleshooting
"CUDA not available"
# Check CUDA print(cyx.device.cuda_available()) # Verify: # 1. NVIDIA driver installed # 2. CUDA toolkit installed # 3. ArrayFire built with CUDA
"Out of memory"
# Reduce batch size model.fit(X, y, batch_size=16) # Clear cache cyx.device.empty_cache() # Use mixed precision model.compile(..., mixed_precision=True)
"Module not found"
# Ensure Python bindings are built cmake --build build/linux-release \ --target pycyxwiz # Add to PYTHONPATH export PYTHONPATH=$PYTHONPATH:\ ./build/linux-release/python
Next Steps
Explore Examples
Check examples/ folder for sample projects
Read Documentation
Full docs at docs.cyxwiz.com
Join Community
Discord server for help and discussion
Contribute
See Contributing Guide