/ Модель

Характеристики

Лицензия
Apache 2.0
Базовая модель
smolvla_base
Опубликована
18 сен 2026

SmolVLA-Base-0.45B

Языковая модельИзображение, текст → action

Дообученная компактная Vision-Language-Action модель для преобразования наблюдений робота и инструкций в управляющие действия.

103скачиваний за 30 дней1лайквеса обновлены18 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Man1103/SmolVLA-Base-0.45B — дообученная версия SmolVLA-Base от LeRobot для управления роботами. Модель семейства Vision-Language-Action принимает визуальные наблюдения и состояние робота, а также может учитывать инструкцию на естественном языке, чтобы предсказывать управляющие действия.

Модель распространяется в формате safetensors и загружается через LeRobot как SmolVLAPolicy. В карточке указаны английский язык и датасет lerobot/community_dataset_v3. Лицензия — Apache-2.0.

Сценарии применения

  • управление роботом по изображению с камеры и инструкции
  • предсказание действий робота по визуальным наблюдениям
  • обучение и запуск робототехнических политик на LeRobot

Ограничения

README содержит только пример загрузки и не приводит оценок качества, ограничений по роботам или подробностей обучения.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

image

SmolVLA-architecture-diagram

License & Attribution

This repository contains weights or code derived from the SmolVLA foundational architecture developed by Hugging Face and the LeRobot Authors.

This is SmolVLA-Base model cloned from Hugginface "lerobot/smolvla_base" repository. This was createed for ready-to-use custom model for easy inference during Hackathon challenge.

Script to load model from HuggingFace:

from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy
from lerobot.policies.factory import make_pre_post_processors
import torch

device = "cuda" if torch.cuda.is_available() else "cpu"

# Switch this to your custom Hugging Face model repository or local directory path
my_custom_model_id = "Man1103/SmolVLA-Base-0.45B"

# 2. Load Model instance skeleton onto device
model = SmolVLAPolicy.from_pretrained(my_custom_model_id).to(device)

print("Model successfully loaded!")

Script for loading model specific preprocess and postprocess assets:

# 3. Initialize pre/post-processors using your loaded model config 
preprocess, postprocess = make_pre_post_processors(
    policy_cfg=model.config,      # Passes the structural configuration matrix
    pretrained_path=my_custom_model_id # Resolves dataset statistics from your repository
)

print("Model successfully initialized!")

Script to perform random sample inference:

import numpy as np
import pandas as pd
from PIL import Image
import torch
import torchvision.transforms.functional as TF

# 1. Create a dummy image frame (RGB, 256x256 as specified by the model's expected shape)
mock_image = Image.fromarray(np.random.randint(0, 255, (256, 256, 3), dtype=np.uint8))
mock_instruction = "Grasp the red block and place it in the tray."
mock_robot_state = torch.zeros((1, 6)) # Example: 6-DoF robot arm state

# 2. Build the observation map using the EXACT keys the model is looking for
observation_frame = {
    "observation.images.camera1": mock_image,
    "observation.images.camera2": mock_image,
    "observation.images.camera3": mock_image,
    "observation.state": mock_robot_state,
    "task": mock_instruction
}

# 3. Process and format
processed_observation = preprocess(observation_frame)

# 4. Push tensors to the GPU, add batch dimensions, and convert PIL Images
for key, value in processed_observation.items():
    if isinstance(value, Image.Image):
        # Convert to tensor (C, H, W) and add batch dimension -> (1, C, H, W)
        tensor_val = TF.to_tensor(value).to(device)
        processed_observation[key] = tensor_val.unsqueeze(0)
    elif isinstance(value, torch.Tensor):
        # Ensure tensor values have a batch dimension at index 0
        if value.ndim == 1:
            processed_observation[key] = value.unsqueeze(0).to(device)
        elif value.ndim == 2 and key == "observation.state":
            # State is already (1, 6), keep it or make sure it handles batching correctly
            processed_observation[key] = value.to(device)
        else:
            processed_observation[key] = value.to(device)

# 5. Execute VLA Policy Inference
model.eval()
with torch.no_grad():
    print("Predicting action sequence with batched streams...")
    predicted_action = model.select_action(processed_observation)
    final_robot_commands = postprocess(predicted_action)

# 6. Output Result
print("\n--- INFERENCE SUCCESS ---")
print("Predicted Robot Action Matrix shape:", final_robot_commands.shape)
print(f"Final robot command: {final_robot_commands}")

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Модели для роботов не запускаются как сервис инференса.

Ревизия весов
6a1e4eb

0 моделей