Hello World
Get started with Valohai in 10 minutes. Install the CLI, create a project, and run your first ML execution with full reproducibility.
Start building reproducible ML experiments in minutes. This guide walks you through creating and running your first Valohai execution with the help of the valohai-utils library.
Prerequisites
Python 3.8 or later
A Valohai account (create one free)
Install the CLI
Get the Valohai CLI and utilities for experiment tracking:
pip install valohai-cliTip: Use
pipx install valohai-clito avoid dependency conflicts.
Login
vh loginCreate Your First Project
Set up a project directory and connect it to Valohai:
mkdir my-ml-project
cd my-ml-project
vh project create --name my-ml-projectThis links your local directory to Valohai for experiment tracking.
Already have a project? Link to it with
vh project linkand select from the list.
Write Your Training Script
Save this as train.py:
import valohai
import json
# Define hyperparameters with automatic tracking
params = {
'learning_rate': valohai.parameters('learning_rate').value,
'epochs': valohai.parameters('epochs').value
}
print(f"Training with lr={params['learning_rate']} for {params['epochs']} epochs")
# Simulate training (replace with your model code)
for epoch in range(params['epochs']):
accuracy = 0.85 + (epoch * 0.02) # Mock improving accuracy
valohai.log_metric("accuracy", accuracy, step=epoch)
print(f"Epoch {epoch}: accuracy={accuracy:.3f}")
# Save model or results
output_path = valohai.outputs().path("model_results.json")
with open(output_path, 'w') as f:
json.dump({
'final_accuracy': accuracy,
'parameters': params,
'model_version': '1.0'
}, f)
print(f"Results saved to {output_path}")
print("Training complete!")Configure Your Execution Environment
Create valohai.yaml to define how your code runs:
- step:
name: train
image: python:3.9
command:
- pip install valohai-utils
- python train.py
parameters:
- name: learning_rate
type: float
default: 0.001
- name: epochs
type: integer
default: 10About Docker Images
The image field specifies your execution environment. Think of it as a clean environment with only the software you specify. For example:
Python:
python:3.9,python:3.11TensorFlow:
tensorflow/tensorflow:2.13.0PyTorch:
pytorch/pytorch:2.0.0-cuda11.7-cudnn8-runtimeR:
r-base:4.3.0Custom: Your own Docker images with specific dependencies
Note: The Docker image can different from your local Python version. Valohai runs your code in this isolated environment for reproducibility.
Run Your First Execution
Submit the job and watch logs in real-time:
vh execution run train --adhoc --watchWhat happens:
--adhocuploads your current code without pushing to Git (great for testing)--watchstreams logs to your terminalValohai tracks all inputs, outputs, and parameters automatically
View Results in the UI
Open your execution in the browser:
vh execution openThe UI shows:
Real-time logs and metrics charts
Parameter values and configuration
Output files (downloadable)
Full reproducibility information
What's Next?
You've successfully run your first Valohai execution! Here's where to go next:
🎓 Valohai Academy Free courses on MLOps best practices and advanced Valohai features
Working with Data Upload datasets and connect them to executions
Building Pipelines Chain multiple steps for end-to-end ML workflows
Using Git Integration Connect repositories for production-ready experiments
Troubleshooting
Last updated
Was this helpful?
