Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Object Storage
    • Все руководства
    • Получение статистики запросов к объекту с использованием S3 Select
    • Получение статистики посещения сайта с использованием S3 Select
    • Получение статистики запросов к объектам с использованием Yandex Query
    • Анализ поресурсной детализации расходов
    • Шифрование на стороне сервера
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Анализ логов с использованием DataLens
    • Монтирование бакетов к файловой системе хостов Yandex Data Processing
    • Использование Object Storage в Yandex Data Processing
    • Импорт данных из Object Storage, обработка и экспорт в Managed Service for ClickHouse®
    • Подключение бакета как диска в Windows
    • Миграция данных из Yandex Data Streams с помощью Yandex Data Transfer
    • Использование гибридного хранилища в Yandex Managed Service for ClickHouse®
    • Загрузка данных из Yandex Managed Service for OpenSearch в Yandex Object Storage с помощью Yandex Data Transfer
    • Автоматическое копирование объектов из бакета в бакет
    • Регулярное асинхронное распознавание аудиофайлов в бакете
    • Обучение модели в Yandex DataSphere на данных из Object Storage
    • Подключение к Object Storage из VPC
    • Перенос данных в Yandex Managed Service for PostgreSQL с использованием Yandex Data Transfer
    • Загрузка данных в Yandex Managed Service for Greenplum® с помощью Yandex Data Transfer
    • Загрузка данных в Yandex Managed Service for ClickHouse® с помощью Yandex Data Transfer
    • Загрузка данных в Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Обмен данными между Yandex Managed Service for ClickHouse® и Yandex Data Processing
    • Загрузка данных из Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Хостинг статического сайта на фреймворке Gatsby в Object Storage
    • Миграция базы данных из Managed Service for PostgreSQL в Object Storage
    • Обмен данными между Yandex Managed Service for ClickHouse® и Yandex Data Processing
    • Импорт данных из Yandex Managed Service for PostgreSQL в Yandex Data Processing с помощью Sqoop
    • Импорт данных из Yandex Managed Service for MySQL® в Yandex Data Processing с помощью Sqoop
    • Миграция данных из Yandex Object Storage в Yandex Managed Service for MySQL® с помощью Yandex Data Transfer
    • Миграция базы данных из Yandex Managed Service for MySQL® в Yandex Object Storage
    • Выгрузка данных Greenplum® в холодное хранилище Yandex Object Storage
    • Загрузка данных из Яндекс Директ в витрину Yandex Managed Service for ClickHouse® с использованием Yandex Cloud Functions, Yandex Object Storage и Yandex Data Transfer
    • Миграция данных из Elasticsearch в Yandex Managed Service for OpenSearch
    • Загрузка состояний Terraform в Object Storage
    • Блокировка состояний Terraform с помощью Managed Service for YDB
    • Визуализация данных Yandex Query
    • Публикация обновлений для игр
    • Резервное копирование ВМ с помощью Хайстекс Акура
    • Резервное копирование в Object Storage с помощью CloudBerry Desktop Backup
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage с помощью Bacula
    • Резервное копирование в Object Storage с помощью Veeam Backup
    • Резервное копирование в Object Storage с помощью Veritas Backup Exec
    • Резервное копирование кластера Managed Service for Kubernetes в Object Storage
    • Разработка пользовательской интеграции в API Gateway
    • Сокращатель ссылок
    • Хранение журналов работы приложения
    • Разработка навыка Алисы и сайта с авторизацией
    • Создание интерактивного serverless-приложения с использованием WebSocket
    • Развертывание веб-приложения с использованием Java Servlet API
    • Разработка Telegram-бота
    • Репликация логов в Object Storage с помощью Fluent Bit
    • Репликация логов в Object Storage с помощью Data Streams
    • Загрузка аудитных логов в SIEM ArcSight
    • Загрузка аудитных логов в SIEM Splunk
    • Создание сервера MLFlow для логирования экспериментов и артефактов
    • Работа с данными с помощью Yandex Query
    • Федеративные запросы к данным с помощью Query
    • Распознавание архива изображений в Vision OCR
    • Конвертация видео в GIF на Python
    • Автоматизация задач с помощью Managed Service for Apache Airflow™
    • Обработка файлов детализации в сервисе Yandex Cloud Billing
    • Развертывание веб-приложения с JWT-авторизацией в API Gateway и аутентификацией в Firebase
    • Поиск событий Yandex Cloud в Yandex Query
    • Поиск событий Yandex Cloud в Object Storage
    • Создание внешней таблицы на базе таблицы из бакета с помощью конфигурационного файла
    • Миграция базы данных из Google BigQuery в Managed Service for ClickHouse®
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
  • Подготовьте рабочее окружение
  • Создайте каталог
  • Создайте сервисный аккаунт для Object Storage
  • Создайте статический ключ доступа
  • Создайте бакет
  • Настройте подключение к Object Storage
  • Смонтируйте бакет к файловой системе Windows
  • Подготовьте данные для обучения
  • Подключите бакет к проекту
  • Обучите модель
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Обучение модели в Yandex DataSphere на данных из Object Storage

Использование данных из Object Storage для обучения модели в Yandex DataSphere

Статья создана
Yandex Cloud
Обновлена 1 апреля 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте инфраструктуру
    • Подготовьте рабочее окружение
    • Создайте каталог
    • Создайте сервисный аккаунт для Object Storage
  • Создайте статический ключ доступа
  • Создайте бакет
  • Настройте подключение к Object Storage
  • Смонтируйте бакет к файловой системе Windows
  • Подготовьте данные для обучения
  • Подключите бакет к проекту
  • Обучите модель
  • Как удалить созданные ресурсы

Вы создадите бакет в Object Storage, смонтируете его к файловой системе Windows с помощью rclone и загрузите туда данные для обучения модели в Yandex DataSphere.

Чтобы использовать данные из Object Storage для обучения модели в DataSphere:

  1. Подготовьте инфраструктуру.
  2. Создайте статический ключ доступа.
  3. Создайте бакет.
  4. Настройте подключение к Object Storage.
  5. Смонтируйте бакет.
  6. Подготовьте данные для обучения.
  7. Создайте коннектор S3.
  8. Подключите бакет к проекту.
  9. Обучите модель.

Если созданные ресурсы вам больше не нужны, удалите их.

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

Перед началом работы нужно зарегистрироваться в Yandex Cloud, настроить сообщество и привязать к нему платежный аккаунт:

  1. На главной странице DataSphere нажмите Попробовать бесплатно и выберите аккаунт для входа — Яндекс ID или рабочий аккаунт в федерации (SSO).
  2. Выберите организацию Yandex Cloud Organization, в которой вы будете работать в Yandex Cloud.
  3. Создайте сообщество.
  4. Привяжите платежный аккаунт к сообществу DataSphere, в котором вы будете работать. Убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его в интерфейсе DataSphere.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость реализации обучения модели с помощью данных из Object Storage входят:

  • Плата за использование вычислительных ресурсов DataSphere.
  • Плата за хранение данных в бакете (см. тарифы Object Storage).
  • Плата за операции с данными (см. тарифы Object Storage).

Подготовьте инфраструктуруПодготовьте инфраструктуру

Войдите в консоль управления Yandex Cloud и выберите организацию, в которой вы работаете с DataSphere. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт.

Если у вас есть активный платежный аккаунт, на странице облака вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура.

Примечание

Если вы работаете с Yandex Cloud через федерацию удостоверений, вам может быть недоступна платежная информация. В этом случае обратитесь к администратору вашей организации в Yandex Cloud.

Подготовьте рабочее окружениеПодготовьте рабочее окружение

Windows

Скачайте и установите дистрибутив winfsp с сайта производителя.

Скачайте с сайта производителя и распакуйте в свою рабочую директорию на локальном компьютере:

  • Архив с утилитами sysinternals suite.
  • Архив с утилитой Windows Service Wrapper (winsw).
  • Архив с утилитой rclone.

Создайте каталогСоздайте каталог

Консоль управления
  1. В консоли управления выберите облако и нажмите кнопку Создать каталог.
  2. Введите имя каталога, например, data-folder.
  3. Нажмите кнопку Создать.

Создайте сервисный аккаунт для Object StorageСоздайте сервисный аккаунт для Object Storage

Для доступа к бакету в Object Storage вам понадобится сервисный аккаунт с ролью storage.editor.

Консоль управления
  1. В консоли управления перейдите в каталог data-folder.
  2. В списке сервисов выберите Identity and Access Management.
  3. Нажмите кнопку Создать сервисный аккаунт.
  4. Введите имя сервисного аккаунта, например, datasphere-sa.
  5. Нажмите Добавить роль и назначьте сервисному аккаунту роль storage.editor.
  6. Нажмите кнопку Создать.

Создайте статический ключ доступаСоздайте статический ключ доступа

Чтобы получить доступ к Object Storage из DataSphere, вам понадобится статический ключ.

Консоль управления
Yandex Cloud CLI
API
  1. В консоли управления перейдите в каталог, которому принадлежит сервисный аккаунт.
  2. В списке сервисов выберите Identity and Access Management.
  3. На панели слева выберите Сервисные аккаунты.
  4. В открывшемся списке выберите сервисный аккаунт datasphere-sa.
  5. На верхней панели нажмите кнопку Создать новый ключ.
  6. Выберите Создать статический ключ доступа.
  7. Задайте описание статического ключа и нажмите кнопку Создать.
  8. Сохраните идентификатор и секретный ключ. После закрытия диалога значение ключа будет недоступно.
  1. Создайте статический ключ доступа для сервисного аккаунта datasphere-sa:

    yc iam access-key create --service-account-name datasphere-sa
    

    Результат:

    access_key:
      id: aje6t3vsbj8l********
      service_account_id: ajepg0mjt06s********
      created_at: "2022-07-18T14:37:51Z"
      key_id: 0n8X6WY6S24N7Oj*****
    secret: JyTRFdqw8t1kh2-OJNz4JX5ZTz9Dj1rI9hx*****
    

    Подробнее о команде yc iam access-key create см. в справочнике CLI.

  2. Сохраните идентификатор key_id и секретный ключ secret. Получить значение ключа снова будет невозможно.

Чтобы создать статический ключ доступа, воспользуйтесь методом create для ресурса AccessKey.

Создайте бакетСоздайте бакет

Консоль управления
AWS CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором хотите создать бакет.
  2. В списке сервисов выберите Object Storage.
  3. Справа сверху нажмите кнопку Создать бакет.
  4. В поле Имя укажите имя бакета в соответствии с правилами именования.
  5. В полях Доступ на чтение объектов, Доступ к списку объектов и Доступ на чтение настроек выберите Ограниченный.
  6. Нажмите кнопку Создать бакет.
  1. Если у вас еще нет AWS CLI, установите и сконфигурируйте его.

  2. Создайте бакет, указав имя бакета в соответствии с правилами именования:

    aws --endpoint-url https://storage.yandexcloud.net \
      s3 mb s3://<имя_бакета>
    

    Результат:

    make_bucket: <имя_бакета>
    

Примечание

Terraform взаимодействует с Object Storage от имени сервисного аккаунта. Назначьте сервисному аккаунту нужную роль, например storage.admin, на каталог, в котором будут создаваться ресурсы.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Опишите в конфигурационном файле параметры для создания сервисного аккаунта и ключа доступа:

    ...
    // Создание сервисного аккаунта
    resource "yandex_iam_service_account" "sa" {
      name = "<имя_сервисного_аккаунта>"
    }
    
    // Назначение роли сервисному аккаунту
    resource "yandex_resourcemanager_folder_iam_member" "sa-admin" {
      folder_id = "<идентификатор_каталога>"
      role      = "storage.admin"
      member    = "serviceAccount:${yandex_iam_service_account.sa.id}"
    }
    
    // Создание статического ключа доступа
    resource "yandex_iam_service_account_static_access_key" "sa-static-key" {
      service_account_id = yandex_iam_service_account.sa.id
      description        = "static access key for object storage"
    }
    
  2. Добавьте в конфигурационный файл блок с параметрами бакета, указав имя бакета в соответствии с правилами именования:

    resource "yandex_storage_bucket" "<имя_бакета>" {
      access_key = yandex_iam_service_account_static_access_key.sa-static-key.access_key
      secret_key = yandex_iam_service_account_static_access_key.sa-static-key.secret_key
      bucket     = "<имя_бакета>"
    }
    

    Подробнее о ресурсе yandex_storage_bucket см. в документации провайдера Terraform.

  3. Создайте ресурсы:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

    Terraform создаст все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Используйте метод REST API create для ресурса Bucket, вызов gRPC API BucketService/Create или метод S3 API create.

Настройте подключение к Object StorageНастройте подключение к Object Storage

Чтобы перенести данные с локального диска в Object Storage, вам нужно настроить утилиту rclone.

  1. В рабочей директории запустите командную строку от имени администратора и выполните команду:

    .\psexec -i -s cmd.exe
    
  2. В открывшейся консоли выполните команду whoami и убедитесь, что сессия запущена от имени системного пользователя.

  3. Перейдите в рабочую директорию и запустите конфигурацию утилиты rclone:

    rclone.exe config
    
  4. Следуя запросам приложения, создайте новый профиль подключения:

    1. Выберите создание нового профиля: введите в терминал значение n.
    2. Введите имя подключения: s3-connect.
    3. Выберите тип хранилища: введите в терминал значение 4.
    4. Выберите провайдера: введите в терминал значение 1.
    5. Выберите ручной способ ввода учетных данных: введите в терминал значение 1.
    6. Введите в терминале идентификатор секретного ключа.
    7. Введите в терминале значение секретного ключа.
    8. Укажите регион: введите в терминал значение ru-central1.
    9. Укажите эндпоинт: введите в терминал значение storage.yandexcloud.net.
    10. Остальные настройки можно оставить по умолчанию — нажимайте Enter, чтобы их пропустить.

Примечание

При необходимости вы можете выполнить расширенную настройку подключения. Для этого на шаге Edit advanced config? введите в терминале y. Подробнее с расширенными настройками можно ознакомиться на странице документации утилиты rclone.

Смонтируйте бакет к файловой системе WindowsСмонтируйте бакет к файловой системе Windows

  1. Проверьте подключение к бакету. В той же командной строке, где выполнялась настройка подключения, выполните команду, указав имя бакета:

    rclone.exe ls s3-connect:<имя_бакета>
    

    Если конфигурация настроена правильно, в консоль будет выведен список объектов бакета.

  2. Смонтируйте бакет в файловую систему, указав имя бакета и свободную букву диска в файловой системе:

    rclone.exe mount s3-connect:<имя_бакета> <буква_диска>: --vfs-cache-mode full
    

    В проводнике Windows появится новый диск с объектами из бакета.

Подготовьте данные для обученияПодготовьте данные для обучения

  1. Скачайте CSV-файл, содержащий данные по предсказанию наличия диабета. Датасет создан на основе данных Kaggle за 2015 год.
  2. Скопируйте файл в смонтированный бакет.

Подключите бакет к проектуПодключите бакет к проекту

Чтобы подключиться к бакету из DataSphere, вам понадобится коннектор S3:

  1. Выберите нужный проект в своем сообществе или на главной странице DataSphere во вкладке Недавние проекты.

  2. В правом верхнем углу нажмите кнопку Создать ресурс. Во всплывающем окне выберите Коннектор S3.
  3. Заполните поля:
    • Имя — имя создаваемого коннектора, например s3-datasphere-connect.
    • Эндпоинт — хост Object Storage — https://storage.yandexcloud.net/.
    • Бакет — имя вашего бакета.
    • Имя раздела при подключении — название тома при монтировании бакета в файловую систему проекта.
    • Идентификатор статического ключа доступа, который используется для подключения к хранилищу.
    • В поле Статический ключ доступа нажмите Создать. В открывшемся окне введите имя секрета и секретный ключ, который используется для подключения к хранилищу.
  4. Нажмите кнопку Создать.
  5. Перейдите на страницу коннектора S3 и нажмите кнопку Активировать. После активации бакет будет доступен в интерфейсе JupyterLab в списке на вкладке S3 Mounts , и его можно будет просматривать как файловую систему.

Обучите модельОбучите модель

Склонируйте Git-репозиторий, в котором находится ноутбук diabetes_catboost.ipynb с примером обучения модели CatBoost:

  1. Откройте проект DataSphere:

    1. Выберите нужный проект в своем сообществе или на главной странице DataSphere во вкладке Недавние проекты.

    2. Нажмите кнопку Открыть проект в JupyterLab и дождитесь окончания загрузки.
    3. Откройте вкладку с ноутбуком.
  2. В верхнем меню нажмите Git и выберите Clone.
  3. В открывшемся окне введите URI репозитория https://github.com/yandex-cloud-examples/yc-datasphere-s3-mount.git и нажмите кнопку Clone.

В ноутбуке diabetes_catboost.ipynb вы подключитесь к датасету diabetes_data.csv в вашем смонтированном бакете и обучите модель CatBoost:

  1. Установите необходимые модули:

    %pip install catboost
    %pip install scikit-learn
    %pip install ipywidgets
    
  2. Импортируйте необходимые библиотеки:

    import pandas as pd
    from catboost import CatBoostClassifier
    from sklearn.metrics import classification_report
    from sklearn.model_selection import train_test_split
    
  3. Загрузите данные для обучения:

    data = pd.read_csv('<путь_к_датасету>')
    data.head()
    

    Чтобы получить путь к файлу diabetes_data.csv, во вкладке S3 Mounts нажмите на него правой кнопкой мыши и выберите Copy path.

  4. Разделите факторы для обучения и целевую переменную:

    X = data.loc[:, data.columns != 'Diabetes_binary']
    y = data['Diabetes_binary']
    
  5. Разделите выборку на обучающую и тестовую:

    X_train, X_validation, y_train, y_validation = train_test_split(X, y, train_size=0.75, random_state=42)
    
  6. Создайте классификатор СatBoost и задайте гиперпараметры:

    model = CatBoostClassifier(
      iterations=100,
      random_seed=42,
      logging_level='Verbose'
    )
    
  7. Запустите обучение модели:

    model.fit(
      X_train, y_train,
      eval_set=(X_validation, y_validation),
      plot=True
    )
    
  8. Выведите метрики качества обученной модели на экран:

    print(classification_report(y_validation, model.predict(X_validation)))
    

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  • Удалите объекты из бакета.
  • Удалите бакет.
  • Удалите проект.

Была ли статья полезна?

Предыдущая
Регулярное асинхронное распознавание аудиофайлов в бакете
Следующая
Подключение к Object Storage из VPC
Проект Яндекса
© 2025 ООО «Яндекс.Облако»