单目3D初始代码

This commit is contained in:
zhao.zhu
2026-06-24 09:35:46 +08:00
commit 04a5895b6b
1153 changed files with 340700 additions and 0 deletions

View File

@@ -0,0 +1,196 @@
---
comments: true
description: Track all account activity and events on Ultralytics Platform with the activity feed, including training, uploads, and system events.
keywords: Ultralytics Platform, activity feed, audit log, notifications, event tracking, activity history
---
# Activity Feed
[Ultralytics Platform](https://platform.ultralytics.com) provides a comprehensive activity feed that tracks all events and actions across your account. Monitor training progress and system events in one centralized location.
![Ultralytics Platform Activity Page Inbox Tab With Event List](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/activity-page-inbox-tab-with-event-list.avif)
## Overview
The Activity Feed serves as your central hub for:
- **Training updates**: Job started, completed, failed, or cancelled
- **Data changes**: Datasets created, modified, or deleted
- **Model events**: Model creation, exports, and deployments
- **Project events**: Project creation, updates, and deletion
- **API key events**: Key creation and revocation
- **Settings changes**: Profile and account updates
- **System alerts**: Onboarding and account notifications
## Accessing Activity
Navigate to the Activity Feed:
1. Click **Activity** in the sidebar
2. Or navigate directly to `/activity`
![Ultralytics Platform Activity Page Inbox With Search And Date Filter](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/activity-page-inbox-with-search-and-date-filter.avif)
## Activity Types
The Platform tracks the following resource types and actions:
| Resource Type | Description | Icon Color |
| -------------- | ------------------------------------------- | ------------------- |
| **project** | [Project](../train/projects.md) events | Blue |
| **dataset** | [Dataset](../data/datasets.md) events | Green |
| **model** | [Model](../train/models.md) events | Purple |
| **training** | Training job events | Blue/Green/Red/Gray |
| **settings** | Account settings changes | Gray |
| **api_key** | [API key](api-keys.md) creation/revocation | Amber |
| **export** | Model export events | Amber |
| **deployment** | [Deployment](../deploy/endpoints.md) events | Blue |
| **onboarding** | Onboarding completion | Green |
### Action Types
Each event includes one of the following action types:
| Action | Description |
| ------------- | -------------------------------------------- |
| **created** | Resource was created |
| **updated** | Resource was modified |
| **deleted** | Resource was permanently deleted |
| **trashed** | Resource was moved to trash |
| **restored** | Resource was restored from trash |
| **started** | Training or export job was started |
| **completed** | Training or export job finished successfully |
| **failed** | Training or export job failed |
| **cancelled** | Training or export job was cancelled |
| **uploaded** | Data was uploaded (images, model weights) |
| **shared** | Resource visibility changed to public |
| **unshared** | Resource visibility changed to private |
| **exported** | Model was exported to a deployment format |
| **cloned** | Resource was cloned to another location |
## Inbox and Archive
Organize your activity with two tabs:
### Inbox
The Inbox shows recent activity:
- New events appear here automatically
- Unseen events are highlighted with a colored background
- Events are automatically marked as seen when you view the page
- Click **Archive** on individual events to move them out of Inbox
### Archive
Move events to Archive to keep your Inbox clean:
- Click **Archive** on individual events
- Click **Archive all** to archive all Inbox events at once
- Access archived events via the `Archive` tab
- Click **Restore** on archived events to move them back to Inbox
## Search and Filtering
Find specific events quickly:
### Search
Use the search bar to find events by resource name or event description.
### Date Range
Filter by time period using the date range picker:
- Select a start and end date
- No default date filter (shows all events)
- Custom date ranges supported
![Ultralytics Platform Activity Page Date Range Picker Expanded](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/activity-page-date-range-picker-expanded.avif)
## Event Details
Each event displays:
| Field | Description |
| --------------- | -------------------------------------------------- |
| **Icon** | Resource type indicator |
| **Description** | What happened (e.g., "Created project my-project") |
| **Timestamp** | Relative time (e.g., "2 hours ago") |
| **Metadata** | Additional context when available |
## Undo Support
Some actions support undo directly from the Activity feed:
- **Settings changes**: Click **Undo** next to a settings update event to revert the change
- Undo is available for a short time window after the action
## Pagination
The Activity feed supports pagination:
- Default page size: 20 events
- Navigate between pages using the pagination controls
- Page size is configurable via URL query parameter
## API Access
Access activity programmatically via the [REST API](../api/index.md#activity-api):
=== "List Activity"
```bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/activity
```
=== "Filter and Search"
```bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://platform.ultralytics.com/api/activity?archived=false&search=model&page=1&limit=20"
```
=== "Mark Seen"
```bash
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"all": true}' \
https://platform.ultralytics.com/api/activity/mark-seen
```
=== "Archive"
```bash
# Archive specific events
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"eventIds": ["event_id_here"], "archive": true}' \
https://platform.ultralytics.com/api/activity/archive
# Archive all events
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"all": true, "archive": true}' \
https://platform.ultralytics.com/api/activity/archive
```
## FAQ
### How long is activity history retained?
Activity history is retained indefinitely for your account. Archived events are also kept permanently.
### Can I export my activity history?
Yes, use the GDPR data export feature in [`Settings > Profile`](settings.md#gdpr-compliance) to download all account data including activity history.
### What happens to activity when I delete a resource?
The activity event remains in your history with a note that the resource was deleted. You can still see what happened even after deletion.
### Does activity work with team workspaces?
Yes, the Activity feed shows events for the currently active workspace. Switch workspaces in the sidebar to see activity for different workspaces.

View File

@@ -0,0 +1,257 @@
---
comments: true
description: Create and manage API keys for Ultralytics Platform with secure AES-256-GCM encryption for remote training and programmatic access.
keywords: Ultralytics Platform, API keys, authentication, remote training, security, access control
---
# API Keys
[Ultralytics Platform](https://platform.ultralytics.com) API keys enable secure programmatic access for remote training, inference, and automation. Create named keys with AES-256-GCM encryption for different use cases.
![Ultralytics Platform Settings Profile Tab Api Keys Section With Key List](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-profile-tab-api-keys-section-with-key-list.avif)
## Create API Key
Create a new API key:
1. Go to **Settings > Profile**
2. Scroll to the **API Keys** section
3. Click **Create Key**
4. Enter a name for the key (e.g., "Training Server")
5. Click **Create Key**
![Ultralytics Platform Settings Profile Tab Create Api Key Dialog](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-profile-tab-create-api-key-dialog.avif)
### Key Name
Give your key a descriptive name:
- `training-server` - For remote training machines
- `ci-pipeline` - For CI/CD integration
- `local-dev` - For local development
### Key Display
After creation, the key is displayed once:
![Ultralytics Platform Settings Profile Tab Api Key Created Copy Dialog](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-profile-tab-api-key-created-copy-dialog.avif)
!!! tip "Copy Your Key"
Copy your key after creation for easy reference. Keys are also visible in the key list — the platform decrypts and displays full key values so you can copy them anytime.
## Key Format
API keys follow this format:
```
ul_a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4
```
- **Prefix**: `ul_` identifies Ultralytics keys
- **Body**: 40 random hexadecimal characters
- **Total**: 43 characters
### Key Security
- Keys are stored with **AES-256-GCM encryption**
- Authentication uses SHA-256 hash for fast prefix lookup and hash comparison
- Full key values are never stored in plaintext
## Using API Keys
### Environment Variable
Set your key as an environment variable:
=== "Linux/macOS"
```bash
export ULTRALYTICS_API_KEY="ul_your_key_here"
```
=== "Windows"
```powershell
$env:ULTRALYTICS_API_KEY = "ul_your_key_here"
```
### YOLO CLI
Set the key using the YOLO CLI:
```bash
yolo settings api_key="ul_your_key_here"
```
### In Code
Use the key in your Python scripts:
```python
import os
# From environment (recommended)
api_key = os.environ.get("ULTRALYTICS_API_KEY")
# Or directly (not recommended for production)
api_key = "ul_your_key_here"
```
### HTTP Headers
Include the key in API requests:
```bash
curl -H "Authorization: Bearer ul_your_key_here" \
https://platform.ultralytics.com/api/...
```
See the [REST API Reference](../api/index.md) for all available endpoints.
### Remote Training
Enable metric streaming with your key.
!!! warning "Package Version Requirement"
Platform integration requires **ultralytics>=8.4.14**. Lower versions will NOT work with Platform.
```bash
pip install "ultralytics>=8.4.14"
```
```bash
export ULTRALYTICS_API_KEY="ul_your_key_here"
yolo train model=yolo26n.pt data=coco.yaml project=username/project name=exp1
```
See [Cloud Training](../train/cloud-training.md#remote-training) for the complete remote training guide.
## Manage Keys
### View Keys
All keys are listed in `Settings > Profile` under the API Keys section:
Each key card shows the key name, the full decrypted key value (copyable), relative creation time, and a revoke button.
### Revoke Key
Revoke a key that's compromised or no longer needed:
1. Find the key in the API Keys section
2. Click the **Revoke** (trash) button
3. Confirm revocation
!!! warning "Immediate Effect"
Revocation is immediate. Any applications using the key will stop working.
### Regenerate Key
If a key is compromised:
1. Create a new key with the same name
2. Update your applications
3. Revoke the old key
## Workspace API Keys
API keys are scoped to the currently active workspace:
- **Personal workspace**: Keys authenticate as your personal account
- **Team workspace**: Keys authenticate within the team context
When switching workspaces in the sidebar, the API Keys section shows keys for that workspace. Editor role or higher is required to manage workspace API keys. See [Teams](settings.md#teams-tab) for role details.
## Security Best Practices
### Do
- Store keys in environment variables
- Use separate keys for different environments
- Revoke unused keys promptly
- Rotate keys periodically
- Use descriptive names to identify key purposes
### Don't
- Commit keys to version control
- Share keys between applications
- Log keys in application output
- Embed keys in client-side code
### Key Rotation
Rotate keys periodically for security:
1. Create new key with same name
2. Update applications to use new key
3. Verify applications work correctly
4. Revoke old key
!!! tip "Rotation Schedule"
Consider rotating keys every 90 days for sensitive applications.
## Troubleshooting
### Invalid Key Error
```
Error: Invalid API key
```
Solutions:
1. Verify key is copied correctly (including the `ul_` prefix)
2. Check key hasn't been revoked
3. Confirm environment variable is set
4. Ensure you're using `ultralytics>=8.4.14`
### Permission Denied
```
Error: Permission denied for this operation
```
Solutions:
1. Verify you're the resource owner or have appropriate workspace access
2. Check the key belongs to the correct workspace
3. Create a new key if needed
### Rate Limited
```
Error: Rate limit exceeded
```
Solutions:
1. Reduce request frequency — see the [rate limit table](../api/index.md#per-api-key-limits) for per-endpoint limits
2. Implement exponential backoff using the `Retry-After` header
3. Use a [dedicated endpoint](../deploy/endpoints.md) for unlimited inference throughput
## FAQ
### How many keys can I create?
There's no hard limit on API keys. Create as many as needed for different applications and environments.
### Do keys expire?
Keys don't expire automatically. They remain valid until revoked. Consider implementing rotation for security.
### Can I see my key after creation?
Yes, full key values are visible in the key list on `Settings > Profile`. The Platform decrypts and displays your keys so you can copy them anytime.
### Are keys region-specific?
Keys work across regions but access data in your account's region only.
### Can I share keys with team members?
Better practice: Have each team member create their own key. For team workspaces, each member with Editor role or higher can create keys scoped to that workspace.

View File

@@ -0,0 +1,312 @@
---
comments: true
description: Manage credits, payments, and subscriptions on Ultralytics Platform with transparent pricing for cloud training and deployments.
keywords: Ultralytics Platform, billing, credits, pricing, subscription, payments, training costs
---
# Billing
[Ultralytics Platform](https://platform.ultralytics.com) uses a credit-based billing system for cloud training and dedicated endpoints. Add credits, track usage, and manage your subscription from `Settings > Billing`.
![Ultralytics Platform Settings Billing Tab Credit Balance And Plan Card](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-billing-tab-credit-balance-and-plan-card.avif)
## Plans
Choose the plan that fits your needs. Compare plans in `Settings > Plans`:
![Ultralytics Platform Settings Plans Tab Free Pro Enterprise Comparison](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-plans-tab-free-pro-enterprise-comparison.avif)
| Feature | Free | Pro ($29/mo) | Enterprise |
| -------------------------- | ---------- | --------------- | ---------- |
| **Signup Credit** | $5 / $25\* | - | Custom |
| **Monthly Credit** | - | $30/seat/month | Custom |
| **Models** | 100 | 500 | Unlimited |
| **Concurrent Trainings** | 3 | 10 | Unlimited |
| **Storage** | 100 GB | 500 GB | Unlimited |
| **Deployments** | 3 | 10 (warm-start) | Unlimited |
| **Teams** | - | Up to 5 members | Up to 50 |
| **Best GPUs (H200, B200)** | - | Yes | Yes |
| **SSO / SAML** | - | - | Yes |
| **Enterprise License** | - | - | Yes |
| **License** | AGPL-3.0 | AGPL-3.0 | Enterprise |
\*Free plan: $5 at signup, or $25 if you verify a company/work email address.
### Free Plan
Get started at no cost:
- $5 signup credit ($25 for verified company/work emails)
- Unlimited public and private projects and datasets
- 100 models
- 3 concurrent cloud trainings
- 3 deployments
- 100 GB storage
- Model export to all formats
- Manual annotation
- Community support
!!! tip "Company Email Bonus"
Sign up with a company email address (not gmail.com, outlook.com, etc.) to receive $25 in signup credits instead of $5.
### Pro Plan
For professionals and small teams ($29/month or $290/year):
- $30/seat/month in credits (recurring)
- 500 models
- 10 concurrent cloud trainings
- 500 GB storage
- 10 warm-start deployments (faster cold starts)
- Team collaboration (up to 5 members)
- Access to the best GPUs (H200, B200)
- Priority support
!!! tip "Save with Yearly Billing"
Choose yearly billing ($290/year) to save 17% compared to monthly billing.
### Enterprise
For organizations with advanced needs:
- $1,000/month in credits (starting allocation)
- Custom credit allocation
- Unlimited models, storage, trainings, and deployments
- Enterprise License (commercial use, non-AGPL)
- SSO / SAML authentication
- RBAC with 4 roles (Owner, Admin, Editor, Viewer)
- Custom roles with granular permissions
- On-premise deployment options
- Compliance (ISO/SOC)
- SLA guarantees
- Enterprise support
Contact [sales@ultralytics.com](mailto:sales@ultralytics.com) for Enterprise pricing.
## Credits
Credits are the currency for Platform compute services.
### Credit Balance
View your balance in `Settings > Billing`:
![Ultralytics Platform Settings Billing Tab Credit Balance With Topup Button](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-billing-tab-credit-balance-with-topup-button.avif)
| Balance Type | Description |
| ----------------------- | ------------------------------------- |
| **Total Balance** | Available credits for cloud training |
| **Promotional Credits** | Credits from signup or monthly grants |
### Credit Uses
Credits are consumed by:
| Service | Rate |
| ------------------ | ---------------- |
| **Cloud Training** | GPU rate x hours |
## Add Credits
Top up your balance:
1. Go to **Settings > Billing**
2. Click **Top Up**
3. Select or enter amount ($5 - $1,000)
4. Complete payment
![Ultralytics Platform Settings Billing Tab Topup Amount Selection Dialog](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-billing-tab-topup-amount-selection-dialog.avif)
### Top-Up Presets
| Amount |
| ------ |
| $10 |
| $20 |
| $50 |
| $100 |
| $500 |
Custom amounts between $5 and $1,000 are also supported.
### Auto Top-Up
Enable automatic credit purchases when your balance drops below a threshold:
1. Go to **Settings > Billing**
2. Toggle **Auto Top-Up** on
3. Set **Threshold** (balance level that triggers a top-up)
4. Set **Amount** (credits to purchase when triggered)
5. Click **Save**
Default settings: threshold $20, amount $100.
!!! tip "Uninterrupted Training"
Enable auto top-up to ensure training jobs are never interrupted by insufficient credits.
### Payment Methods
Manage payment methods in `Settings > Billing`:
- **Add Card**: Click **Add Card** to add a credit or debit card
- **Set Default**: Set a default payment method for top-ups and subscriptions
- **Remove**: Remove payment methods you no longer need
### Billing Address
Set a billing address for invoices:
1. Go to **Settings > Billing**
2. Click **Add Address** (or **Edit** if already set)
3. Enter your billing details (name, address, country)
4. Click **Save**
## Training Cost Flow
Cloud training estimates cost before start and charges for actual GPU time used.
```mermaid
flowchart LR
A[Start Training] --> B[Estimate Cost]
B --> C[Run Training]
C --> D[Charge Actual Usage]
```
### How It Works
1. **Estimate**: Platform calculates estimated cost based on model size, dataset size, epochs, and GPU
2. **Authorize Start**: Your available balance is checked before training starts
3. **Train**: Job runs on the selected GPU
4. **Charge**: On completion (or cancellation), billing uses actual runtime
!!! success "Consumer Protection"
You pay for actual compute time used, including partial runs that are cancelled.
## Training Costs
Cloud training costs depend on GPU selection:
| GPU | VRAM | Rate/Hour |
| ------------ | ------ | --------- |
| RTX 2000 Ada | 16 GB | $0.24 |
| RTX A4500 | 20 GB | $0.24 |
| RTX A5000 | 24 GB | $0.26 |
| RTX 4000 Ada | 20 GB | $0.38 |
| L4 | 24 GB | $0.39 |
| A40 | 48 GB | $0.40 |
| RTX 3090 | 24 GB | $0.46 |
| RTX A6000 | 48 GB | $0.49 |
| RTX 4090 | 24 GB | $0.59 |
| RTX 6000 Ada | 48 GB | $0.77 |
| L40S | 48 GB | $0.86 |
| RTX 5090 | 32 GB | $0.89 |
| L40 | 48 GB | $0.99 |
| A100 PCIe | 80 GB | $1.39 |
| A100 SXM | 80 GB | $1.49 |
| RTX PRO 6000 | 96 GB | $1.89 |
| H100 PCIe | 80 GB | $2.39 |
| H100 SXM | 80 GB | $2.69 |
| H100 NVL | 94 GB | $3.07 |
| H200 NVL | 143 GB | $3.39 |
| H200 SXM | 141 GB | $3.59 |
| B200 | 180 GB | $4.99 |
See [Cloud Training](../train/cloud-training.md) for complete GPU options and pricing.
### Cost Calculation
```
Total Cost = GPU Rate x Training Time (hours)
```
Example: Training for 2.5 hours on RTX PRO 6000
```
$1.89 x 2.5 = $4.73
```
## Upgrade to Pro
Upgrade for more features and monthly credits:
1. Go to **Settings > Plans**
2. Click **Upgrade to Pro**
3. Choose billing cycle (Monthly or Yearly)
4. Complete checkout
<!-- Screenshot: settings-plans-tab-upgrade-to-pro-dialog.avif -->
### Pro Benefits
After upgrading:
- $30/seat/month credit added immediately and each month
- Storage increased to 500 GB
- 500 models
- 10 concurrent cloud trainings
- 10 warm-start deployments
- Team collaboration (up to 5 members)
- Access to best GPUs
- Priority support
### Cancel Pro
Cancel anytime from the billing portal:
1. Go to **Settings > Billing**
2. Click **Manage Subscription**
3. Select **Cancel**
4. Confirm cancellation
!!! note "Cancellation Timing"
Pro features remain active until the end of your billing period. Monthly credits stop at cancellation.
## Transaction History
View all transactions in `Settings > Billing`:
![Ultralytics Platform Settings Billing Tab Transaction History Table](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-billing-tab-transaction-history-table.avif)
| Column | Description |
| ----------- | ----------------------------------------------------------------------------------------------------------- |
| **Date** | Transaction date |
| **Type** | Signup Bonus, Credit Purchase, Monthly Grant, Training, Refund, Adjustment, Auto Top-Up, Auto Top-Up Failed |
| **Amount** | Transaction value (green for credits, red for charges) |
| **Balance** | Resulting balance after transaction |
| **Details** | Additional context (model link, receipt, period) |
## FAQ
### What happens when I run out of credits?
- **Active training**: Cannot start new training jobs
- **Deployments**: Continue running
- **New training**: Requires credits to start
Add credits or enable auto top-up to continue training.
### Are unused credits refundable?
- **Purchased credits**: No refunds
- **Signup/monthly credits**: No refunds (use it or lose it)
### Can I transfer credits?
Credits are not transferable between accounts.
### How do I get an invoice?
Transaction receipts are available in the transaction history. Click the receipt icon next to any purchase transaction.
### What if training fails?
You're only charged for completed compute time. Failed jobs don't charge for unused time.
### Is there a free trial?
The Free plan includes $5 signup credit ($25 with a company email) -- essentially a free trial. No credit card required to start.

123
docs/en/platform/account/index.md Executable file
View File

@@ -0,0 +1,123 @@
---
comments: true
description: Manage your Ultralytics Platform account including API keys, billing, and user settings with security and GDPR compliance.
keywords: Ultralytics Platform, account, settings, API keys, billing, security, GDPR
---
# Account Management
[Ultralytics Platform](https://platform.ultralytics.com) provides comprehensive account management for API keys, billing, teams, and user settings. Manage your account securely with GDPR-compliant data handling.
## Overview
The Account section helps you:
- **Configure** your profile, social links, and workspace preferences
- **Create** and manage API keys for remote training and programmatic access
- **Track** credit balance, payments, and billing
- **Collaborate** with team members using shared workspaces
- **Monitor** account activity and audit events
- **Recover** deleted items from Trash within 30 days
- **Export** your data for GDPR compliance
![Ultralytics Platform Settings Page Profile Tab With Social Links](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-page-profile-tab-with-social-links.avif)
## Account Features
| Feature | Description |
| ------------ | -------------------------------------------------------- |
| **Settings** | Profile, social links, emails, data region, and API keys |
| **Plans** | Free, Pro, and Enterprise plan comparison |
| **Billing** | Credits, payment methods, and transaction history |
| **Teams** | Members, roles, invites, and seat management |
| **Trash** | Recover deleted items within 30 days |
| **Emails** | Add, remove, verify, and set primary email address |
| **Activity** | Event log with inbox, archive, search, and undo |
## Settings Tabs
Account management is organized into tabs within `Settings`:
| Tab | Description |
| --------- | ---------------------------------------------------------------- |
| `Profile` | Display name, bio, company, use case, emails, social links, keys |
| `Plans` | Compare Free, Pro, and Enterprise plans |
| `Billing` | Credit balance, top-up, payment methods, transactions |
| `Teams` | Member list, roles, invites, seat allocation |
| `Trash` | Soft-deleted projects, datasets, and models |
## Security
Ultralytics Platform implements multiple security measures:
### Authentication
- **OAuth2**: Sign in with Google or GitHub
- **Email/password**: Sign in with email and password
- **Session management**: Secure, expiring sessions
### Data Protection
- **Encryption**: All data encrypted at rest and in transit
- **API Keys**: AES-256-GCM encrypted storage
- **Region isolation**: Data stays in your selected region (US, EU, or AP)
### Access Control
- **Per-key management**: Create and revoke API keys per workspace
- **Team roles**: Owner, Admin, Editor, and Viewer roles (Pro and Enterprise)
- **Audit logging**: Track all account activity in the Activity feed
## Quick Links
- [**Settings**](settings.md): Profile, social links, data region, and account management
- [**Billing**](billing.md): Credits, plans, and payment management
- [**API Keys**](api-keys.md): Create and manage API keys
- [**Activity**](activity.md): Track account events and notifications
- [**Trash**](trash.md): Recover deleted projects, datasets, and models
## FAQ
### How do I change my username?
Usernames cannot be changed after account creation. Your username is set during onboarding and is permanent.
### How do I change my email?
Manage your email addresses directly on the platform:
1. Go to `Settings > Profile`
2. Scroll to the **Emails** section
3. Add a new email, verify it, and set it as primary
### How do I delete my account?
Account deletion is available in Settings:
1. Go to `Settings > Profile`
2. Scroll to the bottom
3. Click **Delete Account**
4. Confirm deletion
!!! warning "Permanent Action"
Account deletion is permanent. All data, models, and deployments are removed. Export your data first if needed.
### Is my data secure?
Yes, Ultralytics Platform implements:
- Secure encrypted connections (HTTPS)
- AES-256-GCM encryption for API keys
- Encryption at rest for all stored data
- Regional data isolation (US, EU, AP)
### Can I change my data region?
No, data region is selected during signup and cannot be changed. To use a different region:
1. Export your data
2. Create a new account in desired region
3. Re-upload your data
This ensures data residency compliance.

View File

@@ -0,0 +1,297 @@
---
comments: true
description: Configure your Ultralytics Platform profile, preferences, and data settings with GDPR-compliant data export and deletion options.
keywords: Ultralytics Platform, settings, profile, preferences, GDPR, data export, privacy
---
# Settings
[Ultralytics Platform](https://platform.ultralytics.com) settings allow you to configure your profile, social links, workspace preferences, and manage your data with GDPR-compliant export and deletion options.
Settings is organized into five tabs: `Profile`, `Plans`, `Billing`, `Teams`, and `Trash`.
## Profile Tab
The `Profile` tab contains your profile information, social links, API keys, data region, and account management options.
### Profile Information
Update your profile information:
![Ultralytics Platform Settings Profile Tab Display Name Bio Company Fields](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-profile-tab-display-name-bio-company-fields.avif)
| Field | Description |
| ---------------- | ----------------------------------------- |
| **Display Name** | Your public name |
| **Username** | Unique identifier (set at signup) |
| **Company** | Company or organization name |
| **Use Case** | Primary application (select from list) |
| **Bio** | Short description (minimum 10 characters) |
| **Profile Icon** | Avatar with color, initials, or image |
#### Username Rules
- 4-32 characters
- Lowercase letters, numbers, hyphens
- Cannot start/end with hyphen
- Must be unique
!!! note "Username is Permanent"
Your username is set during onboarding and cannot be changed. It appears in all your public URLs (e.g., `platform.ultralytics.com/username`).
#### Use Case Options
| Use Case | Description |
| ----------------------- | -------------------------- |
| Manufacturing & QC | Quality control workflows |
| Retail & Inventory | Retail and inventory tasks |
| Security & Surveillance | Security monitoring |
| Healthcare & Medical | Medical imaging |
| Automotive & Robotics | Self-driving and robotics |
| Agriculture | Agricultural monitoring |
| Research & Academia | Academic research |
| Personal Project | Personal or hobby projects |
### Edit Profile
1. Go to **Settings > Profile**
2. Update fields (display name, company, use case, bio)
3. Click **Save Changes**
### Social Links
Connect your professional profiles:
![Ultralytics Platform Settings Profile Tab Social Links Grid](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-profile-tab-social-links-grid.avif)
| Platform | Format |
| ------------------ | -------------------- |
| **GitHub** | username |
| **LinkedIn** | profile-slug |
| **X (Twitter)** | username |
| **YouTube** | channel-handle |
| **Bilibili** | user-id |
| **Google Scholar** | user-id |
| **Discord** | username |
| **WeChat** | username |
| **Website** | https://yoursite.com |
Social links appear on your public profile page.
### Emails
Manage email addresses linked to your account in the `Profile` tab:
<!-- Screenshot: settings-profile-tab-emails-section.avif -->
| Action | Description |
| ------------------ | ---------------------------------------------- |
| **Add Email** | Add a new email address to your account |
| **Remove** | Remove a non-primary email address |
| **Verify** | Send a verification email to confirm ownership |
| **Set as Primary** | Set a verified email as your primary address |
!!! note "Primary Email"
Your primary email is used for notifications and account recovery. Only verified emails can be set as primary.
### API Keys
API keys are managed directly on the `Profile` tab. See [API Keys](api-keys.md) for full documentation.
### Data Region
View your data region on the `Profile` tab:
| Region | Location | Best For |
| ------ | ------------- | ------------------------------- |
| **US** | United States | Americas users |
| **EU** | Europe | European users, GDPR compliance |
| **AP** | Asia Pacific | Asia-Pacific users |
!!! note "Region is Permanent"
Data region is selected during signup and cannot be changed. All your data stays in this region.
### Storage Usage
Monitor your storage consumption on the `Profile` tab:
![Ultralytics Platform Settings Profile Tab Storage Usage Card](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-profile-tab-storage-usage-card.avif)
| Type | Description |
| ------------ | ----------------------- |
| **Datasets** | Image and label storage |
| **Models** | Checkpoint storage |
| **Exports** | Exported model formats |
#### Storage Limits
| Plan | Limit |
| ---------- | --------- |
| Free | 100 GB |
| Pro | 500 GB |
| Enterprise | Unlimited |
#### Reduce Storage
To free up storage:
1. Delete unused datasets
2. Remove old model checkpoints
3. Delete exported formats
4. Empty trash ([`Settings > Trash`](trash.md))
### Security
The `Profile` tab includes a Security card at the bottom:
- **Two-Factor Authentication**: Coming soon. Currently handled by your OAuth provider (Google, GitHub)
- **Connected Accounts**: Shows your linked OAuth provider (e.g., Google)
### GDPR Compliance
Ultralytics Platform supports GDPR rights:
#### Data Export
Download all your data:
1. Go to **Settings > Profile**
2. Scroll to the bottom section
3. Click **Export Data**
4. Receive download link via email
Export includes:
- Profile information
- Dataset metadata
- Model metadata
- Training history
- API key metadata (not secrets)
#### Account Deletion
Permanently delete your account:
1. Go to **Settings > Profile**
2. Scroll to the bottom section
3. Click **Delete Account**
4. Confirm deletion
!!! warning "Irreversible Action"
Account deletion is permanent. All data is removed within 30 days per GDPR requirements.
##### What's Deleted
- All projects and trained models
- All datasets and images
- All API keys and credentials
- All activity history
- Credit balance
##### What's Retained
- Anonymized analytics
- Server logs (90 days)
- Legal compliance records
## Plans Tab
Compare available plans. See [Billing](billing.md) for detailed plan information and pricing.
## Billing Tab
Manage credits, payment methods, and view transaction history. See [Billing](billing.md) for full documentation.
## Teams Tab
Manage workspace members, roles, and invitations. Teams are available on [Pro and Enterprise plans](billing.md#plans).
### Team Overview
The Teams tab displays:
- Workspace name and avatar
- Seat usage summary (used / available)
- Member list with roles
- Pending invitations
### Member Roles
| Role | Permissions |
| ---------- | ------------------------------------------------------ |
| **Owner** | Full control, transfer ownership, delete workspace |
| **Admin** | Manage members, billing, settings, content |
| **Editor** | Create and manage projects, datasets, models, API keys |
| **Viewer** | Read-only access to workspace resources |
!!! note "Role Availability"
Owner, Admin, Editor, and Viewer roles are available on all team plans (Pro and Enterprise).
### Invite Members
1. Go to **Settings > Teams**
2. Click **Invite**
3. Enter email address
4. Select role
5. Send invitation
The invitee receives an email and can accept the invitation to join the workspace. Invitations expire after 7 days. Inviting members requires the Admin role or higher.
### Manage Members
Owners and admins can manage the team:
- **Change roles**: Click the role dropdown next to a member (only the owner can assign/remove the admin role)
- **Remove members**: Click the menu and select **Remove**
- **Cancel invites**: Cancel pending invitations that haven't been accepted
- **Resend invites**: Resend invitation emails
- **Transfer ownership**: Transfer workspace ownership to another member (Owner only)
## Trash Tab
Manage deleted items. See [Trash](trash.md) for full documentation.
## FAQ
### How do I change my email?
Manage your email addresses directly on the platform:
1. Go to **Settings > Profile**
2. Scroll to the **Emails** section
3. Add a new email, verify it, and set it as primary
### Can I have multiple accounts?
You can create accounts in different regions, but:
- Each needs a unique email
- Data doesn't transfer between accounts
- Billing is separate
### How do I change my password?
If you signed up with email and password, use the password reset flow on the sign-in page. If you signed up with an OAuth provider, manage your password through that provider:
- **Google**: accounts.google.com
- **GitHub**: github.com/settings/security
### Is two-factor authentication available?
2FA is handled by your OAuth provider. Enable 2FA in:
- Google Account settings
- GitHub Security settings
### How long until deleted data is removed?
| Type | Timeline |
| -------------------- | ------------- |
| **Trash items** | 30 days |
| **Account deletion** | Up to 30 days |
| **Backups** | 90 days |

190
docs/en/platform/account/trash.md Executable file
View File

@@ -0,0 +1,190 @@
---
comments: true
description: Learn how to recover deleted projects, datasets, and models from Trash on Ultralytics Platform with the 30-day soft delete policy.
keywords: Ultralytics Platform, trash, restore, soft delete, recover, deleted items, data recovery
---
# Trash and Restore
[Ultralytics Platform](https://platform.ultralytics.com) implements a 30-day soft delete policy, allowing you to recover accidentally deleted projects, datasets, and models. Deleted items are moved to Trash where they can be restored before permanent deletion.
![Ultralytics Platform Settings Trash Tab With Items And Storage Treemap](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-trash-tab-with-items-and-storage-treemap.avif)
## Soft Delete Policy
When you delete a resource on the platform:
1. **Immediate**: Item moves to Trash (not permanently deleted)
2. **30 Days**: Item remains recoverable in Trash
3. **After 30 Days**: Item is permanently deleted automatically
!!! success "Recovery Window"
You have 30 days to restore any deleted item. After this period, the item and all associated data are permanently removed and cannot be recovered.
## Accessing Trash
Navigate to your Trash:
1. Go to **Settings** and click the **Trash** tab
2. Or navigate directly to `/trash` (redirects to `Settings > Trash`)
![Ultralytics Platform Settings Trash Tab Filter By Type Dropdown](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-trash-tab-filter-by-type-dropdown.avif)
## Trash Contents
The Trash shows all soft-deleted resources with filter options:
| Filter | Shows |
| ------------ | ----------------- |
| **All** | All trashed items |
| **Projects** | Trashed projects |
| **Datasets** | Trashed datasets |
| **Models** | Trashed models |
### Viewing Trash Items
Each item in Trash displays:
| Field | Description |
| ------------------ | ---------------------------------------- |
| **Name** | Original resource name |
| **Type** | Project, Dataset, or Model (color-coded) |
| **Deleted** | Date and time of deletion |
| **Days Remaining** | Time until permanent deletion |
| **Size** | Storage used by the item |
| **Cascaded Items** | Number of child items included |
| **Parent Project** | Parent project (for models) |
### Cascade Behavior
When deleting a parent resource, child resources are also moved to Trash:
| Resource Type | What's Included When Deleted |
| ------------------------------------ | ------------------------------------------ |
| [**Projects**](../train/projects.md) | Project + all models inside |
| [**Datasets**](../data/datasets.md) | Dataset + all images and annotations |
| [**Models**](../train/models.md) | Model weights + training history + exports |
### Storage Treemap
The Trash tab includes a storage visualization (treemap) showing the relative size of trashed items, color-coded by type:
- **Blue**: Projects
- **Green**: Datasets
- **Purple**: Models
## Restoring Items
Recover a deleted item:
1. Navigate to **Settings > Trash**
2. Find the item you want to restore
3. Click the **Restore** button (undo icon)
4. Confirm restoration
![Ultralytics Platform Settings Trash Tab Restore Button On Item](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/settings-trash-tab-restore-button-on-item.avif)
The item returns to its original location with all data intact.
### Restore Behavior
| Resource | Restore Behavior |
| -------- | ----------------------------------------------------------- |
| Project | Restores project and all contained models |
| Dataset | Restores dataset with all images and annotations |
| Model | Restores model to original project if the project is active |
!!! warning "Parent Project Required"
Restoring a model fails if its parent project is in Trash. You'll see the error: "Cannot restore model while its parent project is in trash. Restore the project first." Always restore the parent project before restoring individual models.
## Permanent Deletion
### Automatic Deletion
Items in Trash are automatically and permanently deleted after 30 days. A daily cleanup job runs at 3:00 AM UTC to remove expired items.
### Empty Trash
Permanently delete all items immediately:
1. Navigate to **Settings > Trash**
2. Click **Empty Trash**
3. Confirm the action
!!! warning "Irreversible Action"
Emptying Trash permanently deletes all items immediately. This action cannot be undone and all data will be lost.
### Delete Single Item Permanently
To permanently delete one item without waiting:
1. Find the item in Trash
2. Click the **Delete** button
3. Confirm deletion
## Storage and Trash
Items in Trash still count toward your storage quota:
| Scenario | Storage Impact |
| -------------------- | ------------------------------ |
| Delete item | Storage remains allocated |
| Restore item | No change (was still counting) |
| Permanent deletion | Storage freed |
| 30-day auto-deletion | Storage freed automatically |
!!! tip "Free Up Storage"
If you're running low on storage, empty Trash or permanently delete specific items to immediately reclaim space. Check your storage usage in [Settings](settings.md#storage-usage) and see [Billing](billing.md#plans) for plan storage limits.
## API Access
Access trash programmatically via the [REST API](../api/index.md#trash-api):
=== "List Trash"
```bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/trash
```
=== "Restore Item"
```bash
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id": "item_abc123", "type": "dataset"}' \
https://platform.ultralytics.com/api/trash
```
=== "Empty Trash"
```bash
curl -X DELETE -H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/trash/empty
```
## FAQ
### Can I restore an item after 30 days?
No. After 30 days, items are permanently deleted and cannot be recovered. Make sure to restore important items before the expiration date shown in Trash.
### What happens when I delete a project with models?
Both the project and all models inside it move to Trash together. Restoring the project restores all its models. You can also restore individual models separately.
### Do items in Trash count toward storage?
Yes, items in Trash continue to use storage quota. To free up space, permanently delete items or empty Trash.
### Can I recover a model if its project was permanently deleted?
No. If a project is permanently deleted, all models that were inside it are also permanently deleted. Always restore items before the 30-day window expires.
### How do I know when an item will be permanently deleted?
Each item in Trash shows a "Days Remaining" counter indicating how many days until automatic permanent deletion occurs.

2160
docs/en/platform/api/index.md Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,469 @@
---
comments: true
description: Learn to annotate images in Ultralytics Platform with manual tools, SAM smart annotation, and YOLO auto-labeling for all 5 task types.
keywords: Ultralytics Platform, annotation, labeling, SAM, auto-annotation, bounding box, polygon, keypoints, segmentation, YOLO
---
# Annotation Editor
[Ultralytics Platform](https://platform.ultralytics.com) includes a powerful annotation editor for labeling images with bounding boxes, polygons, keypoints, oriented boxes, and classifications. The editor supports manual drawing and SAM-powered smart annotation.
![Ultralytics Platform Annotate Editor Toolbar With Canvas](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-editor-toolbar-with-canvas.avif)
```mermaid
graph TB
subgraph Manual["Manual Tools"]
A[Box] & B[Polygon] & C[Keypoint] & D[OBB] & E[Classify]
end
subgraph AI["AI-Assisted"]
F[SAM Smart]
end
Manual --> H[Save Labels]
AI --> H
```
## Supported Task Types
The annotation editor supports all 5 YOLO task types:
| Task | Tool | Annotation Format |
| ------------------------------------------------ | -------------- | -------------------------------------- |
| **[Detect](../../datasets/detect/index.md)** | Rectangle | Bounding boxes (x, y, width, height) |
| **[Segment](../../datasets/segment/index.md)** | Polygon | Pixel-precise masks (polygon vertices) |
| **[Pose](../../datasets/pose/index.md)** | Keypoint | 17-point COCO skeleton |
| **[OBB](../../datasets/obb/index.md)** | Oriented Box | Rotated bounding boxes (4 corners) |
| **[Classify](../../datasets/classify/index.md)** | Class Selector | Image-level labels |
### Task Details
??? info "Object Detection"
**What it does:** Identifies objects and their locations with axis-aligned bounding boxes.
**Label format:** [`class_id center_x center_y width height`](../../datasets/detect/index.md#ultralytics-yolo-format) (all normalized 0-1)
**Example:** `0 0.5 0.5 0.2 0.3` — Class 0 centered at (50%, 50%) with 20% width and 30% height
**Use cases:** Inventory counting, traffic monitoring, wildlife detection, security systems
??? info "Instance Segmentation"
**What it does:** Creates pixel-precise masks for each object instance.
**Label format:** [`class_id x1 y1 x2 y2 x3 y3 ...`](../../datasets/segment/index.md#ultralytics-yolo-format) (polygon vertices, normalized 0-1)
**Example:** `0 0.1 0.1 0.9 0.1 0.9 0.9 0.1 0.9` — Quadrilateral mask
**Use cases:** Medical imaging, autonomous vehicles, photo editing, agricultural analysis
??? info "Pose Estimation"
**What it does:** Detects body keypoints for skeleton tracking.
**Label format:** [`class_id cx cy w h kx1 ky1 v1 kx2 ky2 v2 ...`](../../datasets/pose/index.md#ultralytics-yolo-format)
- Visibility flags: `0`=not labeled, `1`=labeled but occluded, `2`=labeled and visible
**Example:** `0 0.5 0.5 0.2 0.3 0.6 0.7 2 0.4 0.8 1` — Person with 2 keypoints
**Use cases:** Sports analysis, physical therapy, animation, gesture recognition
??? info "Oriented Bounding Box (OBB)"
**What it does:** Detects rotated objects with angle-aware bounding boxes.
**Label format:** [`class_id x1 y1 x2 y2 x3 y3 x4 y4`](../../datasets/obb/index.md#yolo-obb-format) (four corner points, normalized)
**Example:** `0 0.1 0.1 0.9 0.1 0.9 0.9 0.1 0.9` — Rotated rectangle
**Use cases:** Aerial imagery, document analysis, manufacturing inspection, ship detection
??? info "Image Classification"
**What it does:** Assigns a single label to the entire image.
**Label format:** [Folder-based](../../datasets/classify/index.md#dataset-structure-for-yolo-classification-tasks) — images organized by class name (`train/cats/`, `train/dogs/`)
**Use cases:** Content moderation, quality control, medical diagnosis, scene recognition
## Getting Started
To annotate images:
1. Navigate to your dataset
2. Click on an image to open the fullscreen viewer
3. Click `Edit` to enter annotation mode
4. Select your annotation tool from the toolbar
5. Draw annotations on the image
6. Click `Save` when finished
![Ultralytics Platform Annotate Fullscreen Edit Mode With Toolbar](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-fullscreen-edit-mode-with-toolbar.avif)
```mermaid
graph LR
A[Open Dataset] --> B[Click Image]
B --> C[Click Edit]
C --> D[Draw Annotations]
D --> E[Save]
E --> F[Next Image]
F --> B
style C fill:#2196F3,color:#fff
style D fill:#FF9800,color:#fff
style E fill:#4CAF50,color:#fff
```
## Annotation Modes
The editor provides two annotation modes, selectable from the toolbar:
| Mode | Description | Shortcut |
| --------- | ------------------------------------------------------- | -------- |
| **Draw** | Manual annotation with task-specific tools | `V` |
| **Smart** | SAM-powered interactive annotation (detect/segment/OBB) | `S` |
## Manual Annotation Tools
### Bounding Box (Detect)
Draw rectangular boxes around objects:
1. Enter edit mode and select `Draw`
2. Click and drag to draw a rectangle
3. Release to complete the box
4. Select a class from the dropdown
![Ultralytics Platform Annotate Detect Bounding Box Drawing](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-detect-bounding-box-drawing.avif)
!!! tip "Resize and Move"
- Drag 8 corner/edge handles to resize
- Drag the center to move
- Press `Delete` or `Backspace` to remove selected annotation
### Polygon (Segment)
Draw precise polygon masks:
1. Enter edit mode and select `Draw`
2. Click to add vertices
3. Right-click or press `Enter` to close the polygon
4. Select a class from the dropdown
![Ultralytics Platform Annotate Segment Polygon Vertices](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-segment-polygon-vertices.avif)
!!! tip "Edit Vertices"
- Drag individual vertices to adjust
- Drag the entire polygon to move
- Click on a vertex and press `Delete` to remove it
### Keypoint (Pose)
Place [17 COCO keypoints](../../datasets/pose/index.md#ultralytics-yolo-format) for human pose:
1. Enter edit mode and select `Draw`
2. Click to place keypoints in sequence
3. Follow the [COCO skeleton order](../../datasets/pose/index.md)
The 17 COCO keypoints are:
| # | Keypoint | # | Keypoint |
| --- | -------------- | --- | ----------- |
| 1 | Nose | 10 | Left wrist |
| 2 | Left eye | 11 | Right wrist |
| 3 | Right eye | 12 | Left hip |
| 4 | Left ear | 13 | Right hip |
| 5 | Right ear | 14 | Left knee |
| 6 | Left shoulder | 15 | Right knee |
| 7 | Right shoulder | 16 | Left ankle |
| 8 | Left elbow | 17 | Right ankle |
| 9 | Right elbow | | |
![Ultralytics Platform Annotate Pose Keypoints Skeleton](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-pose-keypoints-skeleton.avif)
!!! info "Keypoint Visibility"
Each keypoint has a visibility flag: `0` = not labeled, `1` = labeled but occluded, `2` = labeled and visible. Occluded keypoints (behind other objects) should be marked with visibility `1` — the model learns to infer their position.
### Oriented Bounding Box (OBB)
Draw rotated boxes for angled objects:
1. Enter edit mode and select `Draw`
2. Click and drag to draw an initial box
3. Use the rotation handle to adjust angle
4. Drag corner handles to resize
5. Select a class from the dropdown
![Ultralytics Platform Annotate Obb Rotated Box](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-obb-rotated-box.avif)
### Classification (Classify)
Assign image-level class labels:
1. Enter edit mode
2. A side panel appears with class selection buttons
3. Click on class buttons or press number keys `1-9`
![Ultralytics Platform Annotate Classify Side Panel](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-classify-side-panel.avif)
## SAM Smart Annotation
[Segment Anything Model (SAM)](https://docs.ultralytics.com/models/sam/) enables intelligent annotation with just a few clicks. Smart mode is available for **detect**, **segment**, and **OBB** tasks.
1. Enter edit mode and select `Smart` or press `S`
2. **Left-click** to add positive points (include this area)
3. **Right-click** to add negative points (exclude this area)
4. SAM generates a precise mask in real-time
5. Press `Enter` or `Escape` to save the annotation
![Ultralytics Platform Annotate Sam Positive Negative Points Mask](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-sam-positive-negative-points-mask.avif)
```mermaid
graph LR
A[Press S] --> B[Left-click Object]
B --> C[SAM Generates Mask]
C --> D{Accurate?}
D -->|Yes| E[Enter to Save]
D -->|No| F[Add +/- Points]
F --> C
style A fill:#2196F3,color:#fff
style C fill:#FF9800,color:#fff
style E fill:#4CAF50,color:#fff
```
!!! tip "SAM Tips"
- Start with a positive click on the object center
- Add negative clicks to exclude background
- Hold `Alt`/`Option` to invert click behavior (left-click becomes negative, right-click becomes positive)
- Works best for distinct objects with clear edges
- Use 2-3 positive points for elongated objects
SAM smart annotation can generate:
- **Polygons** for segmentation tasks
- **Bounding boxes** for detection tasks
- **Oriented boxes** for OBB tasks
!!! warning "SAM Task Support"
SAM smart annotation is only available for **detect**, **segment**, and **OBB** tasks. Classification and pose tasks require manual annotation.
## Class Sidebar
The annotation editor includes a collapsible class sidebar on the right side of the canvas. The sidebar provides:
- **Search classes**: Filter the class list by typing in the search field. Press `Enter` on an exact match to select it, or create a new class if no match exists.
- **Create new class inline**: Click `Add class` at the bottom of the list, type a name, and optionally pick a custom color. Press `Enter` to create.
- **Edit class name inline**: Hover over a class name and click the pencil icon to rename it.
- **Color picker**: Click the color swatch next to any class to change its color.
- **Per-class annotation count**: Each class row shows a superscript count of annotations.
- **Expand/collapse**: Click the chevron to expand a class and see individual annotations listed below it.
- **Bidirectional hover highlighting**: Hovering an annotation on the canvas highlights it in the sidebar, and vice versa. The sidebar auto-scrolls and auto-expands to the relevant class.
- **Hide/show individual annotations**: Click the eye icon on any annotation row to toggle its visibility on the canvas.
- **Delete annotations**: Click the trash icon on any annotation row to delete it.
- **Keyboard shortcuts**: Press `1-9` to quickly select the first 9 classes.
## Context Menu
Right-click on selected annotations to open a context menu with:
| Action | Shortcut |
| -------------------- | ---------------------- |
| Delete Annotation(s) | `Delete` / `Backspace` |
| Bring to Front | `Cmd/Ctrl+Shift+]` |
| Send to Back | `Cmd/Ctrl+Shift+[` |
| Bring Forward | `Cmd/Ctrl+]` |
| Send Backward | `Cmd/Ctrl+[` |
## Visibility Controls
The visibility dropdown (eye icon) lets you toggle display of individual elements:
| Toggle | Description |
| ------------------ | ------------------------------------------------------------------------------------------ |
| **Annotations** | Show or hide all annotation overlays |
| **Class labels** | Show or hide class name labels on annotations |
| **Show pixels** | Toggle pixelated rendering for zoom inspection (fullscreen) |
| **Crosshairs** | Show crosshair cursor with pixel coordinates (edit mode) |
| **Nav thumbnails** | Show navigation thumbnail strip (fullscreen) |
| **Show all** | Toggle annotations, labels, crosshairs, and thumbnails at once (does not affect pixelated) |
## Crosshair Cursor
In edit mode, a crosshair overlay tracks the cursor position and displays pixel coordinates on the canvas. This helps place annotations with precision. Toggle it via the visibility dropdown.
## SAM Hover Preview
In Smart mode for **segment** tasks, SAM provides a real-time mask preview as you hover over the image — before clicking any points. This lets you see the predicted segmentation boundary and decide where to click. Once you add positive or negative points, the preview updates to reflect your refinements.
## Polygon Vertex Editing
For segment annotations, you can edit polygon vertices after drawing:
- **Move vertices**: Drag any vertex handle to reposition it
- **Delete vertices**: Select a vertex and press `Delete` to remove it
## Class Management
### Creating Classes
Define annotation classes for your dataset in the `Classes` tab:
1. Navigate to the `Classes` tab
2. Use the input field at the bottom to type a class name
3. Click `Add` or press `Enter`
4. A color is assigned automatically from the Ultralytics palette
![Ultralytics Platform Annotate Classes Tab Add New Class](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-classes-tab-add-new-class.avif)
### Add New Class During Annotation
You can create new classes directly while annotating without leaving the editor:
1. Draw an annotation on the image
2. In the class dropdown, click `Add New Class`
3. Enter the class name
4. Press Enter to create and assign
This allows for a seamless workflow where you can define classes as you encounter new object types in your data.
!!! tip "Unified Classes Table"
All classes across your dataset are managed in a unified table. Changes to class names or colors apply throughout the entire dataset automatically.
### Editing Classes
- **Rename**: Click a class name in the table to edit it inline
- **Change color**: Click the color swatch to open the color picker
- **Search**: Use the search field to filter classes by name
- **Sort**: Click column headers to sort by name, label count, or image count
### Class Colors
Each class is assigned a color from the Ultralytics palette. You can customize colors using the color picker on the `Classes` tab. Colors are consistent across the platform for easy recognition.
## Keyboard Shortcuts
Efficient annotation with keyboard shortcuts:
=== "General"
| Shortcut | Action |
| ---------------------- | -------------------------- |
| `Cmd/Ctrl+S` | Save annotations |
| `Cmd/Ctrl+Z` | Undo |
| `Cmd/Ctrl+Shift+Z` | Redo |
| `Cmd/Ctrl+Y` | Redo (alternative) |
| `Escape` | Save / Deselect / Exit |
| `Delete` / `Backspace` | Delete selected annotation |
| `1-9` | Select class 1-9 |
| `Cmd/Ctrl+Scroll` | Zoom in/out |
| `Shift+Click` | Multi-select annotations |
| `Cmd/Ctrl+A` | Select all annotations |
=== "Modes"
| Shortcut | Action |
| -------- | ------------------ |
| `V` | Draw mode (manual) |
| `S` | Smart mode (SAM) |
=== "Drawing"
| Shortcut | Action |
| ------------- | --------------------------------------------------- |
| `Click+Drag` | Draw bounding box (detect/OBB) |
| `Click` | Add polygon point (segment) / Place keypoint (pose) |
| `Right-click` | Complete polygon / Add SAM negative point |
| `Enter` | Complete polygon / Save SAM annotation |
| `Escape` | Save SAM annotation / Deselect / Exit edit mode |
=== "Arrange (Z-Order)"
| Shortcut | Action |
| ------------------ | -------------- |
| `Cmd/Ctrl+]` | Bring forward |
| `Cmd/Ctrl+[` | Send backward |
| `Cmd/Ctrl+Shift+]` | Bring to front |
| `Cmd/Ctrl+Shift+[` | Send to back |
![Ultralytics Platform Annotate Keyboard Shortcuts Dialog](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-annotate-keyboard-shortcuts-dialog.avif)
??? tip "View All Shortcuts"
Click the keyboard icon in the annotation toolbar to open the shortcuts reference.
## Undo/Redo
The annotation editor maintains a full undo/redo history:
- **Undo**: `Cmd/Ctrl+Z`
- **Redo**: `Cmd/Ctrl+Shift+Z` or `Cmd/Ctrl+Y`
History tracks:
- Adding annotations (single and batch)
- Editing annotations (move, resize, rotate)
- Deleting annotations (single and batch)
- Changing classes (single and batch)
- Reordering annotations (z-order)
- Editing polygon vertices (add, remove, move)
- Moving keypoints
!!! info "Unlimited Undo"
The undo stack has no fixed limit — you can undo all changes made during the current editing session, back to the original state of the image when you clicked `Edit`.
## Saving Annotations
Annotations are saved when you click `Save` or press `Cmd/Ctrl+S`:
- **Save**: Click the save button or press `Cmd/Ctrl+S`
- **Cancel**: Click cancel to discard changes
- **Escape**: Saves if there are unsaved changes, otherwise exits edit mode
!!! warning "Save Your Work"
Always save before navigating to another image. Unsaved changes will be lost.
## FAQ
### How accurate is SAM annotation?
SAM provides high-quality masks for most objects. Accuracy depends on:
- Object distinctiveness from background
- Image quality and resolution
- Number of positive/negative points provided
For best results, start with a positive point on the object center and add negative points to exclude nearby objects.
### Can I import existing annotations?
Yes, upload your dataset with [YOLO-format label files](../../datasets/detect/index.md#ultralytics-yolo-format). The Platform automatically parses and displays them in the editor.
### How do I annotate multiple objects of the same class?
After drawing an annotation:
1. Keep the same class selected
2. Draw the next annotation
3. Repeat until all objects are labeled
The keyboard shortcut `1-9` quickly selects classes.
### Can I train on partially annotated datasets?
Yes, but for best results:
- Label all objects of your target classes in each image
- Use the label filter set to `Unannotated` to identify unlabeled images
- Exclude unannotated images from training configuration
### Which tasks support SAM smart annotation?
SAM smart annotation is available for **detect**, **segment**, and **OBB** tasks. Classification and pose tasks use manual annotation only.

575
docs/en/platform/data/datasets.md Executable file
View File

@@ -0,0 +1,575 @@
---
comments: true
description: Learn how to upload, manage, and organize datasets in Ultralytics Platform for YOLO model training with automatic processing and statistics.
keywords: Ultralytics Platform, datasets, dataset management, YOLO, data upload, training data, computer vision, machine learning
---
# Datasets
[Ultralytics Platform](https://platform.ultralytics.com) datasets provide a streamlined solution for managing your training data. Once uploaded, datasets can be immediately used for model training, with automatic processing and statistics generation.
## Upload Dataset
Ultralytics Platform accepts multiple upload formats for flexibility.
### Supported Formats
=== "Images"
| Format | Extensions | Notes | Max Size |
| ------ | --------------- | ------------------------ | -------- |
| JPEG | `.jpg`, `.jpeg` | Most common, recommended | 50 MB |
| PNG | `.png` | Supports transparency | 50 MB |
| WebP | `.webp` | Modern, good compression | 50 MB |
| BMP | `.bmp` | Uncompressed | 50 MB |
| TIFF | `.tiff`, `.tif` | High quality | 50 MB |
| HEIC | `.heic` | iPhone photos | 50 MB |
| AVIF | `.avif` | Next-gen format | 50 MB |
| JP2 | `.jp2` | JPEG 2000 | 50 MB |
| DNG | `.dng` | Raw camera | 50 MB |
| MPO | `.mpo` | Multi-picture object | 50 MB |
=== "Videos"
Videos are automatically extracted to frames on the client side at 1 FPS (max 100 frames per video).
| Format | Extensions | Extraction | Max Size |
| ------ | ---------- | --------------------- | -------- |
| MP4 | `.mp4` | 1 FPS, max 100 frames | 1 GB |
| WebM | `.webm` | 1 FPS, max 100 frames | 1 GB |
| MOV | `.mov` | 1 FPS, max 100 frames | 1 GB |
| AVI | `.avi` | 1 FPS, max 100 frames | 1 GB |
| MKV | `.mkv` | 1 FPS, max 100 frames | 1 GB |
| M4V | `.m4v` | 1 FPS, max 100 frames | 1 GB |
!!! info "Video Frame Extraction"
Video frames are extracted at 1 frame per second in the browser before upload. A 60-second video produces 60 frames. The maximum is 100 frames per video, so videos longer than ~100 seconds will be sampled.
=== "Archives"
Archives are extracted and processed automatically.
| Format | Extensions | Notes | Max Size |
| ------ | ----------------- | -------------------- | -------- |
| ZIP | `.zip` | Most common | 10 GB |
| TAR | `.tar` | Uncompressed archive | 10 GB |
| TAR.GZ | `.tar.gz`, `.tgz` | Compressed archive | 10 GB |
| GZ | `.gz` | Gzip compressed | 10 GB |
### Preparing Your Dataset
The Platform supports two annotation formats plus raw uploads: [Ultralytics YOLO](../../datasets/detect/index.md#ultralytics-yolo-format), [COCO](https://cocodataset.org/#format-data), and raw (unannotated images):
=== "YOLO Format"
Use the standard YOLO directory structure with a `data.yaml` file:
```
my-dataset/
├── images/
│ ├── train/
│ │ ├── img001.jpg
│ │ └── img002.jpg
│ └── val/
│ ├── img003.jpg
│ └── img004.jpg
├── labels/
│ ├── train/
│ │ ├── img001.txt
│ │ └── img002.txt
│ └── val/
│ ├── img003.txt
│ └── img004.txt
└── data.yaml
```
The YAML file defines your dataset configuration:
```yaml
# data.yaml
path: .
train: images/train
val: images/val
names:
0: person
1: car
2: dog
```
=== "COCO Format"
Use JSON annotation files with the standard [COCO structure](https://cocodataset.org/#format-data):
```
my-coco-dataset/
├── train/
│ ├── _annotations.coco.json
│ ├── img001.jpg
│ └── img002.jpg
└── val/
├── _annotations.coco.json
├── img003.jpg
└── img004.jpg
```
The JSON file contains `images`, `annotations`, and `categories` arrays:
```json
{
"images": [{ "id": 1, "file_name": "img001.jpg", "width": 640, "height": 480 }],
"annotations": [{ "id": 1, "image_id": 1, "category_id": 0, "bbox": [100, 50, 200, 300] }],
"categories": [{ "id": 0, "name": "person" }]
}
```
COCO annotations are automatically converted during upload. Detection (`bbox`), segmentation (`segmentation` polygons), and pose (`keypoints`) tasks are supported. Category IDs are remapped to a dense 0-indexed sequence across all annotation files. For converting between formats, see [format conversion tools](../../datasets/detect/index.md#port-or-convert-label-formats).
!!! tip "Raw Uploads"
**Raw**: Upload unannotated images (no labels). Useful when you plan to annotate directly on the platform using the [annotation editor](annotation.md).
!!! tip "Flat Directory Structure"
You can also upload images without the train/val folder structure. Images uploaded without split folders are assigned to the `train` split by default. You can reassign them later using the bulk move-to-split feature.
!!! tip "Format Auto-Detection"
The format is detected automatically: datasets with a `data.yaml` containing `names`, `train`, or `val` keys are treated as YOLO. Datasets with COCO JSON files (containing `images`, `annotations`, and `categories` arrays) are treated as COCO. Datasets with only images and no annotations are treated as raw.
For task-specific format details, see [supported tasks](index.md#supported-tasks) and the [Datasets Overview](../../datasets/index.md).
### Upload Process
1. Navigate to `Datasets` in the sidebar
2. Click `New Dataset` or drag files into the upload zone
3. Select the task type (see [supported tasks](index.md#supported-tasks))
4. Add a name and optional description
5. Set visibility (public or private) and optional license (see [available licenses](#available-licenses))
6. Click `Create`
![Ultralytics Platform Datasets Upload Dialog Task Selector](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-upload-dialog-task-selector.avif)
After upload, the platform processes your data through a multi-stage pipeline:
```mermaid
graph LR
A[Upload] --> B[Validate]
B --> C[Normalize]
C --> D[Thumbnail]
D --> E[Parse Labels]
E --> F[Statistics]
style A fill:#4CAF50,color:#fff
style B fill:#2196F3,color:#fff
style C fill:#2196F3,color:#fff
style D fill:#2196F3,color:#fff
style E fill:#2196F3,color:#fff
style F fill:#9C27B0,color:#fff
```
1. **Validation**: Format and size checks
2. **Normalization**: Large images resized (max 4096px, min dimension 28px)
3. **Thumbnails**: 256px WebP previews generated
4. **Label Parsing**: [YOLO](../../datasets/detect/index.md#ultralytics-yolo-format) and COCO format labels extracted
5. **Statistics**: Class distributions and image dimensions computed
![Ultralytics Platform Datasets Upload Progress Bar](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-upload-progress-bar.avif)
??? tip "Validate Before Upload"
You can validate your dataset locally before uploading:
```python
from ultralytics.hub import check_dataset
check_dataset("path/to/dataset.zip", task="detect")
```
!!! warning "Image Size Requirements"
Images must be at least 28px on their shortest side. Images smaller than this are rejected during processing. Images larger than 4096px on their longest side are automatically resized with aspect ratio preserved.
## Browse Images
View your dataset images in multiple layouts:
| View | Description |
| ----------- | --------------------------------------------------------------------------------- |
| **Grid** | Thumbnail grid with annotation overlays (default) |
| **Compact** | Smaller thumbnails for quick scanning |
| **Table** | List with thumbnail, filename, dimensions, size, split, classes, and label counts |
![Ultralytics Platform Datasets Gallery Grid View With Annotations](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-gallery-grid-view-with-annotations.avif)
### Sorting and Filtering
Images can be sorted and filtered for efficient browsing:
=== "Sort Options"
| Sort | Description |
| --------------- | -------------------- |
| Newest | Most recently added |
| Oldest | Earliest added |
| Name A-Z | Alphabetical |
| Name Z-A | Reverse alphabetical |
| Size (smallest) | Smallest files first |
| Size (largest) | Largest files first |
| Most labels | Most annotations |
| Fewest labels | Fewest annotations |
=== "Filters"
| Filter | Options |
| ---------------- | ---------------------------------- |
| **Split filter** | Train, Val, Test, or All |
| **Label filter** | All images, Annotated, or Unannotated |
| **Search** | Filter images by filename |
!!! tip "Finding Unlabeled Images"
Use the label filter set to `Unannotated` to quickly find images that still need annotation. This is especially useful for large datasets where you want to track labeling progress.
### Fullscreen Viewer
Click any image to open the fullscreen viewer with:
- **Navigation**: Arrow keys or thumbnail previews to browse
- **Metadata**: Filename, dimensions, split badge, annotation count
- **Annotations**: Toggle annotation overlay visibility
- **Class Breakdown**: Per-class label counts with color indicators
- **Edit**: Enter annotation mode to add or modify labels
- **Download**: Download the original image file
- **Delete**: Delete the image from the dataset
- **Zoom**: `Cmd/Ctrl+Scroll` to zoom in/out
- **Pixel view**: Toggle pixelated rendering for close inspection
![Ultralytics Platform Datasets Fullscreen Viewer With Metadata Panel](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-fullscreen-viewer-with-metadata-panel.avif)
### Filter by Split
Filter images by their dataset split:
| Split | Purpose |
| --------- | ----------------------------------- |
| **Train** | Used for model training |
| **Val** | Used for validation during training |
| **Test** | Used for final evaluation |
## Dataset Tabs
Each dataset page has five tabs accessible from the tab bar:
### Images Tab
The default view showing the image gallery with annotation overlays. Supports grid, compact, and table view modes. Drag and drop files here to add more images.
### Classes Tab
Manage annotation classes for your dataset:
- **Class histogram**: Bar chart showing annotation count per class with linear/log scale toggle
- **Class table**: Sortable, searchable table with class name, label count, and image count
- **Edit class names**: Click any class name to rename it inline
- **Edit class colors**: Click a color swatch to change the class color
- **Add new class**: Use the input at the bottom to add classes
![Ultralytics Platform Datasets Classes Tab Histogram And Table](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-classes-tab-histogram-and-table.avif)
!!! note "Log Scale for Imbalanced Datasets"
If your dataset has class imbalance (e.g., 10,000 "person" annotations but only 50 "bicycle"), use the `Log Scale` toggle on the class histogram to visualize all classes clearly.
### Charts Tab
Automatic statistics computed from your dataset:
| Chart | Description |
| ------------------------ | -------------------------------------------------------------- |
| **Split Distribution** | Donut chart of train/val/test image counts and labeled percent |
| **Top Classes** | Donut chart of the 10 most frequent annotation classes |
| **Image Widths** | Histogram of image width distribution with mean |
| **Image Heights** | Histogram of image height distribution with mean |
| **Points per Instance** | Polygon vertex or keypoint count per annotation (segment/pose) |
| **Annotation Locations** | 2D heatmap of bounding box center positions |
| **Image Dimensions** | 2D width vs height heatmap with aspect ratio guide lines |
![Ultralytics Platform Datasets Charts Tab Statistics Grid](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-charts-tab-statistics-grid.avif)
!!! tip "Statistics Caching"
Statistics are cached for 5 minutes. Changes to annotations will be reflected after the cache expires.
!!! info "Fullscreen Heatmaps"
Click the expand button on any heatmap to view it in fullscreen mode. This provides a larger, more detailed view — useful for understanding spatial patterns in large datasets.
### Models Tab
View all models trained on this dataset in a searchable table:
| Column | Description |
| -------- | ------------------------- |
| Name | Model name with link |
| Project | Parent project with icon |
| Status | Training status badge |
| Task | YOLO task type |
| Epochs | Best epoch / total epochs |
| mAP50-95 | Mean average precision |
| mAP50 | mAP at IoU 0.50 |
| Created | Creation date |
![Ultralytics Platform Datasets Models Tab Trained Models Table](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-models-tab-trained-models-table.avif)
### Errors Tab
Images that failed processing are listed here with:
- **Error banner**: Total count of failed images and guidance
- **Error table**: Filename, user-friendly error description, fix hints, and preview thumbnail
- Common errors include corrupted files, unsupported formats, images too small (min 28px), and unsupported color modes
<!-- Screenshot: platform-datasets-errors-tab-processing-failures.avif -->
??? info "Common Processing Errors"
| Error | Cause | Fix |
| -------------------------- | --------------------------------------- | -------------------------------------- |
| Unable to read image file | Corrupted or unsupported format | Re-export from image editor |
| Incomplete or corrupted | File was truncated during transfer | Re-download the original file |
| Image too small | Minimum dimension below 28px | Use higher resolution source images |
| Unsupported color mode | CMYK or indexed color mode | Convert to RGB mode |
## Export Dataset
Export your dataset in [NDJSON](../../datasets/detect/index.md#ultralytics-ndjson-format) format for offline use:
1. Click the download icon in the dataset header
2. The NDJSON file downloads automatically
![Ultralytics Platform Datasets Export Ndjson Download](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-datasets-export-ndjson-download.avif)
The NDJSON format stores one JSON object per line. The first line contains dataset metadata, followed by one line per image:
```json
{"type": "dataset", "task": "detect", "name": "my-dataset", "description": "...", "url": "https://platform.ultralytics.com/...", "class_names": {"0": "person", "1": "car"}, "version": 1, "created_at": "2026-01-15T10:00:00Z", "updated_at": "2026-02-20T14:30:00Z"}
{"type": "image", "file": "img001.jpg", "url": "https://...", "width": 640, "height": 480, "split": "train", "annotations": {"boxes": [[0, 0.5, 0.5, 0.2, 0.3]]}}
{"type": "image", "file": "img002.jpg", "url": "https://...", "width": 1280, "height": 720, "split": "val"}
```
!!! note "Signed URLs"
Image URLs in the exported NDJSON are signed and valid for 7 days. If you need fresh URLs, re-export the dataset.
See the [Ultralytics NDJSON format documentation](../../datasets/detect/index.md#ultralytics-ndjson-format) for full specification.
## Bulk Operations
Manage images in bulk using the table view's context menu:
### Move to Split
Reassign selected images to a different split within the same dataset:
1. Switch to **Table** view
2. Select images using checkboxes
3. Right-click to open the context menu
4. Choose `Move to split` > **Train**, **Validation**, or **Test**
You can also drag and drop images onto the split filter tabs in grid view.
!!! tip "Organizing Train/Val Splits"
Upload all images to one dataset, then use bulk move-to-split to organize subsets into train, validation, and test splits.
### Bulk Delete
Delete multiple images at once:
1. Select images in the table view
2. Right-click and choose `Delete`
3. Confirm deletion
## Dataset URI
Reference Platform datasets using the `ul://` URI format (see [Using Platform Datasets](../api/index.md#using-platform-datasets)):
```
ul://username/datasets/dataset-slug
```
Use this URI to train models from anywhere:
=== "CLI"
```bash
export ULTRALYTICS_API_KEY="your_api_key"
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100
```
=== "Python"
```python
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="ul://username/datasets/my-dataset", epochs=100)
```
!!! example "Train Anywhere with Platform Data"
The `ul://` URI works from any environment:
- **Local machine**: Train on your hardware, data downloaded automatically
- **Google Colab**: Access your Platform datasets in notebooks
- **Remote servers**: Train on cloud VMs with full dataset access
## Available Licenses
The Platform supports the following licenses for datasets:
| License | Type |
| --------------- | ------------------- |
| None | No license selected |
| CC0-1.0 | Public domain |
| CC-BY-2.5 | Permissive |
| CC-BY-4.0 | Permissive |
| CC-BY-SA-4.0 | Copyleft |
| CC-BY-NC-4.0 | Non-commercial |
| CC-BY-NC-SA-4.0 | Copyleft |
| CC-BY-ND-4.0 | No derivatives |
| CC-BY-NC-ND-4.0 | Non-commercial |
| Apache-2.0 | Permissive |
| MIT | Permissive |
| AGPL-3.0 | Copyleft |
| GPL-3.0 | Copyleft |
| Research-Only | Restricted |
| Other | Custom |
!!! note "Copyleft Licenses"
When cloning a dataset with a copyleft license (AGPL-3.0, GPL-3.0, CC-BY-SA-4.0, CC-BY-NC-SA-4.0), the clone inherits the license and the license selector is locked.
## Visibility Settings
Control who can see your dataset:
| Setting | Description |
| ----------- | ------------------------------- |
| **Private** | Only you can access |
| **Public** | Anyone can view on Explore page |
Visibility is set when creating a dataset in the `New Dataset` dialog using a toggle switch. Public datasets are visible on the [Explore](../explore.md) page.
## Edit Dataset
Dataset metadata is edited inline directly on the dataset page — no dialog needed:
- **Name**: Click the dataset name to edit it. Changes auto-save on blur or `Enter`.
- **Description**: Click the description (or "Add a description..." placeholder) to edit. Changes auto-save.
- **Task type**: Click the task badge to select a different task type.
- **License**: Click the license selector to change the dataset license.
!!! warning "Changing Task Type"
Changing the task type may affect how existing annotations are visualized. Incompatible annotations won't be displayed.
## Clone Dataset
When viewing a public dataset you do not own, click `Clone Dataset` to create a copy in your workspace. The clone includes all images, annotations, and class definitions. If the original dataset has a copyleft license, the clone inherits it and the license selector is locked.
## Star and Share
- **Star**: Click the star button to bookmark a dataset. The star count is visible to all users.
- **Share**: For public datasets, click the share button to copy a link or share to social platforms.
## Delete Dataset
Delete a dataset you no longer need:
1. Open dataset actions menu
2. Click `Delete`
3. Confirm in the dialog: "This will move [name] to trash. You can restore it within 30 days."
!!! note "Trash and Restore"
Deleted datasets are moved to Trash — not permanently deleted. You can restore them within 30 days from [`Settings > Trash`](../account/trash.md).
## Train on Dataset
Start training directly from your dataset:
1. Click `New Model` on the dataset page
2. Select a project or create new
3. Configure training parameters
4. Start training
```mermaid
graph LR
A[Dataset] --> B[New Model]
B --> C[Select Project]
C --> D[Configure]
D --> E[Start Training]
style A fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fff
```
See [Cloud Training](../train/cloud-training.md) for details.
## FAQ
### What happens to my data after upload?
Your data is processed and stored in your selected region (US, EU, or AP). Images are:
1. Validated for format and size
2. Rejected if minimum dimension is below 28px
3. Normalized if larger than 4096px (preserving aspect ratio; encoded for optimized storage)
4. Stored using Content-Addressable Storage (CAS) with XXH3-128 hashing
5. Thumbnails generated at 256px WebP for fast browsing
### How does storage work?
Ultralytics Platform uses **Content-Addressable Storage (CAS)** for efficient storage:
- **Deduplication**: Identical images uploaded by different users are stored only once
- **Integrity**: XXH3-128 hashing ensures data integrity
- **Efficiency**: Reduces storage costs and speeds up processing
- **Regional**: Data stays in your selected region (US, EU, or AP)
### Can I add images to an existing dataset?
Yes, drag and drop files onto the dataset page or use the upload button to add additional images. New statistics will be computed automatically.
### How do I move images between splits?
Use the bulk move-to-split feature:
1. Select images in the table view
2. Right-click and choose `Move to split`
3. Select the target split (Train, Validation, or Test)
### What label formats are supported?
Ultralytics Platform supports two annotation formats for upload:
=== "YOLO Format"
One `.txt` file per image with normalized coordinates (0-1 range):
| Task | Format | Example |
| -------- | -------------------------------- | ----------------------------------- |
| Detect | `class cx cy w h` | `0 0.5 0.5 0.2 0.3` |
| Segment | `class x1 y1 x2 y2 ...` | `0 0.1 0.1 0.9 0.1 0.9 0.9` |
| Pose | `class cx cy w h kx1 ky1 v1 ...` | `0 0.5 0.5 0.2 0.3 0.6 0.7 2` |
| OBB | `class x1 y1 x2 y2 x3 y3 x4 y4` | `0 0.1 0.1 0.9 0.1 0.9 0.9 0.1 0.9` |
| Classify | Directory structure | `train/cats/`, `train/dogs/` |
Pose visibility flags: 0=not labeled, 1=labeled but occluded, 2=labeled and visible.
=== "COCO Format"
JSON files with `images`, `annotations`, and `categories` arrays. Supports detection (`bbox`), segmentation (polygon), and pose (`keypoints`) tasks. COCO uses absolute pixel coordinates which are automatically converted to normalized format during upload.

165
docs/en/platform/data/index.md Executable file
View File

@@ -0,0 +1,165 @@
---
comments: true
description: Learn about data management in Ultralytics Platform including dataset upload, annotation tools, and statistics visualization for YOLO model training.
keywords: Ultralytics Platform, data management, datasets, annotation, YOLO, computer vision, data preparation, labeling
---
# Data Preparation
Data preparation is the foundation of successful [computer vision](https://www.ultralytics.com/glossary/computer-vision-cv) models. [Ultralytics Platform](https://platform.ultralytics.com) provides comprehensive tools for managing your training data, from upload through annotation to analysis.
## Overview
The Data section of Ultralytics Platform helps you:
- **Upload** images, videos, and archives (ZIP, TAR, GZ)
- **Annotate** with manual drawing tools and SAM-powered smart labeling
- **Analyze** your data with statistics and visualizations
- **Export** in [NDJSON format](../../datasets/detect/index.md#ultralytics-ndjson-format) for local training
![Ultralytics Platform Data Overview Sidebar Datasets](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-data-overview-sidebar-datasets.avif)
## Workflow
```mermaid
graph LR
A[Upload] --> B[Annotate]
B --> C[Analyze]
C --> D[Train]
style A fill:#4CAF50,color:#fff
style B fill:#2196F3,color:#fff
style C fill:#FF9800,color:#fff
style D fill:#9C27B0,color:#fff
```
| Stage | Description |
| ------------ | ----------------------------------------------------------------------------------------------------- |
| **Upload** | Import images, videos, or archives with automatic processing |
| **Annotate** | Label data with bounding boxes, polygons, keypoints, or classifications |
| **Analyze** | View class distributions, spatial heatmaps, and dimension statistics |
| **Export** | Download in [NDJSON format](../../datasets/detect/index.md#ultralytics-ndjson-format) for offline use |
## Supported Tasks
Ultralytics Platform supports all 5 YOLO task types:
| Task | Description | Annotation Tool |
| ------------------------------------------------ | ------------------------------------------- | ----------------- |
| **[Detect](../../datasets/detect/index.md)** | Object detection with bounding boxes | Rectangle tool |
| **[Segment](../../datasets/segment/index.md)** | Instance segmentation with pixel masks | Polygon tool |
| **[Pose](../../datasets/pose/index.md)** | Keypoint estimation (17-point COCO format) | Keypoint tool |
| **[OBB](../../datasets/obb/index.md)** | Oriented bounding boxes for rotated objects | Oriented box tool |
| **[Classify](../../datasets/classify/index.md)** | Image-level classification | Class selector |
!!! info "Task Type Selection"
The task type is set when creating a dataset and determines which annotation tools are available. You can change it later from the dataset settings, but incompatible annotations won't be displayed after switching.
## Key Features
### Smart Storage
Ultralytics Platform uses Content-Addressable Storage (CAS) for efficient data management:
- **Deduplication**: Identical images stored only once via XXH3-128 hashing
- **Integrity**: Hash-based addressing ensures data integrity
- **Efficiency**: Optimized storage and fast processing
### Dataset URIs
Reference datasets using the `ul://` URI format (see [Using Platform Datasets](../api/index.md#using-platform-datasets)):
```bash
yolo train data=ul://username/datasets/my-dataset
```
This allows training on the platform's datasets from any machine with your [API key](../account/api-keys.md) configured.
!!! example "Use Platform Data from Python"
```python
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="ul://username/datasets/my-dataset", epochs=100)
```
### Dataset Tabs
Every dataset page provides five tabs:
| Tab | Description |
| ----------- | ---------------------------------------------------------------------------- |
| **Images** | Browse images in grid, compact, or table view with annotation overlays |
| **Classes** | View and edit class names, colors, and label counts per class |
| **Charts** | Automatic statistics: split distribution, class counts, heatmaps |
| **Models** | [Models](../train/models.md) trained on this dataset with metrics and status |
| **Errors** | Images that failed processing with error details and fix guidance |
### Statistics and Visualization
The `Charts` tab provides automatic analysis including:
- **Split Distribution**: Donut chart of train/val/test image counts
- **Top Classes**: Donut chart of most frequent annotation classes
- **Image Widths**: Histogram of image width distribution
- **Image Heights**: Histogram of image height distribution
- **Points per Instance**: Polygon vertex or keypoint count distribution (segment/pose datasets)
- **Annotation Locations**: 2D heatmap of bounding box center positions
- **Image Dimensions**: 2D heatmap of width vs height with aspect ratio guide lines
## Quick Links
- [**Datasets**](datasets.md): Upload and manage your training data
- [**Annotation**](annotation.md): Label data with manual and AI-assisted tools
## FAQ
### What file formats are supported for upload?
Ultralytics Platform supports:
**Images:** JPEG, PNG, WebP, BMP, TIFF, HEIC, AVIF, JP2, DNG, MPO (max 50MB each)
**Videos:** MP4, WebM, MOV, AVI, MKV, M4V (max 1GB, frames extracted at 1 FPS, max 100 frames)
**Archives:** ZIP, TAR, TAR.GZ, TGZ, GZ (max 10GB) containing images with optional [YOLO-format labels](../../datasets/detect/index.md#ultralytics-yolo-format)
### What is the maximum dataset size?
Storage limits depend on your plan:
| Plan | Storage Limit |
| ---------- | ------------- |
| Free | 100 GB |
| Pro | 500 GB |
| Enterprise | Custom |
Individual file limits: Images 50MB, Videos 1GB, Archives 10GB
### Can I use my Platform datasets for local training?
Yes! Use the dataset URI format to train locally:
=== "CLI"
```bash
export ULTRALYTICS_API_KEY="your_key"
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100
```
=== "Python"
```python
import os
os.environ["ULTRALYTICS_API_KEY"] = "your_key"
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="ul://username/datasets/my-dataset", epochs=100)
```
Or export your dataset in [NDJSON format](../../datasets/detect/index.md#ultralytics-ndjson-format) for fully offline training.

View File

@@ -0,0 +1,416 @@
---
comments: true
description: Deploy YOLO models to dedicated endpoints in 43 global regions with auto-scaling and monitoring on Ultralytics Platform.
keywords: Ultralytics Platform, deployment, endpoints, YOLO, production, scaling, global regions
---
# Dedicated Endpoints
[Ultralytics Platform](https://platform.ultralytics.com) enables deployment of YOLO models to dedicated endpoints in 43 global regions. Each endpoint is a single-tenant service with auto-scaling, a unique endpoint URL, and independent monitoring.
![Ultralytics Platform Model Deploy Tab With Region Map And Table](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/model-deploy-tab-with-region-map-and-table.avif)
## Create Endpoint
### From the Deploy Tab
Deploy a model from its `Deploy` tab:
1. Navigate to your model
2. Click the **Deploy** tab
3. Select a region from the region table (sorted by latency from your location)
4. Click **Deploy** on the region row
The deployment name is auto-generated from the model name and region city (e.g., `yolo11n-iowa`).
### From the Deployments Page
Create a deployment from the global `Deploy` page in the sidebar:
1. Click **New Deployment**
2. Select a model from the model selector
3. Select a region from the map or table
4. Optionally customize the deployment name and resources
5. Click **Deploy Model**
![Ultralytics Platform New Deployment Dialog With Model Selector And Region Map](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/new-deployment-dialog-with-model-selector-and-region-map.avif)
### Deployment Lifecycle
```mermaid
stateDiagram-v2
[*] --> Creating: Deploy
Creating --> Deploying: Container starting
Deploying --> Ready: Health check passed
Ready --> Stopping: Stop
Stopping --> Stopped: Stopped
Stopped --> Ready: Start
Ready --> [*]: Delete
Stopped --> [*]: Delete
Creating --> Failed: Error
Deploying --> Failed: Error
Failed --> [*]: Delete
```
### Region Selection
Choose from 43 regions worldwide. The interactive region map and table show:
- **Region pins**: Color-coded by latency (green < 100ms, yellow < 200ms, red > 200ms)
- **Deployed regions**: Highlighted with a "Deployed" badge
- **Deploying regions**: Animated pulse indicator
- **Bidirectional highlighting**: Hover on the map highlights the table row, and vice versa
![Ultralytics Platform Deploy Tab Region Latency Table Sorted By Latency](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-tab-region-latency-table-sorted-by-latency.avif)
The region table on the model `Deploy` tab includes:
| Column | Description |
| ------------ | ---------------------------------------- |
| **Location** | City and country with flag icon |
| **Zone** | Region identifier |
| **Latency** | Measured ping time (median of 3 pings) |
| **Distance** | Distance from your location in km |
| **Actions** | Deploy button or "Deployed" status badge |
!!! note "New Deployment Dialog"
The `New Deployment` dialog (from the global `Deploy` page) shows a simpler region table with only Location, Latency, and Select columns.
!!! tip "Choose Wisely"
Select the region closest to your users for lowest latency. Use the **Rescan** button to re-measure latency from your current location.
## Available Regions
=== "Americas (14)"
| Zone | Location |
| ----------------------- | ---------------------- |
| us-central1 | Iowa, USA |
| us-east1 | South Carolina, USA |
| us-east4 | Northern Virginia, USA |
| us-east5 | Columbus, USA |
| us-south1 | Dallas, USA |
| us-west1 | Oregon, USA |
| us-west2 | Los Angeles, USA |
| us-west3 | Salt Lake City, USA |
| us-west4 | Las Vegas, USA |
| northamerica-northeast1 | Montreal, Canada |
| northamerica-northeast2 | Toronto, Canada |
| northamerica-south1 | Queretaro, Mexico |
| southamerica-east1 | Sao Paulo, Brazil |
| southamerica-west1 | Santiago, Chile |
=== "Europe (13)"
| Zone | Location |
| ----------------- | ---------------------- |
| europe-west1 | St. Ghislain, Belgium |
| europe-west2 | London, UK |
| europe-west3 | Frankfurt, Germany |
| europe-west4 | Eemshaven, Netherlands |
| europe-west6 | Zurich, Switzerland |
| europe-west8 | Milan, Italy |
| europe-west9 | Paris, France |
| europe-west10 | Berlin, Germany |
| europe-west12 | Turin, Italy |
| europe-north1 | Hamina, Finland |
| europe-north2 | Stockholm, Sweden |
| europe-central2 | Warsaw, Poland |
| europe-southwest1 | Madrid, Spain |
=== "Asia-Pacific (12)"
| Zone | Location |
| -------------------- | ---------------------- |
| asia-east1 | Changhua, Taiwan |
| asia-east2 | Kowloon, Hong Kong |
| asia-northeast1 | Tokyo, Japan |
| asia-northeast2 | Osaka, Japan |
| asia-northeast3 | Seoul, South Korea |
| asia-south1 | Mumbai, India |
| asia-south2 | Delhi, India |
| asia-southeast1 | Jurong West, Singapore |
| asia-southeast2 | Jakarta, Indonesia |
| asia-southeast3 | Bangkok, Thailand |
| australia-southeast1 | Sydney, Australia |
| australia-southeast2 | Melbourne, Australia |
=== "Middle East & Africa (4)"
| Zone | Location |
| ------------- | -------------------------- |
| africa-south1 | Johannesburg, South Africa |
| me-central1 | Doha, Qatar |
| me-central2 | Dammam, Saudi Arabia |
| me-west1 | Tel Aviv, Israel |
## Endpoint Configuration
### New Deployment Dialog
The `New Deployment` dialog provides:
| Setting | Description | Default |
| ------------------- | ---------------------------- | ------- |
| **Model** | Select from completed models | - |
| **Region** | Deployment region | - |
| **Deployment Name** | Auto-generated, editable | - |
| **CPU Cores** | CPU allocation (1-8) | 1 |
| **Memory (GB)** | Memory allocation (1-32 GB) | 2 |
![Ultralytics Platform New Deployment Dialog Resources Panel Expanded](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/new-deployment-dialog-resources-panel-expanded.avif)
Resource settings are available under the collapsible **Resources** section. Deployments use scale-to-zero by default (min instances = 0, max instances = 1) — you only pay for active inference time.
!!! note "Auto-Generated Names"
The deployment name is automatically generated from the model name and region city (e.g., `yolo11n-iowa`). If you deploy the same model to the same region again, a numeric suffix is added (e.g., `yolo11n-iowa-2`).
### Deploy Tab (Quick Deploy)
When deploying from the model's `Deploy` tab, endpoints are created with default resources (1 CPU, 2 GB memory) with scale-to-zero enabled. The deployment name is auto-generated.
## Manage Endpoints
### View Modes
The deployments list supports three view modes:
| Mode | Description |
| ----------- | --------------------------------------------------------- |
| **Cards** | Full detail cards with logs, code examples, predict panel |
| **Compact** | Grid of smaller cards with key metrics |
| **Table** | DataTable with sortable columns and search |
![Ultralytics Platform Deploy Tab Active Deployments Cards View](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-tab-active-deployments-cards-view.avif)
### Deployment Card (Cards View)
Each deployment card in the cards view shows:
- **Header**: Name, region flag, status badge, start/stop/delete buttons
- **Endpoint URL**: Copyable URL with link to API docs
- **Metrics**: Request count (24h), P95 latency, error rate
- **Health check**: Live health indicator with latency and manual refresh
- **Tabs**: `Logs`, `Code`, and `Predict`
The `Logs` tab shows recent log entries with severity filtering (All / Errors). The `Code` tab shows ready-to-use code examples in Python, JavaScript, and cURL with your actual endpoint URL and API key. The `Predict` tab provides an inline predict panel for testing directly on the deployment.
### Deployment Statuses
| Status | Description |
| ------------- | --------------------------------------- |
| **Creating** | Deployment is being set up |
| **Deploying** | Container is starting |
| **Ready** | Endpoint is live and accepting requests |
| **Stopping** | Endpoint is shutting down |
| **Stopped** | Endpoint is paused (no billing) |
| **Failed** | Deployment failed (see error message) |
### Endpoint URL
Each endpoint has a unique URL, for example:
```
https://predict-abc123.run.app
```
![Ultralytics Platform Deployment Card Endpoint Url With Copy Button](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deployment-card-endpoint-url-with-copy-button.avif)
Click the copy button to copy the URL. Click the docs icon to view the auto-generated API documentation for the endpoint.
## Lifecycle Management
Control your endpoint state:
```mermaid
graph LR
R[Ready] -->|Stop| S[Stopped]
S -->|Start| R
R -->|Delete| D[Deleted]
S -->|Delete| D
style R fill:#4CAF50,color:#fff
style S fill:#9E9E9E,color:#fff
style D fill:#F44336,color:#fff
```
| Action | Description |
| ---------- | ------------------------------- |
| **Start** | Resume a stopped endpoint |
| **Stop** | Pause the endpoint (no billing) |
| **Delete** | Permanently remove endpoint |
### Stop Endpoint
Stop an endpoint to pause billing:
1. Click the pause icon on the deployment card
2. Endpoint status changes to "Stopping" then "Stopped"
Stopped endpoints:
- Don't accept requests
- Don't incur charges
- Can be restarted anytime
### Delete Endpoint
Permanently remove an endpoint:
1. Click the delete (trash) icon on the deployment card
2. Confirm deletion in the dialog
!!! warning "Permanent Action"
Deletion is immediate and permanent. You can always create a new endpoint.
## Using Endpoints
### Authentication
Each deployment is created with an API key from your account. Include it in requests:
```bash
Authorization: Bearer YOUR_API_KEY
```
The API key prefix is displayed on the deployment card footer for identification. Generate keys from [API Keys](../account/api-keys.md).
### No Rate Limits
Dedicated endpoints are **not subject to the Platform API rate limits**. Requests go directly to your dedicated service, so throughput is limited only by your endpoint's CPU, memory, and scaling configuration. This is a key advantage over [shared inference](inference.md), which is rate-limited to 20 requests/min per API key.
### Request Example
=== "Python"
```python
import requests
# Deployment endpoint
url = "https://predict-abc123.run.app/predict"
# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}
# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
# Send image for inference
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, data=data, files={"file": f})
print(response.json())
```
=== "JavaScript"
```javascript
// Build form data with image and parameters
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");
// Send image for inference
const response = await fetch(
"https://predict-abc123.run.app/predict",
{
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: formData,
}
);
const result = await response.json();
console.log(result);
```
=== "cURL"
```bash
curl -X POST \
"https://predict-abc123.run.app/predict" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.jpg" \
-F "conf=0.25" \
-F "iou=0.7" \
-F "imgsz=640"
```
### Request Parameters
| Parameter | Type | Default | Description |
| ----------- | ------ | ------- | ----------------------------- |
| `file` | file | - | Image file (required) |
| `conf` | float | 0.25 | Minimum confidence threshold |
| `iou` | float | 0.7 | NMS IoU threshold |
| `imgsz` | int | 640 | Input image size |
| `normalize` | string | - | Return normalized coordinates |
### Response Format
Same as [shared inference](inference.md#response) with task-specific fields.
## Pricing
Dedicated endpoints bill based on:
| Component | Rate |
| ------------ | -------------------- |
| **CPU** | Per vCPU-second |
| **Memory** | Per GB-second |
| **Requests** | Per million requests |
!!! tip "Cost Optimization"
- Use scale-to-zero for development endpoints
- Set appropriate max instances
- Monitor usage in the [Monitoring](monitoring.md) dashboard
- Review costs in [Settings > Billing](../account/billing.md)
## FAQ
### How many endpoints can I create?
Endpoint limits depend on plan:
- **Free**: Up to 3 deployments
- **Pro**: Up to 10 deployments
- **Enterprise**: Unlimited deployments
Each model can still be deployed to multiple regions within your plan quota.
### Can I change the region after deployment?
No, regions are fixed. To change regions:
1. Delete the existing endpoint
2. Create a new endpoint in the desired region
### How do I handle multi-region deployment?
For global coverage:
1. Deploy to multiple regions
2. Use a load balancer or DNS routing
3. Route users to the nearest endpoint
### What's the cold start time?
Cold start time depends on model size and whether the container is already cached in the region. Typical ranges:
| Scenario | Cold Start |
| ------------------- | -------------- |
| Cached container | ~5-15 seconds |
| First deploy/region | ~15-45 seconds |
The health check uses a 55-second timeout to accommodate worst-case cold starts.
### Can I use custom domains?
Custom domains are coming soon. Currently, endpoints use platform-generated URLs.

205
docs/en/platform/deploy/index.md Executable file
View File

@@ -0,0 +1,205 @@
---
comments: true
description: Learn about model deployment options in Ultralytics Platform including inference testing, dedicated endpoints, and monitoring dashboards.
keywords: Ultralytics Platform, deployment, inference, endpoints, monitoring, YOLO, production, cloud deployment
---
# Deployment
[Ultralytics Platform](https://platform.ultralytics.com) provides comprehensive deployment options for putting your YOLO models into production. Test models with browser-based inference, deploy to dedicated endpoints across 43 global regions, and monitor performance in real-time.
## Overview
The Deployment section helps you:
- **Test** models directly in the browser with the `Predict` tab
- **Deploy** to dedicated endpoints in 43 global regions
- **Monitor** request metrics, logs, and health checks
- **Scale** automatically with traffic (including scale-to-zero)
![Ultralytics Platform Deploy Page World Map With Overview Cards](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-world-map-with-overview-cards.avif)
## Deployment Options
Ultralytics Platform offers multiple deployment paths:
| Option | Description | Best For |
| --------------------------------------- | -------------------------------------------------------- | ----------------------- |
| **[Predict Tab](inference.md)** | Browser-based inference with image, webcam, and examples | Development, validation |
| **Shared Inference** | Multi-tenant service across 3 regions | Light usage, testing |
| **[Dedicated Endpoints](endpoints.md)** | Single-tenant services across 43 regions | Production, low latency |
## Workflow
```mermaid
graph LR
A[✅ Test] --> B[⚙️ Configure]
B --> C[🌐 Deploy]
C --> D[📊 Monitor]
style A fill:#4CAF50,color:#fff
style B fill:#2196F3,color:#fff
style C fill:#FF9800,color:#fff
style D fill:#9C27B0,color:#fff
```
| Stage | Description |
| ------------- | ------------------------------------------------------------------------ |
| **Test** | Validate model with the [`Predict` tab](inference.md) |
| **Configure** | Select region, resources, and deployment name |
| **Deploy** | Create a dedicated endpoint from the [`Deploy` tab](endpoints.md) |
| **Monitor** | Track requests, latency, errors, and logs in [Monitoring](monitoring.md) |
## Architecture
### Shared Inference
The shared inference service runs in 3 key regions, automatically routing requests based on your data region:
```mermaid
graph TB
User[User Request] --> API[Platform API]
API --> Router{Region Router}
Router -->|US users| US["US Predict Service<br/>Iowa"]
Router -->|EU users| EU["EU Predict Service<br/>Belgium"]
Router -->|AP users| AP["AP Predict Service<br/>Hong Kong"]
style User fill:#f5f5f5,color:#333
style API fill:#2196F3,color:#fff
style Router fill:#FF9800,color:#fff
style US fill:#4CAF50,color:#fff
style EU fill:#4CAF50,color:#fff
style AP fill:#4CAF50,color:#fff
```
| Region | Location |
| ------ | ----------------------- |
| US | Iowa, USA |
| EU | Belgium, Europe |
| AP | Hong Kong, Asia-Pacific |
### Dedicated Endpoints
Deploy to 43 regions worldwide on Ultralytics Cloud:
- **Americas**: 14 regions
- **Europe**: 13 regions
- **Asia-Pacific**: 12 regions
- **Middle East & Africa**: 4 regions
Each endpoint is a single-tenant service with:
- Dedicated compute resources (configurable CPU and memory)
- Auto-scaling (scale-to-zero when idle)
- Unique endpoint URL
- Independent monitoring, logs, and health checks
## Deployments Page
Access the global deployments page from the sidebar under `Deploy`. This page shows:
- **World map** with deployed region pins (interactive map)
- **Overview cards**: Total Requests (24h), Active Deployments, Error Rate (24h), P95 Latency (24h)
- **Deployments list** with three view modes: cards, compact, and table
- **New Deployment** button to create endpoints from any completed model
![Ultralytics Platform Deploy Page Overview Cards And Deployments List](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-overview-cards-and-deployments-list.avif)
!!! info "Automatic Polling"
The page polls every 30 seconds for metric updates. When deployments are in a transitional state (creating, deploying, stopping), polling increases to every 2-3 seconds for near-instant feedback.
## Key Features
### Global Coverage
Deploy close to your users with 43 regions covering:
- North America, South America
- Europe, Middle East, Africa
- Asia Pacific, Oceania
### Auto-Scaling
Endpoints scale automatically:
- **Scale to zero**: No cost when idle (default)
- **Scale up**: Handle traffic spikes automatically
!!! tip "Cost Savings"
Scale-to-zero is enabled by default (min instances = 0). You only pay for active inference time.
### Low Latency
Dedicated endpoints provide:
- Cold start: ~5-15 seconds (cached container), up to ~45 seconds (first deploy)
- Warm inference: 50-200ms (model dependent)
- Regional routing for optimal performance
### Health Checks
Each running deployment includes an automatic health check with:
- Live status indicator (healthy/unhealthy)
- Response latency display
- Auto-retry when unhealthy (polls every 20 seconds)
- Manual refresh button
## Quick Start
Deploy a model in under 2 minutes:
1. Train or upload a model to a project
2. Go to the model's **Deploy** tab
3. Select a region from the latency table
4. Click **Deploy** — your endpoint is live
!!! example "Quick Deploy"
```
Model → Deploy tab → Select region → Click Deploy → Endpoint URL ready
```
Once deployed, use the endpoint URL with your API key to send inference requests from any application.
## Quick Links
- [**Inference**](inference.md): Test models in browser
- [**Endpoints**](endpoints.md): Deploy dedicated endpoints
- [**Monitoring**](monitoring.md): Track deployment performance
## FAQ
### What's the difference between shared and dedicated inference?
| Feature | Shared | Dedicated |
| ----------- | --------------- | -------------- |
| **Latency** | Variable | Consistent |
| **Cost** | Pay per request | Pay for uptime |
| **Scale** | Limited | Configurable |
| **Regions** | 3 | 43 |
| **URL** | Generic | Custom |
### How long does deployment take?
Dedicated endpoint deployment typically takes 1-2 minutes:
1. Image pull (~30s)
2. Container start (~30s)
3. Health check (~30s)
### Can I deploy multiple models?
Yes, each model can have multiple endpoints in different regions. There's no limit on total endpoints (subject to your plan).
### What happens when an endpoint is idle?
With scale-to-zero enabled:
- Endpoint scales down after inactivity
- First request triggers cold start
- Subsequent requests are fast
First requests after an idle period trigger a cold start.

View File

@@ -0,0 +1,416 @@
---
comments: true
description: Learn how to test YOLO models with the Ultralytics Platform inference API including browser testing and programmatic access.
keywords: Ultralytics Platform, inference, API, YOLO, object detection, prediction, testing
---
# Inference
[Ultralytics Platform](https://platform.ultralytics.com) provides an inference API for testing trained models. Use the browser-based `Predict` tab for quick validation or the [REST API](../api/index.md#models-api) for programmatic access.
![Ultralytics Platform Model Predict Tab With Detections Overlay](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/model-predict-tab-with-detections-overlay.avif)
## Predict Tab
Every model includes a `Predict` tab for browser-based inference:
1. Navigate to your model
2. Click the **Predict** tab
3. Upload an image, use an example, or open your webcam
4. View predictions instantly with bounding box overlays
![Ultralytics Platform Predict Tab Image Upload Dropzone](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/predict-tab-image-upload-dropzone.avif)
### Input Methods
The predict panel supports multiple input methods:
| Method | Description |
| ------------------ | ---------------------------------------------------- |
| **Image upload** | Drag and drop or click to upload an image |
| **Example images** | Click built-in examples (dataset images or defaults) |
| **Webcam capture** | Live camera feed with single-frame capture |
```mermaid
graph LR
A[Upload Image] --> D[Auto-Inference]
B[Example Image] --> D
C[Webcam Capture] --> D
D --> E[Results + Overlays]
style D fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fff
```
### Upload Image
Drag and drop or click to upload:
- **Supported formats**: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- **Max size**: 10MB
- **Auto-inference**: Results appear automatically after upload
!!! info "Auto-Inference"
The predict panel runs inference automatically when you upload an image, select an example, or capture a webcam frame. No button click is needed.
### Example Images
The predict panel shows example images from your model's linked dataset. If no dataset is linked, default examples are used:
| Image | Content |
| ------------ | -------------------------- |
| `bus.jpg` | Street scene with vehicles |
| `zidane.jpg` | Sports scene with people |
For OBB models, aerial images of boats and airports are shown instead.
!!! tip "Preloaded Images"
Example images are preloaded when the page loads, so clicking an example triggers near-instant inference with no download wait.
### Webcam
Click the webcam card to start a live camera feed:
1. Grant camera permission when prompted
2. Click the video preview to capture a frame
3. Inference runs automatically on the captured frame
4. Click again to restart the webcam
### View Results
Inference results display:
- **Bounding boxes** with class labels as SVG overlays
- **Confidence scores** for each detection
- **Class colors** from your dataset's color palette (or the Ultralytics default palette)
- **Speed breakdown**: Preprocess, inference, postprocess, and network time
![Ultralytics Platform Predict Tab Results With Detections And Speed Stats](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/predict-tab-results-with-detections-and-speed-stats.avif)
The results panel shows:
| Field | Description |
| ------------------- | ------------------------------------------------ |
| **Detections list** | Each detection with class name and confidence |
| **Speed stats** | Preprocess, inference, postprocess, network (ms) |
| **JSON response** | Raw API response in a code block |
## Inference Parameters
Adjust detection behavior with parameters in the collapsible **Parameters** section:
![Ultralytics Platform Predict Tab Parameters Sliders](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/predict-tab-parameters-sliders.avif)
| Parameter | Range | Default | Description |
| -------------- | -------------- | ------- | -------------------------------------- |
| **Confidence** | 0.01-1.0 | 0.25 | Minimum confidence threshold |
| **IoU** | 0.0-0.95 | 0.70 | NMS IoU threshold |
| **Image Size** | 320, 640, 1280 | 640 | Input resize dimension (button toggle) |
!!! note "Auto-Rerun"
Changing any parameter automatically re-runs inference on the current image with a 500ms debounce. No need to re-upload.
### Confidence Threshold
Filter predictions by confidence:
- **Higher (0.5+)**: Fewer, more certain predictions
- **Lower (0.1-0.25)**: More predictions, some noise
- **Default (0.25)**: Balanced for most use cases
### IoU Threshold
Control Non-Maximum Suppression:
- **Higher (0.7+)**: Allow more overlapping boxes
- **Lower (0.3-0.5)**: Merge nearby detections more aggressively
- **Default (0.70)**: Balanced NMS behavior for most use cases
## Deployment Predict
Each running [dedicated endpoint](endpoints.md) includes a `Predict` tab directly on its deployment card. This uses the deployment's own inference service rather than the shared predict service, letting you test your deployed endpoint from the browser.
## REST API
Access inference programmatically:
### Authentication
Include your API key in requests:
```bash
Authorization: Bearer YOUR_API_KEY
```
!!! warning "API Key Required"
To run inference from your own scripts, notebooks, or apps, include an API key. Generate one in [`Settings`](../account/api-keys.md) (API Keys section on the Profile tab).
### Endpoint
```
POST https://platform.ultralytics.com/api/models/{modelId}/predict
```
### Request
=== "Python"
```python
import requests
url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
```
=== "cURL"
```bash
curl -X POST \
"https://platform.ultralytics.com/api/models/MODEL_ID/predict" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.jpg" \
-F "conf=0.25" \
-F "iou=0.7" \
-F "imgsz=640"
```
=== "JavaScript"
```javascript
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");
const response = await fetch(
"https://platform.ultralytics.com/api/models/MODEL_ID/predict",
{
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: formData,
}
);
const result = await response.json();
console.log(result);
```
![Ultralytics Platform Predict Tab Code Examples Python Tab](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/predict-tab-code-examples-python-tab.avif)
### Response
```json
{
"images": [
{
"shape": [1080, 1920],
"results": [
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
},
{
"class": 2,
"name": "car",
"confidence": 0.87,
"box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
}
],
"speed": {
"preprocess": 1.2,
"inference": 12.5,
"postprocess": 2.3
}
}
],
"metadata": {
"imageCount": 1,
"functionTimeCall": 0.018,
"model": "model.pt",
"version": {
"ultralytics": "8.4.14",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
```
![Ultralytics Platform Predict Tab Json Response View](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/predict-tab-json-response-view.avif)
### Response Fields
| Field | Type | Description |
| ------------------------------- | ------ | --------------------------------- |
| `images` | array | List of processed images |
| `images[].shape` | array | Image dimensions [height, width] |
| `images[].results` | array | List of detections |
| `images[].results[].name` | string | Class name |
| `images[].results[].confidence` | float | Detection confidence (0-1) |
| `images[].results[].box` | object | Bounding box coordinates |
| `images[].speed` | object | Processing times in milliseconds |
| `metadata` | object | Request metadata and version info |
### Task-Specific Responses
Response format varies by task:
=== "Detection"
```json
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
```
=== "Segmentation"
```json
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"segments": [[100, 50], [150, 60], ...]
}
```
=== "Pose"
```json
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"keypoints": [
{"x": 200, "y": 75, "conf": 0.95},
...
]
}
```
=== "Classification"
```json
{
"results": [
{"class": 0, "name": "cat", "confidence": 0.95},
{"class": 1, "name": "dog", "confidence": 0.03}
]
}
```
=== "OBB"
```json
{
"class": 0,
"name": "ship",
"confidence": 0.89,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"obb": {"x1": 105, "y1": 48, "x2": 295, "y2": 55, "x3": 290, "y3": 395, "x4": 110, "y4": 402}
}
```
## Rate Limits
Shared inference is rate-limited to **20 requests/min per API key**. When throttled, the API returns `429` with a `Retry-After` header. See the full [rate limit reference](../api/index.md#rate-limits) for all endpoint categories.
!!! tip "Need More Throughput?"
Deploy a [dedicated endpoint](endpoints.md) for **unlimited** inference with no rate limits, predictable throughput, and consistent low-latency responses. For local inference, see the [Predict mode guide](../../modes/predict.md).
## Error Handling
Common error responses:
| Code | Message | Solution |
| ---- | --------------- | ------------------------------------------------------------------------------------ |
| 400 | Invalid image | Check file format |
| 401 | Unauthorized | Verify API key |
| 404 | Model not found | Check model ID |
| 429 | Rate limited | Wait and retry, or use a [dedicated endpoint](endpoints.md) for unlimited throughput |
| 500 | Server error | Retry request |
## FAQ
### Can I run inference on video?
The API accepts individual frames. For video:
1. Extract frames locally
2. Send each frame to the API
3. Aggregate results
For real-time video, consider deploying a [dedicated endpoint](endpoints.md).
### How do I get the annotated image?
The API returns JSON predictions. To visualize:
1. Use predictions to draw boxes locally
2. Use Ultralytics `plot()` method:
```python
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")
```
See the [Predict mode documentation](../../modes/predict.md) for the full results API and visualization options.
### What's the maximum image size?
- **Upload limit**: 10MB
- **Recommended**: <5MB for fast inference
- **Auto-resize**: Images are resized to the selected `Image Size` parameter
Large images are automatically resized while preserving aspect ratio.
### Can I run batch inference?
The current API processes one image per request. For batch:
1. Send concurrent requests
2. Use a dedicated endpoint for higher throughput
3. Consider local inference for large batches
!!! example "Batch Inference with Python"
```python
import concurrent.futures
import requests
url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]
def predict(image_path):
with open(image_path, "rb") as f:
return requests.post(url, headers=headers, files={"file": f}).json()
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(predict, images))
```

View File

@@ -0,0 +1,355 @@
---
comments: true
description: Monitor deployed YOLO models on Ultralytics Platform with real-time metrics, request logs, and performance dashboards.
keywords: Ultralytics Platform, monitoring, metrics, logs, deployment, performance, YOLO, observability
---
# Monitoring
[Ultralytics Platform](https://platform.ultralytics.com) provides monitoring for deployed endpoints. Track request metrics, view logs, and check health status with automatic polling.
![Ultralytics Platform Deploy Page Overview Cards And World Map](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-overview-cards-and-world-map.avif)
## Deployments Dashboard
The `Deploy` page in the sidebar serves as the monitoring dashboard for all your deployments. It combines the world map, overview metrics, and deployment management in one view. See [Dedicated Endpoints](endpoints.md) for creating and managing deployments.
```mermaid
graph TB
subgraph Dashboard
Map[World Map] --- Cards[Overview Cards]
Cards --- List[Deployments List]
end
subgraph "Per Deployment"
Metrics[Metrics Row]
Health[Health Check]
Logs[Logs Tab]
Code[Code Tab]
Predict[Predict Tab]
end
List --> Metrics
List --> Health
List --> Logs
List --> Code
List --> Predict
style Dashboard fill:#f5f5f5,color:#333
style Map fill:#2196F3,color:#fff
style Cards fill:#FF9800,color:#fff
style List fill:#4CAF50,color:#fff
```
### Overview Cards
Four summary cards at the top of the page show:
![Ultralytics Platform Deploy Page Four Overview Cards](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-four-overview-cards.avif)
| Metric | Description |
| ------------------------ | ----------------------------- |
| **Total Requests (24h)** | Requests across all endpoints |
| **Active Deployments** | Currently running endpoints |
| **Error Rate (24h)** | Percentage of failed requests |
| **P95 Latency (24h)** | 95th percentile response time |
!!! warning "Error Rate Alert"
The error rate card highlights in red when the rate exceeds 5%. Check the `Logs` tab on individual deployments to diagnose errors.
### World Map
The interactive world map shows:
- **Region pins** for all 43 available regions
- **Green pins** for deployed regions
- **Animated blue pins** for regions with active deployments in progress
- **Pin size** varies based on deployment status and latency
![Ultralytics Platform Deploy Page World Map With Deployed Regions](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deploy-page-world-map-with-deployed-regions.avif)
### Deployments List
Below the overview cards, the deployments list shows all endpoints across your projects. Use the view mode toggle to switch between:
| View | Description |
| ----------- | ---------------------------------------------------------------------------- |
| **Cards** | Full detail cards with metrics, logs, code, and predict tabs |
| **Compact** | Grid of smaller cards (1-4 columns) with key metrics |
| **Table** | DataTable with sortable columns: Name, Region, Status, Requests, P95, Errors |
!!! tip "Real-Time Updates"
The dashboard polls every 30 seconds for metric updates. When deployments are in a transitional state (creating, deploying), polling increases to every 3 seconds. Click the refresh button for immediate updates.
## Per-Deployment Metrics
Each deployment card (in cards view) shows real-time metrics:
### Metrics Row
| Metric | Description |
| --------------- | ----------------------------- |
| **Requests** | Request count (24h) with icon |
| **P95 Latency** | 95th percentile response time |
| **Error Rate** | Percentage of failed requests |
Metrics are fetched from the sparkline API endpoint and refresh every 60 seconds.
### Health Check
Running deployments show a health check indicator:
| Indicator | Meaning |
| ----------------- | -------------------------------- |
| **Green heart** | Healthy — shows response latency |
| **Red heart** | Unhealthy — shows error message |
| **Spinning icon** | Health check in progress |
Health checks auto-retry every 20 seconds when unhealthy. Click the refresh icon to manually trigger a health check. The health check uses a 55-second timeout to accommodate cold starts on scale-to-zero endpoints.
![Ultralytics Platform Deployment Card Health Check Healthy With Latency](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deployment-card-health-check-healthy-with-latency.avif)
!!! info "Cold Start Tolerance"
The health check uses a 55-second timeout to account for cold starts on scale-to-zero endpoints (up to ~45 seconds in worst case). Once the endpoint warms up, health checks complete in milliseconds.
## Logs
Each deployment card includes a `Logs` tab for viewing recent log entries:
![Ultralytics Platform Deployment Card Logs Tab With Severity Filter](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/deployment-card-logs-tab-with-severity-filter.avif)
### Log Entries
Each log entry shows:
| Field | Description |
| ------------- | --------------------------------------- |
| **Severity** | Color-coded bar (see below) |
| **Timestamp** | Request time (local format) |
| **Message** | Log content |
| **HTTP info** | Status code and latency (if applicable) |
=== "Severity Levels"
Filter logs by severity using the filter buttons:
| Level | Color | Description |
| ------------ | -------- | ------------------- |
| **DEBUG** | Gray | Debug messages |
| **INFO** | Blue | Normal requests |
| **WARNING** | Yellow | Non-critical issues |
| **ERROR** | Red | Failed requests |
| **CRITICAL** | Dark Red | Critical failures |
=== "Log Controls"
| Control | Description |
| ----------- | ----------------------------------- |
| **Errors** | Filter to ERROR and WARNING entries |
| **All** | Show all log entries |
| **Copy** | Copy all visible logs to clipboard |
| **Refresh** | Reload log entries |
The UI shows the 20 most recent entries. The API defaults to 50 entries per request (max 200).
!!! tip "Debugging Workflow"
When investigating errors: first click **Errors** to filter to ERROR and WARNING entries, then review timestamps and HTTP status codes. Copy logs to clipboard for sharing with your team.
## Code Examples
Each deployment card includes a `Code` tab showing ready-to-use API code with your actual endpoint URL and API key:
=== "Python"
```python
import requests
# Deployment endpoint
url = "https://predict-abc123.run.app/predict"
# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}
# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
# Send image for inference
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, data=data, files={"file": f})
print(response.json())
```
=== "JavaScript"
```javascript
// Build form data with image and parameters
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");
// Send image for inference
const response = await fetch(
"https://predict-abc123.run.app/predict",
{
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: formData,
}
);
const result = await response.json();
console.log(result);
```
=== "cURL"
```bash
# Send image for inference
curl -X POST "https://predict-abc123.run.app/predict" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.jpg" \
-F "conf=0.25" \
-F "iou=0.7" \
-F "imgsz=640"
```
!!! note "Auto-Populated Credentials"
When viewing the `Code` tab in the platform, your actual endpoint URL and API key are automatically filled in. Copy the code and run it directly. See [API Keys](../account/api-keys.md) to generate a key.
## Deployment Predict
The `Predict` tab on each deployment card provides an inline predict panel — the same interface as the model's `Predict` tab, but running inference through the deployment endpoint instead of the shared service. This is useful for testing a deployed endpoint directly from the browser. See [Inference](inference.md) for parameter details and response formats.
## API Endpoints
### Monitoring Overview
```
GET /api/monitoring
```
Returns aggregated metrics for all deployments owned by the authenticated user. Workspace-aware via optional `owner` query parameter.
### Deployment Metrics
```
GET /api/deployments/{deploymentId}/metrics?sparkline=true&range=24h
```
Returns sparkline data and summary metrics for a specific deployment. Refresh interval: 60 seconds.
| Parameter | Type | Description |
| ----------- | ------ | --------------------------------------------- |
| `sparkline` | bool | Include sparkline data |
| `range` | string | Time range: `1h`, `6h`, `24h`, `7d`, or `30d` |
### Deployment Logs
```
GET /api/deployments/{deploymentId}/logs?limit=50&severity=ERROR,WARNING
```
Returns recent log entries with optional severity filter and pagination.
| Parameter | Type | Description |
| ----------- | ------ | --------------------------------------------- |
| `limit` | int | Max entries to return (default: 50, max: 200) |
| `severity` | string | Comma-separated severity filter |
| `pageToken` | string | Pagination token from previous response |
### Deployment Health
```
GET /api/deployments/{deploymentId}/health
```
Returns health check status with response latency.
```json
{
"healthy": true,
"status": 200,
"latencyMs": 142
}
```
## Performance Optimization
Use monitoring data to optimize your deployments:
=== "High Latency"
If latency is too high:
1. Check instance count (may need more)
2. Verify model size is appropriate
3. Consider a closer region
4. Check image sizes being sent
!!! example "Reducing Latency"
Switch from `imgsz=1280` to `imgsz=640` for a ~4x speedup with minimal accuracy loss for most use cases. Deploy to a region closer to your users for lower network latency.
=== "High Error Rate"
If errors are occurring:
1. Review error logs in the `Logs` tab
2. Check request format (multipart form required)
3. Verify API key is valid
4. Check rate limits
=== "Scaling Issues"
If hitting capacity:
1. Consider multiple regions
2. Optimize request batching
3. Increase CPU and memory resources
## FAQ
### How long is data retained?
| Data Type | Retention |
| ----------- | --------- |
| **Metrics** | 30 days |
| **Logs** | 7 days |
### Can I set up external monitoring?
Yes, endpoint URLs work with external monitoring tools:
- Uptime monitoring (Pingdom, UptimeRobot)
- APM tools (Datadog, New Relic)
- Custom health checks via the `/health` endpoint
### How accurate are the latency numbers?
Latency metrics measure:
- **P50**: Median response time
- **P95**: 95th percentile
- **P99**: 99th percentile
These represent server-side processing time, not including network latency to your users.
### Why are my metrics delayed?
Metrics have a ~2 minute delay due to:
- Metrics aggregation pipeline
- Aggregation windows
- Dashboard caching
For real-time debugging, check logs which are near-instant.
### Can I monitor multiple endpoints together?
Yes, the deployments page shows all endpoints with aggregated overview cards. Use the table view to compare performance across deployments.

329
docs/en/platform/explore.md Executable file
View File

@@ -0,0 +1,329 @@
---
comments: true
description: Discover public datasets and projects on the Ultralytics Platform Explore page. Browse, search, and clone community content for computer vision and YOLO.
keywords: Ultralytics Platform, explore, public datasets, public projects, computer vision, YOLO, community
---
# Explore
[Ultralytics Platform](https://platform.ultralytics.com) Explore page showcases public content from the community. Discover [datasets](data/datasets.md) and [projects](train/projects.md) for inspiration and learning. The Explore page is accessible to everyone — even without signing in.
![Ultralytics Platform Explore Datasets Tab Cards View](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-explore-datasets-tab-cards-view.avif)
```mermaid
graph LR
A[🔍 Browse Explore] --> B[📥 Clone to Account]
B --> C[✏️ Customize & Annotate]
C --> D[🚀 Train Model]
D --> E[🌐 Deploy Endpoint]
style A fill:#4CAF50,color:#fff
style B fill:#2196F3,color:#fff
style C fill:#FF9800,color:#fff
style D fill:#9C27B0,color:#fff
style E fill:#E91E63,color:#fff
```
!!! info "Anonymous Access"
The Explore page works without signing in. Anonymous users see official Ultralytics content in the sidebar under "Ultralytics" instead of "My Projects". To clone content or create your own, you'll need to sign up.
## Overview
The Explore page features two tabs:
- **Public Datasets**: Community training data with image previews
- **Public Projects**: Complete experiments containing trained models
Official Ultralytics content (e.g., `@ultralytics` projects and datasets) is pinned to the top of results.
## Browse Content
### Tabs
The Explore page uses a tabbed interface with `Datasets` and `Projects` tabs. Each tab has its own search, sort, and view mode controls.
| Tab | Description |
| ------------ | ------------------------------------------------- |
| **Datasets** | Labeled image collections for training (default) |
| **Projects** | Organized model collections with training results |
### Search and Sort
Each tab provides a search bar and sort options:
![Ultralytics Platform Explore Datasets Tab With Search](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-explore-datasets-tab-with-search.avif)
| Sort Option | Description |
| ----------------- | --------------------------------------------- |
| **Most Starred** | Content with most community stars (default) |
| **Newest** | Most recently created |
| **Oldest** | Oldest first |
| **Name A-Z** | Alphabetical ascending |
| **Name Z-A** | Alphabetical descending |
| **Most images** | Most images (datasets) or models (projects) |
| **Fewest images** | Fewest images (datasets) or models (projects) |
### View Modes
Toggle between three view modes for browsing:
| Mode | Description |
| ----------- | ------------------------------------------------ |
| **Cards** | Grid of preview cards with thumbnails |
| **Compact** | Smaller cards in a responsive grid (2-3 columns) |
| **Table** | Sortable table with columns |
Cards and compact views support infinite scroll for loading more results.
## Content Cards
Each item displays:
![Ultralytics Platform Explore Dataset And Project Cards](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-explore-dataset-and-project-cards.avif)
=== "Project Cards"
| Element | Description |
| -------------------- | ------------------------------------------------------------- |
| **Icon** | Project icon with custom colors |
| **Name** | Project title |
| **Creator** | Author avatar and username |
| **Description** | Short project description |
| **Model Count** | Number of models in the project |
| **Model Tags** | Names of models in the project |
| **Visibility Badge** | Public or private indicator (shows lock icon for private) |
| **Star Count** | Number of community stars |
=== "Dataset Cards"
| Element | Description |
| -------------------- | ------------------------------------------------------------- |
| **Thumbnails** | Preview images from the dataset |
| **Name** | Dataset title |
| **Creator** | Author avatar and username |
| **Task Badge** | YOLO task type (detect, segment, etc.) |
| **Image Count** | Number of images in the dataset |
| **Visibility Badge** | Public or private indicator (shows lock icon for private) |
| **Star Count** | Number of community stars |
## Use Public Content
```mermaid
graph TD
A[Find Content on Explore] --> B{Content Type}
B --> C[Dataset]
B --> D[Project]
B --> E[Model]
C --> F[Clone Dataset]
D --> G[Clone Project]
E --> H[Download Model]
F --> I[Private Copy in Your Account]
G --> J[Private Copy with All Models]
H --> K[.pt / ONNX / Other Formats]
I --> L[Edit, Annotate, Train]
J --> L
```
### Clone Dataset
Use a public dataset for your training:
1. Click on the dataset to open its detail page
2. Click `Clone`
3. Dataset copies to your account
!!! note "Cloned Dataset Properties"
- Cloned datasets are **private by default**
- You can modify classes, annotations, and splits
- Changes don't affect the original dataset
- Images are deduplicated using content-addressable storage — cloning is fast
See [Datasets](data/datasets.md) for managing and annotating your cloned dataset.
### Download Model
Download a public model:
1. Click on the model within a project
2. Click the **download icon**
3. Select format (PT, ONNX, etc.)
You can also use the model for inference or as a starting point for fine-tuning:
```bash
# Use a downloaded model for inference
yolo predict model=path/to/downloaded-model.pt source=image.jpg
# Fine-tune on your own dataset
yolo train model=path/to/downloaded-model.pt data=my-dataset.yaml epochs=50
```
### Clone Project
Copy a public project to your workspace:
1. Click on the project to open its detail page
2. Click `Clone`
3. Project copies with all models to your account
See [Projects](train/projects.md) for organizing models in your cloned project.
## Official Ultralytics Content
Official `@ultralytics` content is pinned to the top of the Explore page. This includes:
| Project | Description | Models | Tasks |
| --------------------------------- | --------------------------- | ---------------------------- | ------------------------------------ |
| **[YOLO26](../models/yolo26.md)** | Latest January 2026 release | 25 models (all sizes, tasks) | detect, segment, pose, OBB, classify |
| **[YOLO11](../models/yolo11.md)** | Current stable release | 10+ models | detect, segment, pose, OBB, classify |
| **YOLOv8** | Previous generation | Various | detect, segment, pose, classify |
| **YOLOv5** | Legacy, widely adopted | Various | detect, segment, classify |
Official datasets include benchmark datasets like [coco8](../datasets/detect/coco8.md) (8-image COCO subset), [VOC](../datasets/detect/voc.md), [african-wildlife](../datasets/detect/african-wildlife.md), [dota8](../datasets/obb/dota8.md), and other commonly used computer vision datasets.
!!! tip "Quick Start with Official Models"
The fastest way to get started is to clone an official Ultralytics project and use a pretrained model to train on your own dataset:
1. Go to `Explore` > `Projects` tab
2. Find the **YOLO26** project from `@ultralytics`
3. Clone it to your account
4. Upload your dataset in [supported formats](data/datasets.md#preparing-your-dataset) and start training with a pretrained checkpoint
## User Profiles
Click on a creator's username to view their public profile at `platform.ultralytics.com/{username}`. Public profiles show:
![Ultralytics Platform User Profile Public Content](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-user-profile-public-content.avif)
| Section | Content |
| ------------ | ---------------------------- |
| **Bio** | User description and company |
| **Links** | Social profiles |
| **Projects** | Public projects with models |
| **Datasets** | Public datasets |
## Make Your Content Public
Make your work available to the community. Public content appears on the Explore page and is visible to everyone, including users who aren't signed in.
```mermaid
graph LR
A[Your Private Content] --> B[Edit Settings]
B --> C[Set Visibility: Public]
C --> D[Appears on Explore Page]
D --> E[Community Can Clone/Download]
```
### Make Dataset Public
1. Go to your dataset
2. Open the actions menu (three dots)
3. Click `Edit`
4. Set visibility to `Public`
5. Click `Save`
### Make Project Public
1. Go to your project
2. Open the actions menu (three dots)
3. Click `Edit`
4. Set visibility to `Public`
5. Click `Save`
!!! tip "Quality Content"
Before making content public:
- Add a clear, descriptive name and description
- Define class names in the dataset settings
- Verify data quality and annotation accuracy
- Test model performance and include training metrics
!!! warning "Public Content Visibility"
Public content is visible to **everyone on the internet**, including anonymous users. Make sure your dataset doesn't contain sensitive, private, or copyrighted data before making it public. You can change visibility back to private at any time.
## Guidelines
When contributing public content:
### Do
- Provide useful, high-quality content
- Write clear descriptions
- Include relevant metadata
- Respond to questions
- Credit data sources
### Don't
- Upload sensitive/private data
- Violate copyrights
- Upload inappropriate content
- Spam low-quality content
- Misrepresent performance
## Public Content URLs
Public content on the platform uses clean, shareable URLs:
| Content | URL Pattern | Example |
| -------- | ------------------------------------------------------- | ----------------------------------------------------- |
| Profile | `platform.ultralytics.com/{username}` | `platform.ultralytics.com/ultralytics` |
| Datasets | `platform.ultralytics.com/{username}/datasets` | `platform.ultralytics.com/ultralytics/datasets` |
| Dataset | `platform.ultralytics.com/{username}/datasets/{slug}` | `platform.ultralytics.com/ultralytics/datasets/coco` |
| Project | `platform.ultralytics.com/{username}/{project}` | `platform.ultralytics.com/ultralytics/yolo26` |
| Model | `platform.ultralytics.com/{username}/{project}/{model}` | `platform.ultralytics.com/ultralytics/yolo26/yolo26n` |
!!! tip "Shareable Links"
You can share any public content URL directly. Recipients can view the content without signing in. To clone or download, they'll need an account.
## FAQ
### Can I use public content commercially?
Check individual content licenses. Most community content is for:
- Research and education
- Personal projects
- Non-commercial use
Contact creators for commercial licensing.
### How do I report inappropriate content?
1. Click the report button on the content
2. Select violation type
3. Add details
4. Submit report
Our team reviews reports within 24-48 hours.
### Can I make public content private again?
Yes, you can change visibility anytime:
1. Open content settings
2. Change visibility to **Private**
3. Save changes
Existing clones are not affected.
### How do I get featured?
Featured content is selected based on:
- Quality and usefulness
- Community engagement
- Novelty and interest
- Clear documentation
There's no application process - just create great content!
### Can I monetize public content?
Currently, the platform doesn't support monetization. This may be added in future updates.

496
docs/en/platform/index.md Executable file
View File

@@ -0,0 +1,496 @@
---
comments: true
description: Ultralytics Platform is an end-to-end computer vision platform for data preparation, model training, and deployment with multi-region infrastructure.
keywords: Ultralytics Platform, YOLO, computer vision, model training, cloud deployment, annotation, inference, YOLO11, YOLO26, machine learning
---
# Ultralytics Platform
<div align="center">
<a href="https://docs.ultralytics.com/zh/platform/">中文</a> |
<a href="https://docs.ultralytics.com/ko/platform/">한국어</a> |
<a href="https://docs.ultralytics.com/ja/platform/">日本語</a> |
<a href="https://docs.ultralytics.com/ru/platform/">Русский</a> |
<a href="https://docs.ultralytics.com/de/platform/">Deutsch</a> |
<a href="https://docs.ultralytics.com/fr/platform/">Français</a> |
<a href="https://docs.ultralytics.com/es/platform/">Español</a> |
<a href="https://docs.ultralytics.com/pt/platform/">Português</a> |
<a href="https://docs.ultralytics.com/tr/platform/">Türkçe</a> |
<a href="https://docs.ultralytics.com/vi/platform/">Tiếng Việt</a> |
<a href="https://docs.ultralytics.com/ar/platform/">العربية</a>
<br>
<br>
<a href="https://discord.com/invite/ultralytics"><img alt="Discord" src="https://img.shields.io/discord/1089800235347353640?logo=discord&logoColor=white&label=Discord&color=blue"></a> <a href="https://community.ultralytics.com/"><img alt="Ultralytics Forums" src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fcommunity.ultralytics.com&logo=discourse&label=Forums&color=blue"></a> <a href="https://www.reddit.com/r/ultralytics/"><img alt="Ultralytics Reddit" src="https://img.shields.io/reddit/subreddit-subscribers/ultralytics?style=flat&logo=reddit&logoColor=white&label=Reddit&color=blue"></a>
</div>
[Ultralytics Platform](https://platform.ultralytics.com) is a comprehensive end-to-end computer vision platform that streamlines the entire ML workflow from data preparation to model deployment. Built for teams and individuals who need production-ready [computer vision](https://www.ultralytics.com/glossary/computer-vision-cv) solutions without the infrastructure complexity.
![Ultralytics Platform Dataset Screenshot](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/dataset-screenshot.avif)
## What is Ultralytics Platform?
Ultralytics Platform is designed to replace fragmented ML tooling with a unified solution. It combines the capabilities of:
- **Roboflow** - Data management and annotation
- **Weights & Biases** - Experiment tracking
- **SageMaker** - Cloud training
- **HuggingFace** - Model deployment
- **Arize** - Monitoring
All in one platform with native support for [YOLO26](../models/yolo26.md) and [YOLO11](../models/yolo11.md) models.
## Workflow: Upload → Annotate → Train → Export → Deploy
The Platform provides an end-to-end workflow:
```mermaid
graph LR
subgraph Data["📁 Data"]
A[Upload] --> B[Annotate]
B --> C[Analyze]
end
subgraph Train["🚀 Train"]
D[Configure] --> E[Train on GPU]
E --> F[View Metrics]
end
subgraph Deploy["🌐 Deploy"]
G[Export] --> H[Deploy Endpoint]
H --> I[Monitor]
end
Data --> Train --> Deploy
```
| Stage | Features |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Upload** | Images (50MB), videos (1GB), ZIP archives (10GB) with automatic processing |
| **Annotate** | Manual tools, SAM smart annotation, YOLO auto-labeling for all 5 task types (see [supported tasks](data/index.md#supported-tasks)) |
| **Train** | Cloud GPUs (22 options from RTX 2000 Ada to B200), real-time metrics, project organization |
| **Export** | [17 deployment formats](../modes/export.md) (ONNX, TensorRT, CoreML, TFLite, etc.; see [supported formats](train/models.md#supported-formats)) |
| **Deploy** | 43 global regions with dedicated endpoints, auto-scaling, monitoring |
**What you can do:**
- **Upload** images, videos, and ZIP archives to create training datasets
- **Visualize** annotations with interactive overlays for all 5 YOLO task types (see [supported tasks](data/index.md#supported-tasks))
- **Train** models on 22 cloud GPU types with real-time metrics
- **Export** to [17 deployment formats](../modes/export.md) (ONNX, TensorRT, CoreML, TFLite, etc.)
- **Deploy** to 43 global regions with one-click dedicated endpoints
- **Monitor** training progress, deployment health, and usage metrics
- **Collaborate** by making projects and datasets public for the community
## Multi-Region Infrastructure
Your data stays in your region. Ultralytics Platform operates infrastructure in three global regions:
| Region | Label | Location | Best For |
| ------ | ---------------------------- | ----------------------- | --------------------------------------- |
| **US** | Americas | Iowa, USA | Americas users, fastest for Americas |
| **EU** | Europe, Middle East & Africa | Belgium, Europe | European users, GDPR compliance |
| **AP** | Asia Pacific | Hong Kong, Asia-Pacific | Asia-Pacific users, lowest APAC latency |
You select your region during onboarding, and all your data, models, and deployments remain in that region.
!!! warning "Region is Permanent"
Your data region cannot be changed after account creation. During onboarding, the platform measures latency to each region and recommends the closest one. Choose carefully.
## Key Features
### Data Preparation
- **Dataset Management**: Upload images, videos, or ZIP archives with automatic processing
- **Annotation Editor**: Manual annotation for all 5 YOLO task types (detect, segment, pose, OBB, classify; see [supported tasks](data/index.md#supported-tasks))
- **SAM Smart Annotation**: Click-based intelligent annotation using [Segment Anything Model](../models/sam.md)
- **Auto-Annotation**: Use trained models to pre-label new data
- **Statistics**: Class distribution, location heatmaps, and dimension analysis
```mermaid
graph LR
A[Upload ZIP/Images/Video] --> B[Auto-Process]
B --> C[Browse & Filter]
C --> D{Annotate}
D --> E[Manual Tools]
D --> F[SAM Smart]
D --> G[YOLO Auto-Label]
E --> H[Train-Ready Dataset]
F --> H
G --> H
```
!!! tip "Supported Task Types"
The annotation editor supports all 5 YOLO task types: **[detect](../datasets/detect/index.md)** (bounding boxes), **[segment](../datasets/segment/index.md)** (polygons), **[pose](../datasets/pose/index.md)** (keypoints), **[OBB](../datasets/obb/index.md)** (oriented boxes), and **[classify](../datasets/classify/index.md)** (image-level labels). Each task type has dedicated drawing tools and keyboard shortcuts.
### Model Training
- **Cloud Training**: Train on 22 cloud GPU types with real-time metrics
- **Remote Training**: Train anywhere and stream metrics to the platform (W&B-style)
- **Project Organization**: Group related models, compare experiments, track activity
- **17 Export Formats**: ONNX, TensorRT, CoreML, TFLite, and more (see [supported formats](train/models.md#supported-formats))
![Ultralytics Platform Project Screenshot](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/project-screenshot.avif)
You can train models either through the web UI (cloud training) or from your own machine (remote training):
=== "Cloud Training (Web UI)"
1. Navigate to your project
2. Click `Train Model`
3. Select dataset, model, GPU, and epochs
4. Monitor real-time loss curves and metrics
=== "Remote Training (CLI)"
```bash
# Install ultralytics
pip install "ultralytics>=8.4.14"
# Set your API key
export ULTRALYTICS_API_KEY="your_api_key"
# Train and stream metrics to the platform
yolo train model=yolo26n.pt data=coco.yaml epochs=100 project=username/my-project name=exp1
```
=== "Remote Training (Python)"
```python
import os
from ultralytics import YOLO
os.environ["ULTRALYTICS_API_KEY"] = "your_api_key"
model = YOLO("yolo26n.pt")
model.train(
data="coco.yaml",
epochs=100,
project="username/my-project",
name="exp1",
)
# Metrics stream to Platform automatically
```
### Deployment
- **Inference Testing**: Test models directly in the browser with custom images
- **Dedicated Endpoints**: Deploy to 43 global regions with auto-scaling
- **Monitoring**: Real-time metrics, request logs, and performance dashboards
```mermaid
graph LR
A[Trained Model] --> B{Action}
B --> C[Browser Predict]
B --> D[Export Format]
B --> E[Deploy Endpoint]
D --> F[ONNX / TensorRT / CoreML / TFLite / ...]
E --> G[43 Global Regions]
G --> H[API Endpoint URL]
H --> I[Monitor & Scale]
```
Once deployed, call your endpoint from any language:
=== "Python"
```python
import requests
url = "https://your-endpoint-url/predict"
headers = {"Authorization": "Bearer your_api_key"}
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, files={"file": f})
print(response.json())
```
=== "cURL"
```bash
curl -X POST "https://your-endpoint-url/predict" \
-H "Authorization: Bearer your_api_key" \
-F "file=@image.jpg"
```
=== "JavaScript"
```javascript
const form = new FormData();
form.append("file", fileInput.files[0]);
const response = await fetch("https://your-endpoint-url/predict", {
method: "POST",
headers: { Authorization: "Bearer your_api_key" },
body: form,
});
const results = await response.json();
console.log(results);
```
### Account Management
- **Teams & Organizations**: Collaborate with team members, manage roles and invites
- **API Keys**: Secure key management for remote training and API access
- **Credits & Billing**: Pay-as-you-go training with transparent pricing
- **Activity Feed**: Track all account events and actions
- **Trash & Restore**: 30-day soft delete with item recovery
- **GDPR Compliance**: Data export and account deletion
!!! info "Plan Tiers"
| Feature | Free | Pro ($29/mo) | Enterprise |
| -------------------- | -------------- | ------------------- | -------------- |
| Signup Credit | $5 / $25* | - | Custom |
| Monthly Credit | - | $30/seat/month | Custom |
| Models | 100 | 500 | Unlimited |
| Concurrent Trainings | 3 | 10 | Unlimited |
| Deployments | 3 | 10 (warm-start) | Unlimited |
| Storage | 100 GB | 500 GB | Unlimited |
| Teams | - | Up to 5 members | Up to 50 |
| Support | Community | Priority | Dedicated |
*$5 at signup, or $25 with a verified company/work email.
## Quick Links
Get started with these resources:
- [**Quickstart**](quickstart.md): Create your first project and train a model in minutes
- [**Datasets**](data/datasets.md): Upload and manage your training data
- [**Annotation**](data/annotation.md): Label your data with manual and AI-assisted tools
- [**Projects**](train/projects.md): Organize your models and experiments
- [**Cloud Training**](train/cloud-training.md): Train on cloud GPUs
- [**Inference**](deploy/inference.md): Test your models
- [**Endpoints**](deploy/endpoints.md): Deploy models to production
- [**Monitoring**](deploy/monitoring.md): Track deployment performance
- [**API Keys**](account/api-keys.md): Manage API access
- [**Billing**](account/billing.md): Credits and payment
- [**Activity**](account/activity.md): Track account events
- [**Trash**](account/trash.md): Recover deleted items
- [**REST API**](api/index.md): API reference
## FAQ
### How do I get started with Ultralytics Platform?
To get started with [Ultralytics Platform](https://platform.ultralytics.com):
1. **Sign Up**: Create an account at [platform.ultralytics.com](https://platform.ultralytics.com)
2. **Select Region**: Choose your data region (US, EU, or AP) during onboarding
3. **Upload Dataset**: Navigate to the [Datasets](data/datasets.md) section to upload your data
4. **Train Model**: Create a project and start training on cloud GPUs
5. **Deploy**: Test your model and deploy to a dedicated endpoint
For a detailed guide, see the [Quickstart](quickstart.md) page.
### What are the benefits of Ultralytics Platform?
[Ultralytics Platform](https://platform.ultralytics.com) offers:
- **Unified Workflow**: Data, training, and deployment in one place
- **Multi-Region**: Data residency in US, EU, or AP regions
- **No-Code Training**: Train advanced YOLO models without writing code
- **Real-Time Metrics**: Stream training progress and monitor deployments
- **43 Deploy Regions**: Deploy models close to your users worldwide
- **5 Task Types**: Support for detection, segmentation, pose, OBB, and classification (see [task docs](../tasks/index.md))
- **AI-Assisted Annotation**: SAM and auto-labeling to speed up data preparation
### What GPU options are available for cloud training?
Ultralytics Platform supports multiple GPU types for cloud training:
| GPU | VRAM | Cost/Hour | Best For |
| ------------ | ------ | --------- | ----------------------- |
| RTX 2000 Ada | 16 GB | $0.24 | Small datasets, testing |
| RTX A4500 | 20 GB | $0.24 | Small-medium datasets |
| RTX A5000 | 24 GB | $0.26 | Medium datasets |
| RTX 4000 Ada | 20 GB | $0.38 | Medium datasets |
| L4 | 24 GB | $0.39 | Inference optimized |
| A40 | 48 GB | $0.40 | Larger batch sizes |
| RTX 3090 | 24 GB | $0.46 | General training |
| RTX A6000 | 48 GB | $0.49 | Large models |
| RTX 4090 | 24 GB | $0.59 | Great price/performance |
| RTX 6000 Ada | 48 GB | $0.77 | Large batch training |
| L40S | 48 GB | $0.86 | Large batch training |
| RTX 5090 | 32 GB | $0.89 | Latest generation |
| L40 | 48 GB | $0.99 | Large models |
| A100 PCIe | 80 GB | $1.39 | Production training |
| A100 SXM | 80 GB | $1.49 | Production training |
| RTX PRO 6000 | 96 GB | $1.89 | Recommended default |
| H100 PCIe | 80 GB | $2.39 | Fastest training |
| H100 SXM | 80 GB | $2.69 | Fastest training |
| H100 NVL | 94 GB | $3.07 | High-memory training |
| H200 NVL | 143 GB | $3.39 | Maximum memory |
| H200 SXM | 141 GB | $3.59 | Maximum performance |
| B200 | 180 GB | $4.99 | Largest models |
See [Cloud Training](train/cloud-training.md) for complete pricing and GPU options.
### How does remote training work?
You can train models on your own hardware and stream real-time metrics to the platform, similar to Weights & Biases.
!!! warning "Package Version Requirement"
Platform integration requires **ultralytics>=8.4.14**. Lower versions will NOT work with Platform.
```bash
pip install "ultralytics>=8.4.14"
```
=== "CLI"
```bash
# Set your API key
export ULTRALYTICS_API_KEY="your_api_key"
# Train with project/name to stream metrics
yolo train model=yolo26n.pt data=coco.yaml epochs=100 project=username/my-project name=exp1
```
=== "Python"
```python
import os
from ultralytics import YOLO
os.environ["ULTRALYTICS_API_KEY"] = "your_api_key"
model = YOLO("yolo26n.pt")
model.train(
data="coco.yaml",
epochs=100,
project="username/my-project",
name="exp1",
)
```
=== "Platform Dataset (ul:// URI)"
```bash
# Train using a Platform dataset directly
export ULTRALYTICS_API_KEY="your_api_key"
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100 project=username/my-project name=exp1
```
See [Cloud Training](train/cloud-training.md#remote-training) for more details on remote training.
### What annotation tools are available?
The Platform includes a full-featured annotation editor supporting:
- **Manual Tools**: Bounding boxes, polygons, keypoints, oriented boxes, classification
- **SAM Smart Annotation**: Click to generate precise masks using [Segment Anything Model](../models/sam.md)
- **Keyboard Shortcuts**: Efficient workflows with hotkeys
| Shortcut | Action |
| --------- | -------------------------- |
| `V` | Select mode |
| `S` | SAM smart annotation mode |
| `A` | Auto-annotate mode |
| `1` - `9` | Select class by number |
| `Delete` | Delete selected annotation |
| `Ctrl+Z` | Undo |
| `Ctrl+Y` | Redo |
| `Escape` | Cancel current action |
See [Annotation](data/annotation.md) for the complete guide.
### What export formats are supported?
The Platform supports 17 deployment formats:
| Format | File Extension | Use Case |
| ------------- | ------------------- | ------------------------- |
| ONNX | `.onnx` | Cross-platform deployment |
| TorchScript | `.torchscript` | C++ deployment |
| OpenVINO | `_openvino_model` | Intel hardware |
| TensorRT | `.engine` | NVIDIA GPU inference |
| CoreML | `.mlpackage` | Apple devices |
| TFLite | `.tflite` | Mobile/edge devices |
| TF SavedModel | `_saved_model` | TensorFlow ecosystem |
| TF GraphDef | `.pb` | TensorFlow legacy |
| PaddlePaddle | `_paddle_model` | Baidu ecosystem |
| NCNN | `_ncnn_model` | Mobile (Android/ARM) |
| Edge TPU | `_edgetpu.tflite` | Google Coral devices |
| TF.js | `_web_model` | Browser deployment |
| MNN | `.mnn` | Alibaba mobile |
| RKNN | `_rknn_model` | Rockchip NPU |
| IMX500 | `_imx_model` | Sony IMX500 sensor |
| Axelera | `_axelera_model` | Axelera AI accelerators |
| ExecuTorch | `_executorch_model` | PyTorch mobile |
See [Models Export](train/models.md#export-model), the [Export mode guide](../modes/export.md), and the [Integrations index](../integrations/index.md) for format-specific options.
## Troubleshooting
### Dataset Issues
| Problem | Solution |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Dataset won't process | Check file format is supported (JPEG, PNG, WebP, etc.). Max file size: images 50MB, videos 1GB, ZIP 10GB |
| Missing annotations | Verify labels are in [YOLO format](../datasets/detect/index.md#ultralytics-yolo-format) with `.txt` files matching image filenames |
| "Train split required" | Add `train/` folder to your dataset structure, or create splits in [dataset settings](data/datasets.md#filter-by-split) |
| Class names undefined | Add a `data.yaml` file with `names:` list (see [YOLO format](../datasets/detect/index.md#ultralytics-yolo-format)), or define classes in dataset settings |
### Training Issues
| Problem | Solution |
| -------------------- | ----------------------------------------------------------------------------------- |
| Training won't start | Check credit balance in Settings > Billing. Positive balance required |
| Out of memory error | Reduce batch size, use smaller model (n/s), or select GPU with more VRAM |
| Poor metrics | Check dataset quality, increase epochs, try data augmentation, verify class balance |
| Training slow | Select faster GPU, reduce image size, check dataset isn't bottlenecked |
### Deployment Issues
| Problem | Solution |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Endpoint not responding | Check endpoint status (Ready vs Stopped). Cold start may take 5-15 seconds |
| 401 Unauthorized | Verify API key is correct and has required scopes |
| Slow inference | Check model size, consider [TensorRT export](train/models.md#supported-formats), select closer region |
| Export failed | Some formats require specific model architectures. Try [ONNX](train/models.md#supported-formats) for broadest compatibility |
### Common Questions
??? question "Can I change my username after signup?"
No, usernames are permanent and cannot be changed. Choose carefully during signup.
??? question "Can I change my data region?"
No, data region is selected during signup and cannot be changed. To switch regions, create a new account and re-upload your data.
??? question "How do I get more credits?"
Go to Settings > Billing > Add Credits. Purchase credits from $5 to $1000. Purchased credits never expire.
??? question "What happens if training fails?"
You're only charged for completed compute time. Checkpoints are saved, and you can resume training.
??? question "Can I download my trained model?"
Yes, click the download icon on any model page to download the `.pt` file or exported formats.
??? question "How do I share my work publicly?"
Edit your project or dataset settings and toggle visibility to "Public". Public content appears on the Explore page.
??? question "What are the file size limits?"
Images: 50MB, Videos: 1GB, ZIP archives: 10GB. For larger files, split into multiple uploads.
??? question "How long are deleted items kept in Trash?"
30 days. After that, items are permanently deleted and cannot be recovered.
??? question "Can I use Platform models commercially?"
Free and Pro plans use AGPL license. For commercial use without AGPL requirements, contact sales@ultralytics.com for Enterprise licensing.

359
docs/en/platform/quickstart.md Executable file
View File

@@ -0,0 +1,359 @@
---
comments: true
description: Get started with Ultralytics Platform in minutes. Learn to create an account, upload datasets, train YOLO models, and deploy to production.
keywords: Ultralytics Platform, Quickstart, YOLO models, dataset upload, model training, cloud deployment, machine learning
---
# Ultralytics Platform Quickstart
[Ultralytics Platform](https://platform.ultralytics.com) is designed to be user-friendly and intuitive, allowing users to quickly upload their datasets and train new YOLO models. It offers a range of pretrained models to choose from, making it easy for users to get started. Once a model is trained, it can be tested directly in the browser and deployed to production with a single click.
```mermaid
journey
title Your First Model in 5 Minutes
section Sign Up
Create account: 5: User
Select region: 5: User
section Prepare Data
Upload dataset: 5: User
Review images: 4: User
section Train
Configure training: 5: User
Monitor progress: 3: Platform
section Deploy
Test model: 5: User
Deploy endpoint: 5: User
```
## Get Started
[Ultralytics Platform](https://platform.ultralytics.com) offers a variety of easy signup options. You can register and log in using your Google or GitHub accounts, or with your email address.
![Ultralytics Platform Signup](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-signup.avif)
### Region Selection
During onboarding, you'll be asked to select your data region. The Platform automatically measures latency to each region and recommends the closest one. This is an important choice as it determines where your data, models, and deployments will be stored.
![Ultralytics Platform Onboarding Region Map With Latency](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-onboarding-region-map-with-latency.avif)
| Region | Label | Location | Best For |
| ------ | ---------------------------- | ----------------------- | --------------------------------------- |
| **US** | Americas | Iowa, USA | Americas users, fastest for Americas |
| **EU** | Europe, Middle East & Africa | Belgium, Europe | European users, GDPR compliance |
| **AP** | Asia Pacific | Hong Kong, Asia-Pacific | Asia-Pacific users, lowest APAC latency |
!!! warning "Region is Permanent"
Your region selection cannot be changed after account creation. Choose the region closest to you or your users for best performance.
### Free Credits
Every new account receives free credits for cloud GPU training:
| Email Type | Sign-up Credits | How to Qualify |
| ---------------------- | --------------- | -------------------------------------- |
| **Work/Company Email** | **$25.00** | Use your company domain (@company.com) |
| **Personal Email** | **$5.00** | Gmail, Yahoo, Outlook, etc. |
!!! tip "Maximize Your Credits"
Sign up with a work email to receive $25 in credits. If you signed up with a personal email, you can verify a work email later to unlock the additional $20 in credits.
### Complete Your Profile
Before selecting your region, you'll complete your profile with a display name, username, optional company, and primary use case. The onboarding flow has three steps: Profile, Data Region, and Complete.
![Ultralytics Platform Onboarding Profile With Use Case](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-onboarding-profile-with-use-case.avif)
??? tip "Update Later"
You can update your profile anytime from the Settings page, including your display name, bio, and social links. Note that your username cannot be changed after signup.
## Home Dashboard
After signing in, you will be directed to the Home page of [Ultralytics Platform](https://platform.ultralytics.com), which provides a welcome card with workspace stats, quick access to datasets, projects, and storage, and a recent activity feed.
![Ultralytics Platform Home Dashboard Welcome Card](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-home-dashboard-welcome-card.avif)
### Sidebar Navigation
The sidebar provides access to all Platform sections:
| Section | Item | Description |
| --------------- | -------- | ------------------------------------------------ |
| **Top** | Search | Quick search across all your resources (Cmd+K) |
| | Home | Dashboard with quick actions and recent activity |
| | Explore | Discover public projects and datasets |
| **My Projects** | Annotate | Your datasets organized for annotation |
| | Train | Your projects containing trained models |
| | Deploy | Your active deployments |
| **Bottom** | Trash | Deleted items (recoverable for 30 days) |
| | Settings | Account, billing, and preferences |
| | Feedback | Send feedback to Ultralytics |
### Welcome Card
The welcome card shows your profile, plan badge, and workspace statistics at a glance:
| Stat | Description |
| --------------- | -------------------------------- |
| **Datasets** | Number of datasets |
| **Images** | Total images across all datasets |
| **Annotations** | Total annotation count |
| **Projects** | Number of projects |
| **Models** | Total trained models |
| **Exports** | Number of model exports |
| **Deployments** | Active deployment count |
### Quick Actions
Below the welcome card, the dashboard shows three cards:
- **Datasets**: Create a new dataset or drop images, videos, or ZIP files to upload. Shows your recent datasets.
- **Projects**: Create a new project or drop `.pt` model files to upload. Shows your recent projects.
- **Storage**: Overview of your storage usage (datasets, models, exports) with plan limits.
A **Recent Activity** table at the bottom shows your latest datasets, models, and training runs.
## Upload Your First Dataset
Navigate to `Annotate` in the sidebar and click `New Dataset` to add your training data. You can also drag and drop files directly onto the Datasets card on the Home dashboard.
![Ultralytics Platform Quickstart Upload Dialog](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-quickstart-upload-dialog.avif)
Ultralytics Platform supports multiple upload formats (full details in [Datasets](data/datasets.md)):
| Format | Max Size | Description |
| ---------------------------------------------------------------------- | -------- | ------------------------------------------------------ |
| **Images** | 50 MB | JPG, PNG, WebP, TIFF, and other common formats |
| **ZIP Archive** | 10 GB | Compressed folder with images and labels |
| **Video** | 1 GB | MP4, AVI - frames extracted at ~1 fps (max 100 frames) |
| **[YOLO Format](../datasets/detect/index.md#ultralytics-yolo-format)** | 10 GB | Standard YOLO dataset structure with labels |
```mermaid
graph LR
A[Drop Files] --> B[Auto-Package ZIP]
B --> C[Upload to Storage]
C --> D[Backend Worker]
D --> E[Resize & Thumbnail]
E --> F[Parse Labels]
F --> G[Compute Statistics]
G --> H[Dataset Ready]
```
After upload, the platform automatically processes your data:
1. Images larger than 4096px are resized (preserving aspect ratio)
2. 256px thumbnails are generated for fast browsing
3. Labels are parsed and validated ([YOLO `.txt` format](../datasets/detect/index.md#ultralytics-yolo-format))
4. Statistics are computed (class distribution, heatmaps, dimensions)
!!! tip "YOLO Dataset Structure"
For best results, upload a ZIP with the standard YOLO structure:
```
my-dataset.zip
├── data.yaml # Class names and splits
├── train/
│ ├── images/
│ │ ├── img001.jpg
│ │ └── img002.jpg
│ └── labels/
│ ├── img001.txt
│ └── img002.txt
└── val/
├── images/
└── labels/
```
For full syntax across tasks, see [detect](../datasets/detect/index.md#ultralytics-yolo-format), [segment](../datasets/segment/index.md#ultralytics-yolo-format), [pose](../datasets/pose/index.md#ultralytics-yolo-format), [OBB](../datasets/obb/index.md#yolo-obb-format), and [classify](../datasets/classify/index.md#dataset-structure-for-yolo-classification-tasks) dataset guides.
Read more about [datasets](data/datasets.md) and supported formats for [detect](../datasets/detect/index.md), [segment](../datasets/segment/index.md), [pose](../datasets/pose/index.md), [OBB](../datasets/obb/index.md), and [classify](../datasets/classify/index.md).
## Create Your First Project
Projects help you organize related models and experiments. Navigate to Projects and click "Create Project".
![Ultralytics Platform Projects Create](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-projects-create.avif)
Enter a name and optional description for your project. Projects contain:
- **Models**: Trained checkpoints
- **Activity Log**: History of changes
Read more about [projects](train/projects.md).
## Train Your First Model
From your project, click `Train Model` to start cloud training.
![Ultralytics Platform Quickstart Training Dialog Cloud Tab](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-quickstart-training-dialog-cloud-tab.avif)
### Training Configuration
1. **Select Dataset**: Choose from your uploaded datasets (only datasets with a [`train` split](data/datasets.md#filter-by-split) are shown)
2. **Choose Model**: Select a base model — official Ultralytics models or your own trained models
3. **Set Epochs**: Number of training iterations (default: 100)
4. **Select GPU**: Choose compute resources based on your budget and model size
| Model | Size | Speed | Accuracy | Recommended GPU |
| ------- | ----------- | -------- | -------- | -------------------- |
| YOLO26n | Nano | Fastest | Good | RTX PRO 6000 (96 GB) |
| YOLO26s | Small | Fast | Better | RTX PRO 6000 (96 GB) |
| YOLO26m | Medium | Moderate | High | RTX PRO 6000 (96 GB) |
| YOLO26l | Large | Slower | Higher | A100 (80 GB) |
| YOLO26x | Extra Large | Slowest | Best | H100 (80 GB) |
!!! info "GPU Selection"
GPUs range from $0.24/hr (RTX 2000 Ada, 16 GB) to $4.99/hr (B200, 180 GB). The default GPU is **RTX PRO 6000** (96 GB Blackwell, $1.89/hr) — a great balance of memory and performance. See the full [GPU pricing table](index.md#what-gpu-options-are-available-for-cloud-training) for all 22 options.
!!! warning "Credit Balance Required"
Cloud training requires a positive credit balance sufficient to cover the estimated job cost. Check your balance in [`Settings > Billing`](account/billing.md). New accounts receive free credits ($5 for personal email, $25 for work email).
### Monitor Training
Once training starts, you can monitor progress in real-time through three subtabs:
| Subtab | Content |
| ----------- | ------------------------------------------------------- |
| **Charts** | Training/validation loss curves, mAP, precision, recall |
| **Console** | Live training log output |
| **System** | GPU utilization, memory usage, hardware metrics |
![Ultralytics Platform Training Charts Loss And Metrics](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-training-charts-loss-and-metrics.avif)
Metrics are streamed in real-time via SSE (Server-Sent Events). After training completes, validation plots are generated including confusion matrix, PR curves, and F1 curves.
!!! tip "Cancel Training"
You can cancel a running training job at any time. You're only charged for the compute time used up to that point.
Read more about [cloud training](train/cloud-training.md).
## Test Your Model
After training completes, test your model directly in the browser:
1. Navigate to your model's `Predict` tab
2. Upload an image, drag and drop, or use example images (auto-inference on drop)
3. View inference results with bounding boxes rendered on canvas
![Ultralytics Platform Predict Tab With Bounding Boxes](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-predict-tab-with-bounding-boxes.avif)
Adjust inference parameters:
| Parameter | Default | Description |
| -------------- | ------- | --------------------------------- |
| **Confidence** | 0.25 | Filter low-confidence predictions |
| **IoU** | 0.7 | Control overlap for NMS |
| **Image Size** | 640 | Resize input for inference |
The `Predict` tab provides ready-to-use code examples with your actual API key pre-filled:
=== "Python"
```python
import requests
url = "https://platform.ultralytics.com/api/models/{model_id}/predict"
headers = {"Authorization": "Bearer your_api_key"}
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, files={"file": f})
print(response.json())
```
=== "cURL"
```bash
curl -X POST "https://platform.ultralytics.com/api/models/{model_id}/predict" \
-H "Authorization: Bearer your_api_key" \
-F "file=@image.jpg"
```
!!! tip "Auto-Inference"
The Predict tab runs inference automatically when you drop an image — no need to click a button. Example images (bus.jpg, zidane.jpg) are preloaded for instant testing.
Read more about [inference](deploy/inference.md).
## Deploy to Production
Deploy your model to a dedicated endpoint for production use:
1. Navigate to your model's `Deploy` tab
2. Select a region from the interactive world map (43 available regions)
3. The map shows real-time latency measurements with traffic light colors (green < 100ms, yellow < 200ms, red > 200ms)
4. Click `Deploy` to create your endpoint
![Ultralytics Platform Deploy Tab Region Map With Latency](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-deploy-tab-region-map-with-latency.avif)
```mermaid
graph LR
A[Select Region] --> B[Deploy]
B --> C[Provisioning ~1 min]
C --> D[Running]
D --> E{Lifecycle}
E --> F[Stop]
E --> G[Delete]
F --> H[Resume]
H --> D
```
Your endpoint will be ready in about a minute with:
- **Unique URL**: HTTPS endpoint for API calls
- **Auto-Scaling**: Scales with traffic automatically
- **Monitoring**: Request metrics and logs
!!! info "Deployment Lifecycle"
Endpoints can be **started**, **stopped**, and **deleted**. Stopped endpoints don't incur compute costs but retain their configuration. Restart a stopped endpoint with one click.
After deployment, you can manage all your endpoints from the `Deploy` section in the sidebar, which shows a global map with active deployments, overview metrics, and a list of all endpoints.
Read more about [endpoints](deploy/endpoints.md).
## Remote Training (Optional)
If you prefer to train on your own hardware, you can stream metrics to the platform using your API key. This works like Weights & Biases — train anywhere, monitor on the platform.
1. Generate an API key in [`Settings > Profile`](account/api-keys.md) (API Keys section)
2. Set the environment variable and train with a `project/name` format:
```bash
export ULTRALYTICS_API_KEY="ul_your_api_key_here"
yolo train model=yolo26n.pt data=coco.yaml epochs=100 project=username/my-project name=exp1
```
!!! note "API Key Format"
API keys start with `ul_` followed by 40 hex characters (43 characters total). Keys are full-access tokens scoped to your workspace.
Read more about [API keys](account/api-keys.md), [dataset URIs](data/datasets.md#dataset-uri), and [remote training](train/cloud-training.md#remote-training).
## Feedback
We value your feedback! Use the feedback button to help us improve the platform.
??? info "Feedback Privacy"
Your feedback is private and only visible to the Ultralytics team. We use it to prioritize features and fix issues.
## Need Help?
If you encounter any issues or have questions:
- **Documentation**: Browse these docs for detailed guides
- **Discord**: Join our [Discord community](https://discord.com/invite/ultralytics) for discussions
- **GitHub**: Report issues on [GitHub](https://github.com/ultralytics/ultralytics/issues)
!!! note
When reporting a bug, please include your browser and operating system details to help us diagnose the issue.

View File

@@ -0,0 +1,537 @@
---
comments: true
description: Learn how to train YOLO models on cloud GPUs with Ultralytics Platform, including remote training and real-time metrics streaming.
keywords: Ultralytics Platform, cloud training, GPU training, remote training, YOLO, model training, machine learning
---
# Cloud Training
[Ultralytics Platform](https://platform.ultralytics.com) Cloud Training offers single-click training on cloud GPUs, making model training accessible without complex setup. Train YOLO models with real-time metrics streaming and automatic checkpoint saving.
```mermaid
graph LR
A[Configure] --> B[Start Training]
B --> C[Provision GPU]
C --> D[Download Dataset]
D --> E[Train]
E --> F[Stream Metrics]
F --> G[Save Checkpoints]
G --> H[Complete]
style A fill:#2196F3,color:#fff
style B fill:#FF9800,color:#fff
style E fill:#9C27B0,color:#fff
style H fill:#4CAF50,color:#fff
```
## Training Dialog
Start training from the platform UI by clicking **New Model** on any project page (or **Train** from a dataset page). The training dialog has two tabs: **Cloud Training** and **Local Training**.
![Ultralytics Platform Training Dialog Cloud Tab](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-training-dialog-cloud-tab.avif)
### Step 1: Select Base Model
Choose from official YOLO26 models or your own trained models:
| Category | Description |
| --------------- | ---------------------------------------- |
| **Official** | All 25 YOLO26 models (5 sizes x 5 tasks) |
| **Your Models** | Your completed models for fine-tuning |
Official models are organized by task type ([Detect](../../tasks/detect.md), [Segment](../../tasks/segment.md), [Pose](../../tasks/pose.md), [OBB](../../tasks/obb.md), [Classify](../../tasks/classify.md)) with sizes from nano to xlarge.
### Step 2: Select Dataset
Choose a dataset to train on (see [Datasets](../data/datasets.md)):
| Option | Description |
| ----------------- | --------------------------------- |
| **Official** | Curated datasets from Ultralytics |
| **Your Datasets** | Datasets you've uploaded |
!!! note "Dataset Requirements"
Datasets must be in `ready` status with at least 1 image in the train split, 1 image in the validation or test split, and at least 1 labeled image.
!!! warning "Task Mismatch"
A task mismatch warning appears if the model task (e.g., detect) doesn't match the dataset task (e.g., segment). Training will fail if you proceed with mismatched tasks. Ensure both model and dataset use the same task type, as described in the [task guides](../../tasks/index.md).
### Step 3: Configure Parameters
Set core training parameters:
| Parameter | Description | Default |
| -------------- | --------------------------------------------------------------------------- | ------- |
| **Epochs** | Number of training iterations | 100 |
| **Batch Size** | Samples per iteration | 16 |
| **Image Size** | Input resolution (320/416/512/640/1280 dropdown, or 32-4096 in YAML editor) | 640 |
| **Run Name** | Optional name for the training run | auto |
### Step 4: Advanced Settings (Optional)
Expand **Advanced Settings** to access the full YAML-based parameter editor with 40+ training parameters organized by group (see [configuration reference](../../usage/cfg.md)):
| Group | Parameters |
| ----------------------- | -------------------------------------------------------------------------------- |
| **Learning Rate** | lr0, lrf, momentum, weight_decay, warmup_epochs, warmup_momentum, warmup_bias_lr |
| **Optimizer** | SGD, MuSGD, Adam, AdamW, NAdam, RAdam, RMSProp, Adamax |
| **Loss Weights** | box, cls, dfl, pose, kobj, label_smoothing |
| **Color Augmentation** | hsv_h, hsv_s, hsv_v |
| **Geometric Augment.** | degrees, translate, scale, shear, perspective |
| **Flip & Mix Augment.** | flipud, fliplr, mosaic, mixup, copy_paste |
| **Training Control** | patience, seed, deterministic, amp, cos_lr, close_mosaic, save_period |
| **Dataset** | fraction, freeze, single_cls, rect, multi_scale, resume |
Parameters are task-aware (e.g., `copy_paste` only shows for segment tasks, `pose`/`kobj` only for pose tasks). A **Modified** badge appears when values differ from defaults, and you can reset all to defaults with the reset button.
??? example "Example: Tuning Augmentation for Small Datasets"
For small datasets (<1000 images), increase augmentation to reduce overfitting:
```yaml
mosaic: 1.0 # Keep mosaic on
mixup: 0.3 # Add mixup blending
copy_paste: 0.3 # Add copy-paste (segment only)
fliplr: 0.5 # Horizontal flip
degrees: 10.0 # Slight rotation
scale: 0.9 # Aggressive scaling
```
### Step 5: Select GPU (Cloud Tab)
Choose your GPU from Ultralytics Cloud:
![Ultralytics Platform Training Dialog Gpu Selector And Cost](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-training-dialog-gpu-selector-and-cost.avif)
| GPU | VRAM | Cost/Hour |
| ------------ | ------ | --------- |
| RTX 2000 Ada | 16 GB | $0.24 |
| RTX A4500 | 20 GB | $0.24 |
| RTX A5000 | 24 GB | $0.26 |
| RTX 4000 Ada | 20 GB | $0.38 |
| L4 | 24 GB | $0.39 |
| A40 | 48 GB | $0.40 |
| RTX 3090 | 24 GB | $0.46 |
| RTX A6000 | 48 GB | $0.49 |
| RTX 4090 | 24 GB | $0.59 |
| RTX 6000 Ada | 48 GB | $0.77 |
| L40S | 48 GB | $0.86 |
| RTX 5090 | 32 GB | $0.89 |
| L40 | 48 GB | $0.99 |
| A100 PCIe | 80 GB | $1.39 |
| A100 SXM | 80 GB | $1.49 |
| RTX PRO 6000 | 96 GB | $1.89 |
| H100 PCIe | 80 GB | $2.39 |
| H100 SXM | 80 GB | $2.69 |
| H100 NVL | 94 GB | $3.07 |
| H200 NVL | 143 GB | $3.39 |
| H200 SXM | 141 GB | $3.59 |
| B200 | 180 GB | $4.99 |
!!! tip "GPU Selection"
- **RTX PRO 6000**: 96 GB Blackwell generation, recommended default for most jobs
- **A100 SXM**: Required for large batch sizes or big models
- **H100/H200**: Maximum performance for time-sensitive training
- **B200**: NVIDIA Blackwell architecture for cutting-edge workloads
The dialog shows your current **balance** and a **Top Up** button. An estimated cost and duration are calculated based on your configuration (model size, dataset images, epochs, GPU speed).
### Step 6: Start Training
Click **Start Training** to launch your job. The Platform:
1. Provisions a GPU instance
2. Downloads your dataset
3. Begins training
4. Streams metrics in real-time
### Training Job Lifecycle
Training jobs progress through the following statuses:
| Status | Description |
| ------------- | ---------------------------------------------------- |
| **Pending** | Job submitted, waiting for GPU allocation |
| **Starting** | GPU provisioned, downloading dataset and model |
| **Running** | Training in progress, metrics streaming in real-time |
| **Completed** | Training finished successfully |
| **Failed** | Training failed (see console logs for details) |
| **Cancelled** | Training was cancelled by the user |
!!! success "Free Credits"
New accounts receive signup credits — $5 for personal emails and $25 for company emails. [Check your balance](../account/billing.md) in Settings > Billing.
![Ultralytics Platform Training Progress With Charts](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-training-progress-with-charts.avif)
## Monitor Training
View real-time training progress on the model page's **Train** tab:
### Charts Subtab
![Ultralytics Platform Model Training Live Charts](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-training-live-charts.avif)
| Metric | Description |
| ------------- | ---------------------------- |
| **Loss** | Training and validation loss |
| **mAP** | Mean Average Precision |
| **Precision** | Correct positive predictions |
| **Recall** | Detected ground truths |
### Console Subtab
Live console output with ANSI color support, progress bars, and error detection.
### System Subtab
Real-time GPU utilization, memory, temperature, CPU, and disk usage.
### Checkpoints
Checkpoints are saved automatically:
- **Every epoch**: Latest weights saved
- **Best model**: Highest mAP checkpoint preserved
- **Final model**: Weights at training completion
## Cancel Training
Click **Cancel Training** on the model page to stop a running job:
- The compute instance is terminated
- Credits stop being charged
- Checkpoints saved up to that point are preserved
## Remote Training
```mermaid
graph LR
A[Local GPU] --> B[Train]
B --> C[ultralytics Package]
C --> D[Stream Metrics]
D --> E[Platform Dashboard]
style A fill:#FF9800,color:#fff
style C fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fff
```
Train on your own hardware while streaming metrics to the platform.
!!! warning "Package Version Requirement"
Platform integration requires **ultralytics>=8.4.14**. Lower versions will NOT work with Platform.
```bash
pip install -U ultralytics
```
### Setup API Key
1. Go to [`Settings > Profile`](../account/api-keys.md) (API Keys section)
2. Create a new key (or the platform auto-creates one when you open the Local Training tab)
3. Set the environment variable:
```bash
export ULTRALYTICS_API_KEY="your_api_key"
```
### Train with Streaming
Use the `project` and `name` parameters to stream metrics:
=== "CLI"
```bash
yolo train model=yolo26n.pt data=coco.yaml epochs=100 \
project=username/my-project name=experiment-1
```
=== "Python"
```python
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(
data="coco.yaml",
epochs=100,
project="username/my-project",
name="experiment-1",
)
```
The **Local Training** tab in the training dialog shows a pre-configured command with your API key, selected parameters, and advanced arguments included.
### Using Platform Datasets
Train with datasets stored on the platform using the [`ul://` URI format](../data/datasets.md#dataset-uri):
=== "CLI"
```bash
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100 \
project=username/my-project name=exp1
```
=== "Python"
```python
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(
data="ul://username/datasets/my-dataset",
epochs=100,
project="username/my-project",
name="exp1",
)
```
The `ul://` URI format automatically downloads and configures your dataset. The model is automatically linked to the dataset on the platform (see [Using Platform Datasets](../api/index.md#using-platform-datasets)).
## Billing
Training costs are based on GPU usage:
### Cost Estimation
Before training starts, the platform estimates total cost by:
1. **Estimating seconds per epoch** from dataset size, model complexity, image size, batch size, and GPU speed
2. **Calculating total training time** by multiplying seconds per epoch by the number of epochs, then adding startup overhead
3. **Computing the estimated cost** from total training hours multiplied by the GPU's hourly rate
**Factors affecting cost:**
| Factor | Impact |
| -------------------- | ----------------------------------------------------------------------------------------------------- |
| **Dataset Size** | More images = longer training time (baseline: ~2.8s compute per 1000 images on RTX 4090) |
| **Model Size** | Larger models (m, l, x) train slower than (n, s) |
| **Number of Epochs** | Direct multiplier on training time |
| **Image Size** | Larger imgsz increases computation: 320px=0.25x, 640px=1.0x (baseline), 1280px=4.0x |
| **Batch Size** | Larger batches are more efficient (batch 32 = ~0.85x time, batch 8 = ~1.2x time vs batch 16 baseline) |
| **GPU Speed** | Faster GPUs reduce training time (e.g., H100 SXM = ~3.4x faster than RTX 4090) |
| **Startup Overhead** | Up to 5 minutes for instance initialization, data download, and warmup (scales with dataset size) |
### Cost Examples
!!! note "Estimates"
Cost estimates are approximate and depend on many factors. The training dialog shows a real-time estimate before you start training.
| Scenario | GPU | Estimated Cost |
| -------------------------------- | ------------ | -------------- |
| 500 images, YOLO26n, 50 epochs | RTX 4090 | ~$0.50 |
| 1000 images, YOLO26n, 100 epochs | RTX PRO 6000 | ~$5 |
| 5000 images, YOLO26s, 100 epochs | H100 SXM | ~$23 |
### Billing Flow
```mermaid
graph LR
A[Estimate Cost] --> B[Balance Check]
B --> C[Train]
C --> D[Charge Actual Runtime]
style A fill:#2196F3,color:#fff
style B fill:#FF9800,color:#fff
style C fill:#9C27B0,color:#fff
style D fill:#4CAF50,color:#fff
```
Cloud training billing flow:
1. **Estimate**: Cost calculated before training starts
2. **Balance Check**: Available credits are checked before launch
3. **Train**: Job runs on selected compute
4. **Charge**: Final cost is based on actual runtime
!!! success "Consumer Protection"
Billing tracks actual compute usage, including partial runs that are cancelled.
### Payment Methods
| Method | Description |
| ------------------- | ------------------------ |
| **Account Balance** | Pre-loaded credits |
| **Pay Per Job** | Charge at job completion |
!!! note "Minimum Balance"
Training start requires a positive available balance and enough credits for the estimated job cost.
### View Training Costs
After training, view detailed costs in the **Billing** tab:
- Per-epoch cost breakdown
- Total GPU time
- Download cost report
![Ultralytics Platform Training Billing Details](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-training-billing-details.avif)
## Training Tips
### Choose the Right Model Size
| Model | Parameters | Best For |
| ------- | ---------- | ----------------------- |
| YOLO26n | 2.4M | Real-time, edge devices |
| YOLO26s | 9.5M | Balanced speed/accuracy |
| YOLO26m | 20.4M | Higher accuracy |
| YOLO26l | 24.8M | Production accuracy |
| YOLO26x | 55.7M | Maximum accuracy |
### Optimize Training Time
!!! tip "Cost-Saving Strategies"
1. **Start small**: Test with 10-20 epochs on a budget GPU to verify your dataset and config work
2. **Use appropriate GPU**: RTX PRO 6000 handles most workloads well
3. **Validate dataset**: Fix labeling issues before spending on training
4. **Monitor early**: Cancel training if loss plateaus — you only pay for compute time used
### Troubleshooting
| Issue | Solution |
| -------------------- | ------------------------------------ |
| Training stuck at 0% | Check dataset format, retry |
| Out of memory | Reduce batch size or use larger GPU |
| Poor accuracy | Increase epochs, check data quality |
| Training slow | Consider faster GPU |
| Task mismatch error | Ensure model and dataset tasks match |
## FAQ
### How long does training take?
Training time depends on:
- Dataset size
- Model size
- Number of epochs
- GPU selected
Typical times (1000 images, 100 epochs):
| Model | RTX PRO 6000 | A100 |
| ------- | ------------ | ------ |
| YOLO26n | 20 min | 20 min |
| YOLO26m | 40 min | 40 min |
| YOLO26x | 80 min | 80 min |
### Can I train overnight?
Yes, training continues until completion. You'll receive a notification when training finishes. Make sure your account has sufficient balance for epoch-based training.
### What happens if I run out of credits?
Training pauses at the end of the current epoch. Your checkpoint is saved, and you can resume after adding credits.
### Can I use custom training arguments?
Yes, expand the **Advanced Settings** section in the training dialog to access a YAML editor with 40+ configurable parameters. Non-default values are included in both cloud and local training commands.
### Can I train from a dataset page?
Yes, the **Train** button on dataset pages opens the training dialog with the dataset pre-selected and locked. You then select a project and model to begin training.
## Training Parameters Reference
=== "Core"
| Parameter | Type | Default | Range | Description |
| -------------- | ---- | ------- | -------- | ------------------------------------ |
| `epochs` | int | 100 | 1-10000 | Number of training epochs |
| `batch` | int | 16 | 1-512 | Batch size |
| `imgsz` | int | 640 | 32-4096 | Input image size |
| `patience` | int | 100 | 1-1000 | Early stopping patience |
| `seed` | int | 0 | 0-2147483647 | Random seed for reproducibility |
| `deterministic`| bool | True | - | Deterministic training mode |
| `amp` | bool | True | - | Automatic mixed precision |
| `close_mosaic` | int | 10 | 0-50 | Disable mosaic in final N epochs |
| `save_period` | int | -1 | -1-100 | Save checkpoint every N epochs |
| `workers` | int | 8 | 0-64 | Dataloader workers |
| `cache` | select | false | ram/disk/false | Cache images |
=== "Learning Rate"
| Parameter | Type | Default | Range | Description |
| --------------- | ----- | ------- | --------- | --------------------- |
| `lr0` | float | 0.01 | 0.0001-0.1 | Initial learning rate |
| `lrf` | float | 0.01 | 0.01-1.0 | Final LR factor |
| `momentum` | float | 0.937 | 0.6-0.98 | SGD momentum |
| `weight_decay` | float | 0.0005 | 0.0-0.001 | L2 regularization |
| `warmup_epochs` | float | 3.0 | 0-5 | Warmup epochs |
| `warmup_momentum` | float | 0.8 | 0.5-0.95 | Warmup momentum |
| `warmup_bias_lr` | float | 0.1 | 0.0-0.2 | Warmup bias LR |
| `cos_lr` | bool | False | - | Cosine LR scheduler |
=== "Augmentation"
| Parameter | Type | Default | Range | Description |
| ------------ | ----- | ------- | ------- | -------------------- |
| `hsv_h` | float | 0.015 | 0.0-0.1 | HSV hue augmentation |
| `hsv_s` | float | 0.7 | 0.0-1.0 | HSV saturation |
| `hsv_v` | float | 0.4 | 0.0-1.0 | HSV value |
| `degrees` | float | 0.0 | -45-45 | Rotation degrees |
| `translate` | float | 0.1 | 0.0-1.0 | Translation fraction |
| `scale` | float | 0.5 | 0.0-1.0 | Scale factor |
| `shear` | float | 0.0 | -10-10 | Shear degrees |
| `perspective`| float | 0.0 | 0.0-0.001 | Perspective transform|
| `fliplr` | float | 0.5 | 0.0-1.0 | Horizontal flip prob |
| `flipud` | float | 0.0 | 0.0-1.0 | Vertical flip prob |
| `mosaic` | float | 1.0 | 0.0-1.0 | Mosaic augmentation |
| `mixup` | float | 0.0 | 0.0-1.0 | Mixup augmentation |
| `copy_paste` | float | 0.0 | 0.0-1.0 | Copy-paste (segment) |
=== "Dataset"
| Parameter | Type | Default | Range | Description |
| ------------- | ----- | ------- | ------- | ------------------------------------ |
| `fraction` | float | 1.0 | 0.1-1.0 | Fraction of dataset to use |
| `freeze` | int | null | 0-100 | Number of layers to freeze |
| `single_cls` | bool | False | - | Treat all classes as one class |
| `rect` | bool | False | - | Rectangular training |
| `multi_scale` | float | 0.0 | 0.0-1.0 | Multi-scale training range |
| `val` | bool | True | - | Run validation during training |
| `resume` | bool | False | - | Resume training from checkpoint |
=== "Optimizer"
| Value | Description |
| --------- | ----------------------------- |
| `auto` | Automatic selection (default) |
| `SGD` | Stochastic Gradient Descent |
| `MuSGD` | Muon SGD optimizer |
| `Adam` | Adam optimizer |
| `AdamW` | Adam with weight decay |
| `NAdam` | NAdam optimizer |
| `RAdam` | RAdam optimizer |
| `RMSProp` | RMSProp optimizer |
| `Adamax` | Adamax optimizer |
=== "Loss Weights"
| Parameter | Type | Default | Range | Description |
| ---------------- | ----- | ------- | --------- | --------------------------- |
| `box` | float | 7.5 | 1-50 | Box loss weight |
| `cls` | float | 0.5 | 0.2-4 | Classification loss weight |
| `dfl` | float | 1.5 | 0.4-6 | Distribution focal loss |
| `pose` | float | 12.0 | 1-50 | Pose loss weight (pose only)|
| `kobj` | float | 1.0 | 0.5-10 | Keypoint objectness (pose) |
| `label_smoothing`| float | 0.0 | 0.0-0.1 | Label smoothing factor |
!!! tip "Task-Specific Parameters"
Some parameters only apply to specific tasks:
- **Detection tasks only** (detect, segment, pose, OBB — not classify): `box`, `dfl`, `degrees`, `translate`, `shear`, `perspective`, `mosaic`, `mixup`, `close_mosaic`
- **Segment only**: `copy_paste`
- **Pose only**: `pose` (loss weight), `kobj` (keypoint objectness)

188
docs/en/platform/train/index.md Executable file
View File

@@ -0,0 +1,188 @@
---
comments: true
description: Learn about model training in Ultralytics Platform including project organization, cloud training, and real-time metrics streaming.
keywords: Ultralytics Platform, model training, cloud training, YOLO, GPU training, machine learning, deep learning
---
# Model Training
[Ultralytics Platform](https://platform.ultralytics.com) provides comprehensive tools for training YOLO models, from organizing experiments to running cloud training jobs with real-time metrics streaming.
## Overview
The Training section helps you:
- **Organize** models into [projects](projects.md) for easier management
- **Train** on cloud GPUs with a single click
- **Monitor** real-time metrics during training
- **Compare** model performance across experiments
- **Export** to 17+ deployment formats (see [supported formats](models.md#supported-formats))
![Ultralytics Platform Train Overview](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-train-overview.avif)
## Workflow
```mermaid
graph LR
A[📁 Project] --> B[⚙️ Configure]
B --> C[🚀 Train]
C --> D[📈 Monitor]
D --> E[📦 Export]
style A fill:#4CAF50,color:#fff
style B fill:#2196F3,color:#fff
style C fill:#FF9800,color:#fff
style D fill:#9C27B0,color:#fff
style E fill:#00BCD4,color:#fff
```
| Stage | Description |
| ------------- | -------------------------------------------------------------------------- |
| **Project** | Create a workspace to organize related models |
| **Configure** | Select [dataset](../data/datasets.md), base model, and training parameters |
| **Train** | Run on cloud GPUs or your local hardware |
| **Monitor** | View real-time loss curves and metrics |
| **Export** | Convert to 17+ deployment formats ([details](models.md#supported-formats)) |
## Training Options
Ultralytics Platform supports multiple training approaches:
| Method | Description | Best For |
| ------------------------------------------------------- | --------------------------------------------- | -------------------------- |
| **[Cloud Training](cloud-training.md)** | Train on Ultralytics Cloud GPUs | No local GPU, scalability |
| **[Local Training](cloud-training.md#remote-training)** | Train locally, stream metrics to the platform | Existing hardware, privacy |
| **[Colab Training](cloud-training.md#remote-training)** | Use Google Colab with platform integration | Free GPU access |
## GPU Options
Available GPUs for cloud training on Ultralytics Cloud:
| GPU | VRAM | Cost/Hour | Best For |
| ------------ | ------ | --------- | ------------------------- |
| RTX 2000 Ada | 16 GB | $0.24 | Small datasets, testing |
| RTX A4500 | 20 GB | $0.24 | Small-medium datasets |
| RTX A5000 | 24 GB | $0.26 | Medium datasets |
| RTX 4000 Ada | 20 GB | $0.38 | Medium datasets |
| L4 | 24 GB | $0.39 | Inference optimized |
| A40 | 48 GB | $0.40 | Larger batch sizes |
| RTX 3090 | 24 GB | $0.46 | Great price/performance |
| RTX A6000 | 48 GB | $0.49 | Large models |
| RTX 4090 | 24 GB | $0.59 | Best price/performance |
| RTX 6000 Ada | 48 GB | $0.77 | Large batch training |
| L40S | 48 GB | $0.86 | Large batch training |
| RTX 5090 | 32 GB | $0.89 | Latest generation |
| L40 | 48 GB | $0.99 | Large models |
| A100 PCIe | 80 GB | $1.39 | Production training |
| A100 SXM | 80 GB | $1.49 | Production training |
| RTX PRO 6000 | 96 GB | $1.89 | Recommended default |
| H100 PCIe | 80 GB | $2.39 | High-performance training |
| H100 SXM | 80 GB | $2.69 | Fastest training |
| H100 NVL | 94 GB | $3.07 | Maximum performance |
| H200 NVL | 143 GB | $3.39 | Maximum memory |
| H200 SXM | 141 GB | $3.59 | Maximum performance |
| B200 | 180 GB | $4.99 | Largest models |
!!! tip "Signup Credits"
New accounts receive signup credits for training. Check [Billing](../account/billing.md) for details.
## Real-Time Metrics
During training, view live metrics across three subtabs:
```mermaid
graph LR
A[Charts] --> B[Loss Curves]
A --> C[Performance Metrics]
D[Console] --> E[Live Logs]
D --> F[Error Detection]
G[System] --> H[GPU Utilization]
G --> I[Memory & Temp]
style A fill:#2196F3,color:#fff
style D fill:#FF9800,color:#fff
style G fill:#9C27B0,color:#fff
```
| Subtab | Metrics |
| ----------- | ------------------------------------------------------ |
| **Charts** | Box/class/DFL loss, mAP50, mAP50-95, precision, recall |
| **Console** | Live training logs with ANSI color and error detection |
| **System** | GPU utilization, memory, temperature, CPU, disk |
!!! info "Automatic Checkpoints"
The Platform automatically saves checkpoints at every epoch. The **best model** (highest mAP) and **final model** are always preserved.
## Quick Start
Get started with cloud training in under a minute:
=== "Cloud (UI)"
1. Create a project in the sidebar
2. Click **New Model**
3. Select a model, dataset, and GPU
4. Click **Start Training**
=== "Remote (CLI)"
```bash
export ULTRALYTICS_API_KEY="your_api_key"
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset \
epochs=100 project=username/my-project name=exp1
```
=== "Remote (Python)"
```python
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(
data="ul://username/datasets/my-dataset",
epochs=100,
project="username/my-project",
name="exp1",
)
```
## Quick Links
- [**Projects**](projects.md): Organize your models and experiments
- [**Models**](models.md): Manage trained checkpoints
- [**Cloud Training**](cloud-training.md): Train on cloud GPUs
## FAQ
### How long does training take?
Training time depends on:
- Dataset size (number of images)
- Model size (n, s, m, l, x)
- Number of epochs
- GPU type selected
A typical training run with 1000 images, YOLO26n, 100 epochs on RTX PRO 6000 takes about 2-3 hours. Smaller runs (500 images, 50 epochs on RTX 4090) complete in under an hour. See [cost examples](cloud-training.md#cost-examples) for detailed estimates.
### Can I train multiple models simultaneously?
Yes. Concurrent cloud training limits depend on your plan: Free allows 3, Pro allows 10, and Enterprise is unlimited. For additional parallel training, use remote training from multiple machines.
### What happens if training fails?
If training fails:
1. Checkpoints are saved at each epoch
2. You can resume from the last checkpoint
3. Credits are only charged for completed compute time
### How do I choose the right GPU?
| Scenario | Recommended GPU |
| ----------------------------- | ---------------- |
| Most training jobs | RTX PRO 6000 |
| Large datasets or batch sizes | H100 SXM or H200 |
| Budget-conscious | RTX 4090 |

375
docs/en/platform/train/models.md Executable file
View File

@@ -0,0 +1,375 @@
---
comments: true
description: Learn how to manage, analyze, and export trained models in Ultralytics Platform with support for 17+ deployment formats.
keywords: Ultralytics Platform, models, model management, export, ONNX, TensorRT, CoreML, YOLO
---
# Models
[Ultralytics Platform](https://platform.ultralytics.com) provides comprehensive model management for training, analyzing, and deploying YOLO models. Upload pretrained models or train new ones directly on the platform.
![Ultralytics Platform Model Page Overview Tab](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-page-overview-tab.avif)
## Upload Model
Upload existing model weights to the platform:
1. Navigate to your project
2. **Drag and drop** `.pt` files onto the project page or models sidebar
3. Model metadata is parsed automatically from the file
Multiple files can be uploaded simultaneously (up to 3 concurrent).
![Ultralytics Platform Model Drag Drop Upload](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-drag-drop-upload.avif)
Supported model formats:
| Format | Extension | Description |
| ------- | --------- | ------------------------- |
| PyTorch | `.pt` | Native Ultralytics format |
After upload, the platform parses model metadata:
- Task type ([detect](../../tasks/detect.md), [segment](../../tasks/segment.md), [pose](../../tasks/pose.md), [OBB](../../tasks/obb.md), [classify](../../tasks/classify.md))
- Architecture (YOLO26n, YOLO26s, etc.)
- Class names and count
- Input size and parameters
- Training results and metrics (if present in checkpoint)
## Train Model
Train a new model directly on the platform:
1. Navigate to your project
2. Click **New Model**
3. Select base model and dataset
4. Configure training parameters
5. Choose cloud or local training
6. Start training
See [Cloud Training](cloud-training.md) for detailed instructions.
## Model Lifecycle
```mermaid
graph LR
A[Upload .pt] --> B[Overview]
C[Train] --> B
B --> D[Predict]
B --> E[Export]
B --> F[Deploy]
E --> G[17+ Formats]
F --> H[Endpoint]
style A fill:#4CAF50,color:#fff
style C fill:#FF9800,color:#fff
style E fill:#2196F3,color:#fff
style F fill:#9C27B0,color:#fff
```
## Model Page Tabs
Each model page has the following tabs:
| Tab | Content |
| ------------ | --------------------------------------------- |
| **Overview** | Model metadata, key metrics, dataset link |
| **Train** | Training charts, console output, system stats |
| **Predict** | Interactive browser inference |
| **Export** | Format conversion with GPU selection |
| **Deploy** | Endpoint creation and management |
### Overview Tab
Displays model metadata and key metrics:
- Model name (editable), status badge, task type
- Final metrics (mAP50, mAP50-95, precision, recall)
- Metric sparkline charts showing training progression
- Training arguments (epochs, batch size, image size, etc.)
- Dataset link (when trained with a Platform dataset)
- Download button for model weights
![Ultralytics Platform Model Overview Metrics And Args](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-overview-metrics-and-args.avif)
### Train Tab
The Train tab has three subtabs:
#### Charts Subtab
Interactive training metric charts showing loss curves and performance metrics over epochs:
| Chart Group | Metrics |
| ----------------- | ---------------------------------------------- |
| **Metrics** | mAP50, mAP50-95, precision, recall |
| **Train Loss** | train/box_loss, train/cls_loss, train/dfl_loss |
| **Val Loss** | val/box_loss, val/cls_loss, val/dfl_loss |
| **Learning Rate** | lr/pg0, lr/pg1, lr/pg2 |
![Ultralytics Platform Model Train Charts Subtab](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-train-charts-subtab.avif)
#### Console Subtab
Live console output from the training process:
- Real-time log streaming during training
- Epoch progress bars and validation results
- Error detection with highlighted error banners
- ANSI color support for formatted output
![Ultralytics Platform Model Train Console Subtab](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-train-console-subtab.avif)
#### System Subtab
GPU and system metrics during training:
| Metric | Description |
| -------------- | -------------------------- |
| **GPU Util** | GPU utilization percentage |
| **GPU Memory** | GPU memory usage |
| **GPU Temp** | GPU temperature |
| **CPU Usage** | CPU utilization |
| **RAM** | System memory usage |
| **Disk** | Disk usage |
![Ultralytics Platform Model Train System Subtab](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-train-system-subtab.avif)
### Predict Tab
Run interactive inference directly in the browser:
- Upload an image, paste a URL, or use webcam
- Results display with bounding boxes, masks, or keypoints
- Auto-inference when an image is provided
- Supports all task types ([detect](../../tasks/detect.md), [segment](../../tasks/segment.md), [pose](../../tasks/pose.md), [OBB](../../tasks/obb.md), [classify](../../tasks/classify.md))
!!! tip "Quick Testing"
The Predict tab runs inference on Ultralytics Cloud, so you don't need a local GPU. Results are displayed with interactive overlays matching the model's task type.
### Export Tab
Export your model to 17+ deployment formats. See [Export Model](#export-model) below and the core [Export mode guide](../../modes/export.md) for full details.
### Deploy Tab
Create and manage dedicated inference endpoints. See [Deployments](../deploy/index.md) for details.
## Validation Plots
After training completes, view detailed validation analysis:
### Confusion Matrix
Interactive heatmap showing prediction accuracy per class:
![Ultralytics Platform Model Confusion Matrix](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-confusion-matrix.avif)
### PR/F1 Curves
Performance curves at different confidence thresholds:
![Ultralytics Platform Model Pr F1 Curves](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-pr-f1-curves.avif)
| Curve | Description |
| ------------------------ | ---------------------------------------- |
| **Precision-Recall** | Trade-off between precision and recall |
| **F1-Confidence** | F1 score at different confidence levels |
| **Precision-Confidence** | Precision at different confidence levels |
| **Recall-Confidence** | Recall at different confidence levels |
## Export Model
```mermaid
graph LR
A[Select Format] --> B[Configure Args]
B --> C[Export]
C --> D{GPU Required?}
D -->|Yes| E[Cloud GPU Export]
D -->|No| F[CPU Export]
E --> G[Download]
F --> G
style A fill:#2196F3,color:#fff
style C fill:#FF9800,color:#fff
style G fill:#4CAF50,color:#fff
```
Export your model to 17+ deployment formats:
1. Navigate to the **Export** tab
2. Select target format
3. Configure export arguments (image size, half precision, dynamic, etc.)
4. For GPU-required formats (TensorRT), select a GPU type
5. Click **Export**
6. Download when complete
![Ultralytics Platform Model Export Tab Format List](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-export-tab-format-list.avif)
### Supported Formats
The Platform supports export to [17+ deployment formats](../../modes/export.md#export-formats): ONNX, TorchScript, OpenVINO, TensorRT, CoreML, TF SavedModel, TF GraphDef, TF Lite, TF Edge TPU, TF.js, PaddlePaddle, NCNN, MNN, RKNN, IMX500, Axelera, and ExecuTorch.
### Format Selection Guide
| Target | Recommended Format | Notes |
| ------------------ | ------------------- | -------------------------------------------------------------- |
| **NVIDIA GPUs** | TensorRT | Maximum inference speed |
| **Intel Hardware** | OpenVINO | CPUs, GPUs, and VPUs |
| **Apple Devices** | CoreML | iOS, macOS, Apple Silicon |
| **Android** | TF Lite or NCNN | Best mobile performance |
| **Web Browsers** | TF.js or ONNX | ONNX via ONNX Runtime Web |
| **Edge Devices** | TF Edge TPU or RKNN | Coral and Rockchip (see [supported chips](#rknn-chip-support)) |
| **General** | ONNX | Works with most runtimes |
![Ultralytics Platform Model Export Progress](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-model-export-progress.avif)
### RKNN Chip Support
When exporting to RKNN format, select your target Rockchip device:
| Chip | Description |
| ------- | -------------------- |
| RK3588 | High-end edge SoC |
| RK3576 | Mid-range edge SoC |
| RK3568 | Mid-range edge SoC |
| RK3566 | Mid-range edge SoC |
| RK3562 | Entry-level edge SoC |
| RV1103 | Vision processor |
| RV1106 | Vision processor |
| RV1103B | Vision processor |
| RV1106B | Vision processor |
| RK2118 | AI processor |
| RV1126B | Vision processor |
### Export Job Lifecycle
Export jobs progress through the following statuses:
| Status | Description |
| ------------- | ------------------------------------ |
| **Queued** | Export job is waiting to start |
| **Starting** | Export job is initializing |
| **Running** | Export is in progress |
| **Completed** | Export finished — download available |
| **Failed** | Export failed (see error message) |
| **Cancelled** | Export was cancelled by the user |
!!! tip "Export Time"
Export time varies by format. TensorRT exports may take several minutes due to engine optimization. GPU-required formats (TensorRT) run on Ultralytics Cloud GPUs — the default export GPU is RTX 5090.
### Bulk Export Actions
- **Export All**: Click `Export All` to start export jobs for all CPU-based formats with default settings.
- **Delete All Exports**: Click `Delete All` to remove all exports for the model.
### Format Restrictions
Some export formats have architecture or task restrictions:
| Format | Restriction |
| ---------------- | --------------------------------------------------------------- |
| **IMX500** | Only available for YOLOv8 and YOLO11 models |
| **Axelera** | Only available for detection models |
| **PaddlePaddle** | Not available for YOLO26 detection/segmentation/pose/OBB models |
## Clone Model
Clone a model to a different project:
1. Open the model page
2. Click the **Clone** button
3. Select the destination project
4. Click **Clone**
The model and its weights are copied to the target project.
## Download Model
Download your model weights:
1. Navigate to the model's **Overview** tab
2. Click the **Download** button
3. The original `.pt` file downloads automatically
Exported formats can be downloaded from the **Export** tab after export completes.
## Dataset Linking
Models can be linked to their source dataset:
- View which dataset was used for training
- Click the dataset card on the Overview tab to navigate to it
- Track data lineage
When training with Platform datasets using the [`ul://` URI format](../data/datasets.md#dataset-uri), linking is automatic.
!!! example "Dataset URI Format"
```bash
# Train with a Platform dataset — linking is automatic
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100
```
The `ul://` scheme resolves to your Platform dataset. The trained model's Overview tab will show a link back to this dataset (see [Using Platform Datasets](../api/index.md#using-platform-datasets)).
## Visibility Settings
Control who can see your model:
| Setting | Description |
| ----------- | ------------------------------- |
| **Private** | Only you can access |
| **Public** | Anyone can view on Explore page |
To change visibility, click the visibility badge (e.g., `private` or `public`) on the model page. Switching to private takes effect immediately. Switching to public shows a confirmation dialog before applying.
## Delete Model
Remove a model you no longer need:
1. Open model actions menu
2. Click **Delete**
3. Confirm deletion
!!! note "Trash and Restore"
Deleted models go to Trash for 30 days. Restore from [Settings > Trash](../account/trash.md).
## FAQ
### What model architectures are supported?
Ultralytics Platform fully supports all YOLO architectures with dedicated projects:
- [**YOLO26**](../../models/yolo26.md): n, s, m, l, x variants (latest, recommended) — [platform.ultralytics.com/ultralytics/yolo26](https://platform.ultralytics.com/ultralytics/yolo26)
- [**YOLO11**](../../models/yolo11.md): n, s, m, l, x variants — [platform.ultralytics.com/ultralytics/yolo11](https://platform.ultralytics.com/ultralytics/yolo11)
- [**YOLOv8**](../../models/yolov8.md): n, s, m, l, x variants — [platform.ultralytics.com/ultralytics/yolov8](https://platform.ultralytics.com/ultralytics/yolov8)
- [**YOLOv5**](../../models/yolov5.md): n, s, m, l, x variants — [platform.ultralytics.com/ultralytics/yolov5](https://platform.ultralytics.com/ultralytics/yolov5)
All architectures support 5 task types: [detect](../../tasks/detect.md), [segment](../../tasks/segment.md), [pose](../../tasks/pose.md), [OBB](../../tasks/obb.md), and [classify](../../tasks/classify.md).
### Can I download my trained model?
Yes, download your model weights from the model page:
1. Click the download icon on the Overview tab
2. The original `.pt` file downloads automatically
3. Exported formats can be downloaded from the Export tab
### How do I compare models across projects?
Currently, model comparison is within projects. To compare across projects:
1. Clone models to a single project, or
2. Export metrics and compare externally
### What's the maximum model size?
There's no strict limit, but very large models (>2GB) may have longer upload and processing times.
### Can I fine-tune pretrained models?
Yes! You can use any of the official YOLO26 models as a base, or select one of your own completed models from the model selector in the training dialog. The Platform supports fine-tuning from any uploaded checkpoint.

View File

@@ -0,0 +1,234 @@
---
comments: true
description: Learn how to organize and manage projects in Ultralytics Platform for efficient model development.
keywords: Ultralytics Platform, projects, model management, experiment tracking, YOLO
---
# Projects
[Ultralytics Platform](https://platform.ultralytics.com) projects provide an effective solution for organizing and managing your models. Group related models together to facilitate easier management, comparison, and development.
```mermaid
graph TB
P[Project] --> M1[Model 1]
P --> M2[Model 2]
P --> M3[Model 3]
M1 --> C[Charts Dashboard]
M2 --> C
M3 --> C
M1 --> T[Comparison Table]
M2 --> T
M3 --> T
style P fill:#4CAF50,color:#fff
style C fill:#2196F3,color:#fff
style T fill:#FF9800,color:#fff
```
## Create Project
Navigate to **Projects** in the sidebar and click **Create Project**.
![Ultralytics Platform Projects List](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-projects-list.avif)
??? tip "Quick Create"
You can also create a project from the Home page quick actions.
Enter your project details:
- **Name**: A descriptive name for your project (a random name is auto-generated)
- **Description**: Optional notes about the project purpose
- **Visibility**: Public (anyone can view) or Private (only you can access)
- **License**: Optional license for your project (AGPL-3.0, Apache-2.0, MIT, GPL-3.0, BSD-3-Clause, LGPL-3.0, MPL-2.0, EUPL-1.1, Unlicense, Ultralytics-Enterprise, and more)
![Ultralytics Platform New Project Dialog Name Visibility License](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-new-project-dialog-name-visibility-license.avif)
Click **Create** to finalize. Your new project appears in the Projects list and sidebar.
## Project Page
The project page has two main areas:
| Area | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------------------- |
| **Models Sidebar** | Resizable list of all models in the project with search, status filters, sort options, and checkboxes for selection |
| **Main Panel** | Charts dashboard or comparison table (toggle between views) |
![Ultralytics Platform Project Page Sidebar And Charts](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-project-page-sidebar-and-charts.avif)
### Project Header
The header displays:
- **Project icon** (customizable color, letter, or uploaded image)
- **Editable name** (click to rename; slug auto-updates)
- **License badge**
- **Model count**, completed/running/failed counts, total size
- **Clone count** and **last updated** timestamp
- **Description** (click to edit)
Action buttons in the header:
| Button | Description |
| ------------- | ---------------------------------------------- |
| **New Model** | Opens the [training dialog](cloud-training.md) |
| **Clone** | Clone project and all models (public projects) |
| **Star** | Star/unstar the project |
| **Share** | Social sharing for public projects |
| **Refresh** | Refresh project data |
| **Delete** | Move project to trash |
### View Modes
Toggle between two view modes using the view controls:
- **Charts view**: Interactive charts dashboard showing loss curves and metric comparisons for selected models
- **Table view**: Comparison table showing training arguments and final metrics side-by-side with a diff mode to highlight differing columns
![Ultralytics Platform Project Comparison Table View](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-project-comparison-table-view.avif)
### Models Sidebar
The resizable sidebar lists all models in the project:
- **Checkboxes** to select which models appear in charts/table
- **Search** to filter models by name
- **View options** for status filter (All, Completed, Running, Starting, Pending, Failed, Cancelled), grouping by task, and sort order
- **Drag and drop** `.pt` files directly onto the sidebar to upload models ([model upload details](models.md#upload-model))
- **Training progress** shown for running models (epoch count and progress bar)
Click any model to open its [model page](models.md).
## Project Icon
Customize your project icon:
1. Click the icon next to the project name
2. Choose a **color** and **letter**, or upload a custom **image**
3. Changes save automatically
## Visibility Settings
Control who can see your project:
| Setting | Description |
| ----------- | ------------------------------------------------ |
| **Public** | Anyone can view on [Explore](../explore.md) page |
| **Private** | Only you and collaborators |
## Share with Collaborators
Share private projects with other users:
1. Click the **Share** button on the project page
2. Enter the collaborator's username or email
3. Set their role
4. Click **Invite**
Collaborators with editor access can upload models and start training within your project. See [Teams](../account/settings.md#teams-tab) for role permissions.
## Clone Project
Clone a public project to your own account:
1. Visit the public project page
2. Click **Clone Project**
3. The project and all its models are copied to your account as a private project
!!! info "Clone Behavior"
Cloned projects are always created as **private** in your account. The clone count is displayed on the original project. If the original has a copyleft license (e.g., AGPL-3.0), the clone inherits and locks that license.
## Compare Models
### Charts Dashboard
Compare model performance using the charts dashboard:
1. Select models in the sidebar using checkboxes
2. View overlaid metric curves grouped by type (metrics, train loss, validation loss, learning rate)
3. Drag charts to rearrange, resize by dragging edges
4. Hover to see exact values, click legend items to hide/show models, click a model line to navigate to that model
Available chart groups:
| Group | Charts |
| ----------------- | ---------------------------------------------- |
| **Metrics** | mAP50, mAP50-95, precision, recall |
| **Train Loss** | train/box_loss, train/cls_loss, train/dfl_loss |
| **Val Loss** | val/box_loss, val/cls_loss, val/dfl_loss |
| **Learning Rate** | lr/pg0, lr/pg1, lr/pg2 |
!!! tip "Interactive Charts"
- Hover to see exact values
- Click legend items to hide/show models
- Drag to zoom into specific regions
- Click a model line to navigate to that model's page
- Rearrange and resize charts; layout persists across sessions
### Comparison Table
Switch to table view for side-by-side comparison of training arguments and final metrics:
1. Click the **Table** view mode toggle
2. See all selected models as rows with training args and metrics as columns
3. Use the **Diff** button to highlight only columns where values differ across models
## Upload Models
Upload existing `.pt` model files:
1. **Drag and drop** files onto the project page or models sidebar
2. Multiple files can be uploaded simultaneously (up to 3 concurrent uploads)
3. Model metadata (task, architecture, class names, training results) is parsed automatically from the `.pt` file
4. Charts update instantly from locally parsed data while the upload completes in the background
!!! example "Supported Files"
Only PyTorch `.pt` files from Ultralytics YOLO training are supported. The Platform parses embedded metadata including training results, arguments, task type, and class names. See [Models](models.md) for format details.
## Edit Project
Update project name, description, or settings:
1. Click the project name to edit it inline
2. Click the description to edit it inline
3. Click the icon to customize it
4. Click the license badge to change the license
![Ultralytics Platform Projects Settings](https://cdn.jsdelivr.net/gh/ultralytics/assets@main/docs/platform/platform-projects-settings.avif)
## Delete Project
Remove a project you no longer need:
1. Click the **Delete** button (trash icon) in the header
2. Confirm deletion
!!! warning "Cascading Delete"
Deleting a project also deletes all models inside it. This action moves items to [Trash](../account/trash.md) where they can be restored within 30 days.
## FAQ
### How many models can a project contain?
There's no hard limit on models per project. However, for better organization, we recommend:
- Group related experiments (same dataset/task)
- Archive old experiments
- Use meaningful project names
### Can I restore a deleted project?
Yes, deleted projects go to Trash and can be restored within 30 days:
1. Go to [Settings > Trash](../account/trash.md)
2. Find the project
3. Click **Restore**
### Can I transfer models between projects?
Yes, you can clone a model to a different project using the clone model dialog from the [model page](models.md#clone-model).