Общие сведения

Перед началом процесса формирования датасета необходимо подготовить файлы в zip-архив соответствующим образом в зависимости от типа решаемой задачи.

В Терре присутствует встроенный фильтр сортировки файлов, отсеивающий файлы, не подходящие под выбранный тип обработки. Однако, во избежании ошибок при формировании датасета, желательно не допускать случайного попадания, например, в папку с изображениями любого другого файла, не являющегося изображением.

Если есть необходимость использования изображений, видео или аудио с числовыми или текстовыми данными, следует создать csv-таблицу с относительными путями к файлам изображений, видео или аудио в отдельной колонке.

Сбор архива

Структура папок и файлов в архиве не является универсальной и должна соответствовать типу решаемой задачи.

Note

При формировании архива и использовании кириллицы в качестве названия файлов или папок убедитесь, что вы используете кодировку utf-8, иначе, при загрузке архива в Терру, может возникнуть несоответствие кодировок, и названия файлов станут нечитаемы.

Классификация

Все файлы, принадлежащие одному классу, должны быть помещены в одну общую папку с соответствующим названием класса. При формировании датасета название класса объектам внутри каждой папки будет присвоено исходя из названия самой папки, в которой они лежат.

Ниже приведен пример структуры архива для задачи классификации изображений на три класса - Мерседес, Рено, Феррари (названия файлов внутри папок могут быть произвольными).

  • cars.zip
    • Мерседес
      • merc001.jpg

    • Рено
      • renault001.jpg

    • Феррари
      • fer001.jpg

cars.zip

Мерседес

Рено

Феррари

merc001.png

merc001.jpg

renault001.jpg

renault001.jpg

ferrari001.jpg

ferrari001.jpg

Сегментация изображений

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

Ниже приведен пример структуры архива для задачи сегментации изображений с файлом аннотации.

  • airplane.zip
    • Изображения
      • airplane001.jpg

    • Маски сегментации
      • airsegm001.jpg

    • labelmap.txt (необязательно)

airplane.zip

Изображения

Маски сегментации

airplane001.jpg

airplane001.jpg

airsegm001.jpg

airsegm001.jpg

Note

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

Файл аннотации

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

labelmap.txt

# label

color_rgb

parts

actions

Небо

0,0,0

Самолет

255,0,0

Note

Таблица файла аннотации должна использовать сепапатор :, а файл называться labelmap.txt

Сегментация текстов

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

Ниже приведен пример структуры архива для задачи сегментации текстов.

  • text_segmentation.zip
    • Договоры
      • doc001.txt

Note

Теги для сегментации текстов не имеют строгого формата, однако при сегментации текстов желательно использовать такие теги, символы которых не встречаются в тексте.

Пример сегментированного текста: <s1>Hello world!</s1>

Обнаружение объектов

Для разметки изображений можно использовать один из доступных инструментов разметки, например Computer Vision Annotation Tool.

После завершения работы с разметой данных необходимо экспортировать архив, выбрав один из поддерживаемых Террой типов аннотации: Yolo, Yolov1.1, VOC, Kitti, Coco, Udacity.

Регрессия

Для задачи регрессии необходимо подготовить табличный файл с csv расширением. Убедитесь, что в колонке для регрессии нет отсутствующих значений, а также строковых.

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

Ниже приведен пример структуры архива для задачи регрессии.

  • rezume.zip
    • jobs
      • jobs.csv

    • rezume.csv

rezume.csv

Пол

Возраст

Город

Образование

Должность

Опыт

Зарплата

Ж

25

Москва

Высшее

Руководитель

59

50000

М

33

Москва

Среднее

Строитель

122

150000

Ж

19

Москва

Высшее

Менеджер

17

60000

Note

При формировании датасета из архива можно выбрать только одну csv-таблицу. Для создания датасета из нескольких таблиц необходимо предварительно объединить эти таблицы в одну.

Временные ряды

Для задачи временных рядов необходимо подготовить табличный файл с csv расширением. Убедитесь, что ячейки не содержат отсутствующих значений, а также строковых.

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

Ниже приведен пример структуры архива для задачи временных рядов.

  • timeseries.zip
    • ts.csv

ts.csv

DATE

TIME

OPEN

MAX

MIN

CLOSE

VOLUME

03.01.2018

10:00:00

3341.0

3356.0

3340.0

3355.0

6088

03.01.2018

10:01:00

3355.0

3359.0

3353.0

3353.0

1624

03.01.2018

10:02:00

3351.5

3357.5

3351.5

3357.5

722

Note

При формировании датасета из архива можно выбрать только одну csv-таблицу. Для создания датасета из нескольких таблиц необходимо предварительно объединить эти таблицы в одну.

Загрузка архива

После загрузки и распаковки архива автоматически откроется страница создания датасетов. В Терре существует два способа загрузки архива для создания датасетов.

Google Drive

Готовый архив необходимо положить в папку в Google drive ./TerraAI/datasets/sources. После этого архив станет доступным к выбору и загрузке в выпадающем списке во вкладке Google drive.

Внешняя ссылка

Допускается использование только абсолютной ссылки, например https://***.com/filename.zip. Использование ссылок на файлообменники (например Google drive, Yandex disk), не имеющие прямого доступа к файлу, не допускается.

Создание датасета

Для начала создания датасета необходимо перетащить из файлового менеджера в поле работы с данными либо одну или несколько папок, либо одну csv-таблицу.

При формировании датасета порядок расположения файлов в папке, а также строки в таблице перемешиваются. Если требуется сохранить этот порядок, включите режим Сохранить последовательность.

В случае создания датасета из исходных данных, занимающих значительное количество оперативной памяти, во избежании обрыва сессии рекомендуется включить режим Использовать генератор. Таким образом процесс формирование датасета значительно ускорится, так как создание numpy массивов будет происходить во время обучения модели.