Skip to main content

Библиотека для работы с api Cloud.ru MLSpace

Project description

О пакетах

Репозиторий содержит инструменты разработчика для работы с Cloud.ru Distributed Train:

  • mls — CLI-утилита, которая позволяет запускать некоторые сервисы Distributed Train из терминала.
  • mls-core — Python-библиотека с открытым исходным кодом для использования некоторых сервисов Distributed Train в своих проектах (SDK).

Установка

Чтобы установить mls на локальную машину, в терминале выполните:

pip install cloudru-ml-cli==0.8.3
Зеркало: 
pip install --index-url https://gitverse.ru/api/packages/cloudru/pypi/simple/ --extra-index-url https://pypi.org/simple --trusted-host gitverse.ru mls==0.8.3

GIF Установка

mls-core установится автоматически.

Перед началом работы

Выполните:

mls configure

GIF Установка

Примеры использования

Получение списка задач

mls job list

GIF Получение списка задач

Просмотр логов задачи

mls job logs

GIF Просмотр логов задачи

Запуск задачи через библиотеку

from mls_core import TrainingJobApi

client = TrainingJobApi(
    'https://api.ai.cloud.ru/public/v2',
    'APIKEY_ID',
    'APIKEY_SECRET',
    'WORKSPACE_ID',
    'X_API_KEY'
)
client.run_job(
        payload={
            'script': '/home/jovyan/hello_world.py',
            'base_image': 'cr.ai.cloud.ru/hello_world:latest',
            'instance_type': 'a100.1gpu.40',
            'region': 'REGION',
            'type': 'pytorch2',
            'n_workers': 1,
            'job_desc': 'Привет, мир'
        }
)

Файловая структура

Файловая структура не является финальной

├── README.md                   # Основная документация проекта.
├── LICENSE                     # Лицензионные условия.
├── install.gif                 # Анимация установки.
├── list.gif                    # Анимация списка.
├── logs.gif                    # Анимация логов.
├── mls
│   ├── cli.py                  # Вход в CLI.
│   ├── manager                 # Логика CLI.
│   │   ├── configure           # Подкоманда: mls configure
│   │   │   ├── cli.py          # Настройка профиля.
│   │   │   ├── help.py         # Помощь для configure.
│   │   │   └── utils.py        # Утилиты профиля.
│   │   └── job                 # Подкоманда: mls job
│   │       ├── cli.py          # Управление задачами ML.
│   │       ├── custom_types.py # Типы задач ML.
│   │       ├── dataclasses.py  # Дата-классы задач.
│   │       ├── help.py         # Помощь для job.
│   │       └── utils.py        # Утилиты задач ML.
│   └── utils                   # Поддержка CLI.
│       ├── cli_entrypoint_help.py # Помощь CLI.
│       ├── common.py           # Общая логика.
│       ├── common_types.py     # Пользовательские типы.
│       ├── execption.py        # Исключения.
│       ├── fomatter.py         # Форматирование справки.
│       ├── settings.py         # Настройки приложения.
│       └── style.py            # Стили CLI.
├── mls_core                    # SDK ядро.
│   ├── client.py               # Клиенты SDK.
│   ├── exeptions.py            # Исключения SDK.
│   └── setting.py              # Настройки SDK.
├── samples
│   ├── template.binary.yaml    # Шаблон бинарных задач.
│   ├── template.binary_exp.yaml# Тестовый шаблон (Нестабильный). TODO 
│   ├── template.horovod.yaml   # Шаблон Horovod.
│   ├── template.nogpu.yaml     # Шаблон задач без GPU.
│   ├── template.pytorch.yaml   # Шаблон PyTorch. (Используйте pytorch2)
│   ├── template.pytorch2.yaml  # Шаблон PyTorch2.(минорно отличается от pytorch)
│   ├── template.pytorch_elastic.yaml # Шаблон PyTorch Elastic.
│   └── template.spark.yaml     # Шаблон Spark.
└── Руководство cli
    ├── FAQ.md                  # FAQ.
    ├── Быстрый старт.md        # Быстрый старт.
    ├── Запуск задачи.md        # Запуск задач.
    └── Настройка автокомплитера.md # Автозаполнение.

Автокомплитер Zsh

Пользователям Zsh доступна автозаполнение в CLI. Чтобы использовать опцию, добавьте скрипт ниже в Zsh-профиль:

_mls_completion() {
    autocomplete "${COMP_WORDS[@]}"
}
complete -F _mls_completion mls

Примеры

binary YAML binary.

pytorch2 YAML pytorch2.

pytorch_elastic YAML pytorch_elastic.

docs: .gitlab-ci.yml rules

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudru_ml_cli-0.8.3.tar.gz (46.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cloudru_ml_cli-0.8.3-py3-none-any.whl (62.7 kB view details)

Uploaded Python 3

File details

Details for the file cloudru_ml_cli-0.8.3.tar.gz.

File metadata

  • Download URL: cloudru_ml_cli-0.8.3.tar.gz
  • Upload date:
  • Size: 46.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for cloudru_ml_cli-0.8.3.tar.gz
Algorithm Hash digest
SHA256 470af4dca268283cba7de2242c92f627118f7dbd440f544291d321ec0fd2917d
MD5 d8cd45720422204bc5d3ac5f557f969e
BLAKE2b-256 854f1722ad5fd5a318e5a58a35a56481e144def5f4c234076d0e31d8e0855fc8

See more details on using hashes here.

File details

Details for the file cloudru_ml_cli-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: cloudru_ml_cli-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 62.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for cloudru_ml_cli-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dd7ad5ea0a2aae590f4ec518b4269b2e1da4f4a3a4c554504d1d5b26bef6b18d
MD5 6b1d295ab17039ddf7bfa87f312b0a95
BLAKE2b-256 6dccdbbe04cb0e8472dc67d20456eb17a86ee1c15515fafd74fc9f26b419cc3e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page