Как ликвидировать «черную десятиминутку» самолетов, поможет ИИ

искусственный интеллект

В последние годы «применение и внедрение ИИ» постепенно стало конкретным ключевым словом, которое сочеталось со многими вещами и отраслями, образуя замечательную «химическую реакцию». Например, в нашей повседневной жизни ИИ может подталкивать наши любимые новости или видео, а также может идентифицировать сцены при съемке, чтобы подчеркнуть красоту фотографий... И то, что сегодня хочет сказать автор, может исходить от многих людей, которые внимательно связанные, но в основном незнакомые.Кстати, о «таинственном» занятии: командный центр башни аэропорта. Компания Shanghai Maitu Information Technology Co., Ltd. разработала систему предотвращения вторжений на взлетно-посадочную полосу с помощью универсальной платформы разработки и управления Huawei Cloud ModelArts.

ИИ дал мне пару "глаз мудрости"

Каждый самолет в аэропорту взлетает или приземляется, с момента выталкивания самолета со стоянки в воздушное пространство аэропорта или наоборот, он должен полагаться на сотрудничество между диспетчерами за кулисами. Интервал между взлетом и посадкой самолетов очень короткий и рискованный, есть поговорка «черные десять минут». Диспетчер также известен как «глаз» позади пилота.Требования к ним очень строгие, и им нужно долго концентрироваться, особенно когда рейс переполнен.Это также оказывает большое давление на диспетчеров, чтобы сделать правильное суждение. Для обычного пассажира это может быть просто обычная авиаперелет, но для диспетчера каждая остановка и старт сопряжены с большой ответственностью.

«Выезд на ВПП» — это «кошмар» для всех диспетчеров. С увеличением количества взлетов и посадок самолетов, а также влиянием плохой погоды, инциденты с проникновением на взлетно-посадочную полосу стали главной проблемой безопасности воздушных судов на земле в сфере гражданской авиации, и на долю несчастных случаев, связанных с безопасностью взлетно-посадочной полосы, также приходится значительная доля авиационных происшествий. Однако с увеличением масштабов аэропортов и плотности полетов для вышек в крупных аэропортах одноточечное поле зрения физически ограничено, а повышение уровня оцифровки объективно вызывает такие проблемы, как увеличение количества экранов и увеличение объемов информации. Более высокие требования, субъективная инициатива людей очень сильна, но часто трудно охватить все.

Сосредоточив внимание на области интеллектуальной авиации и уделив особое внимание технологиям искусственного интеллекта, а также исследованиям и разработкам в области прикладных технологий, Shanghai Maitu Information Technology Co., Ltd. надеется использовать возможности ИИ для облегчения вышеуказанных проблем и избавления диспетчеров от высокого давления. Чтобы усилить предотвращение вторжений на взлетно-посадочную полосу, McTu разработала систему предотвращения вторжений на взлетно-посадочную полосу, то есть, когда используются самолеты, она предотвращает бросок других самолетов на взлетно-посадочную полосу, что приводит к столкновениям между воздушными линиями.

«Мы хотим зафиксировать динамику самолета с помощью видео, идентифицировать самолет по видео, затем рассчитать его положение и скорость, рассчитать траекторию между двумя самолетами, а затем сертифицировать на основе других связанных данных, чтобы убедиться, что самолет находится там. не будет столкновения, даже если есть риск столкновения, его можно предсказать заранее», — сказал автору Сюй Цинъян, директор проекта Metu.

Платформа HUAWEI CLOUD ModelArts позволяет разрабатывать модели

Как прекрасен идеал, как худа реальность. Как мы все знаем, искусственный интеллект включает в себя два этапа обучения и логического вывода, а логический вывод может быть выполнен только тогда, когда модель искусственного интеллекта сначала обучена. Проблема, с которой сталкивается Metu, заключается в том, что команда разработчиков проекта в основном сосредоточена на разработке программных приложений и анализе данных и не проводит глубоких исследований в области технологий компьютерного зрения. В 2018 году команда проекта также начала пробовать множество сценариев: «На тот момент нас сдерживали две проблемы. не было хорошей платформы для разработки ИИ, вычислительных мощностей и инструментов. К этому году стали популярными 4K-камеры, есть обучающие инструменты ModelArts, и это можно сделать».

Сюй Цинъян сказал, что Huawei Cloud ModelArts предоставляет полнофункциональную платформу для разработки и управления ИИ, что значительно снижает порог входа технологии Maitu в область ИИ для видео: «Если у вас нет ModelArts, вам нужно купить собственное оборудование, прежде чем подготовка к обучению., зайти в open source сообщество найти эту технологию, научиться строить и настраивать окружение, в процессе обучения задействованы обслуживание оборудования, настройка производительности, разработка средств калибровки.Этот процесс будет очень долгим и сложно. , мы испытали это в процессе разработки ИИ-ядра продукта, управляющего распознаванием речи, процесс очень болезненный, а стоимость очень высокая».

Для карты пшеницы ModelArts доводит эффективность до ценности очевидного: «Разработка модели первого выпуска, от калибровки до обучения, чтобы, наконец, сделать презентации для клиентов, заняла всего три дня, если традиционные способы сделать это возможно. даже экспресс-сервер не доставляются».

Сюй Цинъян сказал, что в этой системе «подсистема фотоэлектрической маркировки» является важным ядром в реальном времени, и она должна иметь относительно полную возможность «распознавания и отслеживания целей на основе видеопотока». Путем отправки видеопотока в реальном времени, собранного с каждой ключевой точки самолета аэропорта, в «модель распознавания самолета», разработанную на основе универсальной платформы разработки и управления ИИ HUAWEI CLOUD ModelArts, для обработки после определения координат пикселей объект самолета на экране и другие первичные параметры, выполнять преобразование пространственного положения и расчет вторичных параметров, включая скорость, направление движения и т. д., и находить совпадающую информацию о полете в данных о работе системы, чтобы пометить информацию о цели и представить ее в виде Расширение информации AR На мониторе контроллер может интуитивно понимать достаточную и исчерпывающую динамическую информацию на одном экране в виде «индикатора на лобовом стекле». В то же время система будет отслеживать и оценивать данные о траектории и векторной динамике всех целей на заднем плане, чтобы компьютер мог заменить или помочь диспетчеру отмечать каждый полет и каждое пересечение в реальном времени в глобальном масштабе, и заранее прогнозировать потенциальные эксплуатационные риски, чтобы снизить вероятность несчастных случаев.

Точность однокадрового распознавания основной цели этой модели может приближаться к 96%, а результаты распознавания основной цели при многокадровом распознавании могут быть выше 99%. В настоящее время MaiTu пробует модель Mask-RCNN, чтобы повысить точность вывода координат до уровня пикселей, чтобы добиться более точной идентификации самолета и расчета местоположения.

Код разработки модели выглядит следующим образом:

1. Процесс разработки

Этот проект основан на модели Yolo, и его основная программа построена со ссылкой на проект Huawei «ModelArts/среда разработки/ноутбук», mxnetobjectiondetection в примерах.

1.1 Базовый процесс и yolov3

Основной процесс этого проекта показан на рисунке, который в основном повторяет процесс изменения примера кода, предоставленного Huawei, и, наконец, настройки приложения. Если вы разрабатываете другие типы проектов на основе примера кода Huawei, вы также можете обратиться к этому процессу разработки. Схематическая диаграмма процесса разработки выглядит следующим образом:

В этом проекте используется модель yolov3, которая является классической моделью обнаружения целей. Может быть достигнуто быстрое и точное обнаружение цели. Он использует darknet_53 в качестве сети извлечения признаков и применяет многоуровневый метод обнаружения для быстрого обнаружения целей разных размеров. Подробности см. в исходной статье: YOLOv3: постепенное улучшение

1.2 Маркировка и подготовка обучающих данных

Первым шагом в разработке модели является выполнение данных.Поскольку функция подготовки данных, предоставляемая ModelArts, основана на серии наборов данных PASCAL VOC, каждое изображение соответствует файлу данных аннотаций xml. Подробности см. в описании и подробностях серии наборов данных PASCAL VOC (http://host.robots.ox.ac.uk/pascal/VOC/).

Аннотирование данных и корректировка структуры набора данных — очень хлопотная вещь, но ModelArts предоставила идеальную поддержку инструментов аннотирования данных для аннотирования обнаружения цели. В этом проекте также используются инструменты аннотирования данных, предоставляемые ModelArts для соответствующей работы. В частности, функция «Управление данными/набор данных», предоставляемая ModelArts, будет использоваться для создания набора данных «Обнаружение объектов» для работы с надписями. Конкретный процесс описан в официальном руководстве пользователя по управлению данными (https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0003.html).

Поскольку мы будем тренироваться в блокноте позже, полученный набор данных нуждается в дальнейшей обработке. Сначала аннотируйте данные, а затем опубликуйте набор данных.Аннотированные данные будут сохранены в obs://местоположение вывода набора данных/набор данных-****/аннотация/номер версии данных/аннотации в том же формате xml, что и имя изображения. документ. Поместив файл аннотации xml и соответствующий файл изображения в одну папку, можно создать набор данных, необходимый для этого проекта. Для удобства папки с изображениями и файлами аннотаций по-прежнему сохраняются в одной папке в obs.

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

1.3 Получить ссылочный код

Существует два источника эталонного кода: один — это код записной книжки в примере записной книжки, предоставленном Huawei, а другой — код библиотеки, который необходимо загрузить в записную книжку В этом разделе будут описаны конкретные методы получения двух кодов. .

Код эталонного блокнота можно открыть с помощью mxnetobjectiondetection в разделе «Примеры» в блокноте ModelArts Jupyter. Конкретное расположение показано на рисунке:

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

Его также можно загрузить в общедоступной сети.Вы можете использовать следующую команду для прямой загрузки, а затем уменьшить сжатие, чтобы получить эталонный код: wget https://ai-course-common-20.obs.cn-north- 1.myhuaweicloud.com/object_detection/object_detection.tar.gz

1.4 Измените код подготовки данных и загрузите данные

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

Обратитесь к новой записной книжке в таблице ниже, затем используйте «MXNETOBJECTDetection.ipynb» в качестве базового кода для модификации.

Измените способ чтения файла и загрузите другой код и файлы.

Начальный рабочий каталог ModelArts — /home/ma-user/work.Все файловые операции основаны на локальной системе, а программы и данные в obs не могут быть использованы напрямую.Поэтому метод чтения данных необходимо изменить. Добавьте код в начало блокнота:

import moxing as moxmox.file.shift('os', 'mox')

После выполнения python может поддерживать систему obs в большинстве файловых операций, таких как копирование файлов из obs в локальную систему:

shutil.copytree("s3://youziyolo/youzi/src","./src")

Где s3:// — префикс пути к файлу obs.

В исходном коде записной книжки есть содержимое для изменения локального рабочего каталога. В этом проекте рабочую локацию локального рабочего каталога увеличивать не нужно, достаточно сохранить /home/ma-user/work. Кроме того, все коды в этом проекте с самого начала были загружены в obs, не нужно загружать соответствующий код с помощью wget, а получить код и данные, скопировав из obs. Вы можете обратиться к следующему коду (работайте самостоятельно, чтобы вам нужно было изменить его в соответствии с указанным вами путем obs):

shutil.copytree("s3://youziyolo/youzi/src","./src")           # 程序源代码
shutil.copytree("s3://youziyolo/youzi/model","./model")       # 预训练模型
shutil.copytree("s3://youziyolo/youzi/data/raw","./rawdata")  # 原始数据

Базовая переменная модификация

В записной книжке есть раздел по основным настройкам переменных. Вещи, которые должны быть изменены здесь:

NUM_GPUS = 1 # Установить количество используемых графических процессоров BATCH_SIZE = 16 # Установить размер обучающей партии NUM_CLASSES = 1 # Установить количество классификаций в соответствии с реальной ситуацией NUM_EXAMPLES = 58 # Установить количество обучающих выборок

Подготовка обучающих и тестовых данных

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

Первое, что нужно отметить, это удалить индексный файл в каталоге src. Индексный файл сохраняет данные метки. Поскольку индексный файл, который поставляется с ним, имеет метку «Yunbao», его необходимо удалить. Регенерируется во время подготовки данных.

Функция get_data_iter() должна добавить два параметра val_file=None, split_spec=0,8, чтобы функция возвращала как обучающий набор, так и тестовый набор с соотношением 0,8:0,2.

Наконец, вы можете проверить, правильно ли распределено количество наборов данных с помощью len(train_data._dataset.label_cache) и len(val_data._dataset.label_cache).

1.5 Измените обучающий код для обучения

Инициализировать с помощью графического процессора

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

devs = mx.cpu() if NUM_GPUS is None or NUM_GPUS == 0 else [          
mx.gpu(int(i)) for i in range(NUM_GPUS)]

Инициализировать в соответствии с количеством NUM_GPUS. Когда он равен 0, процессор используется для инициализации среды.

базовая сеть нагрузки

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

Функция загрузки параметров — mx.model.load_checkpoint(model_prefix, epoch). Где modelprefix — префикс пути, а epoch — эпоха обучения, соответствующая загружаемой модели. Например, если вы хотите загрузить \home\ma-user\work\basemodel-0000.params, `mx.model.loadcheckpoint("\home\ma-user\work\basemodel", 0)` может загрузить модель правильно.

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

В исходном коде есть только обучающий код, но хорошо разработанная обучающая программа должна уметь оценивать результаты обучения на тестовом наборе каждую эпоху или каждые n эпох. Добавленный здесь код извлечен из файла trainyolov3.py в каталоге src. Главное добавить класс `Yoloeval и отзвониться через epochendcallback.append(). Конкретный код длинный, вы можете обратиться к части 5. Оценка результатов обучения в файле ноутбука, предоставленном этим проектом.

Здесь следует отметить ошибку: поскольку файл индекса, сгенерированный в процессе подготовки данных, будет использоваться в процессе оценки, если исходный файл индекса не будет удален, метки в процессе тестирования не будут соответствовать меткам в файле индекса. что приводит к расчету Fail. Поэтому, если вы измените тип или количество меток в исходных данных, обязательно удалите файл индекса, чтобы избежать сбоя процесса оценки.

начать обучение

После правильной настройки можно приступать к обучению и выполнять обучающий код. Обычно мАД постепенно увеличивается, может достигать 80-90%. На этом этапе может быть выполнена фаза проверки логического вывода.

1.6 Тест логических выводов и оптимизированное отображение

Содержание части рассуждений относительно простое, и здесь описаны ключевые моменты.

чтение изображений

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

file_name = r"s3://youziyolo/youzi/data/flight_test1.jpg"

Прочтите модель и протестируйте

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

оптимизировать отображение

Изображения в этом проекте имеют разрешение 4k.Для достижения наилучшего эффекта отображения размер figsize должен быть увеличен. Здесь используйте plt.figure(figsize=(32,18)) для отображения изображения, эффект лучше.

Отображение уровня достоверности также должно быть соответствующим образом настроено.Здесь параметры отображения уровня достоверности настроены на fontScale=1,5, толщина=3, что может сделать текст уровня достоверности отчетливо видимым.

2. Введение в программу

Эта программа использует yoloV3 для распознавания целей самолета и построена на основе проекта mxnetobjectiondetection в Huawei «ModelArts/Development Environment/notebook» и Examples.

Поскольку эта программа использует пакеты moxing и Modelarts, предоставленные Huawei, все программы и данные должны быть развернуты на объектах Huawei для использования ModelArts. Обучение и выводы этой программы демонстрируются с помощью возможностей обучения и выводов, предоставляемых ModelArts.

Данные изображения 2k, задействованные в этой программе, собираются самостоятельно, а аннотации заполняются и экспортируются через систему аннотаций Huawei ModelArts. Этот набор данных используется под лицензией Apache 2.0 с открытым исходным кодом.

Эта программа модифицирована из проекта обнаружения изображений mxnetobjectiondetection, предоставленного Huawei ModelArts. Все программы следуют лицензии с открытым исходным кодом Apache 2.0.

2.1 Введение в структуру каталогов

Основной программой, описанной в документе, является mxnet_yolov3.ipynb, расположенная в каталоге src.

Структура каталогов, описанная в этом документе, выглядит следующим образом, а часть, существующая только в пакете интеграции программы Baidu Cloud Data, выделена курсивом:

├── каталог данных данных

│ ├──каталог необработанных исходных данных и аннотаций

│ ├── Flight_test1.jpg Изображение, используемое для теста рассуждений

│ ├── Flight_test2.jpg Изображение, используемое для теста рассуждений

├── md_img каталог файлов изображений md

├── каталог моделей моделей

│ ├── Fine_tune-0000.params Параметры модели после переноса обучения можно использовать напрямую

│ ├── Fine_tune-symbol.json Символ модели после переноса обучения, который можно использовать напрямую

│ ├── darknet_53-0000.params Параметры сборной модели

│ └── символ сборной модели darknet_53-symbol.json

├── README.md

└── каталог исходного кода src

├── data каталог пакетов обработки данных

├── символ символ создает каталог пакета

├── Каталог пакетов инструментов utils

├── основной программный файл mxnet_yolov3.ipynb для обучающей программы и теста логического вывода

├── trainyolov3moxing.py Автономная программа для задач подготовки МА

├── train_yolov3.py Автономная программа для учебных задач магистратуры

└── yolov3_service.py Автономная программа для развертывания вывода MA

3. Развертывание программы и данных

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

3.1 Сбор данных

Ввиду большого пакета данных, используемого в этой программе, для удобства практики данные и код этой программы упакованы вместе и хранятся в облаке Baidu:

Ссылка: https://pan.baidu.com/s/1pEf1VeMEGrh3lHFFxtxZw&shfl=sharepset
Код извлечения: kkt7

Структура программы такая же, как и код, представленный в поиске сокровищ. В этом пакете кода есть больше ресурсов данных и моделей, обученных Fine_tune.Эти две части файла большие и поэтому не загружаются в git. Весь контент, содержащийся в этом пакете кода, находится под лицензией Apache 2.0 с открытым исходным кодом.

3.2 Загрузка данных

Рекомендуется упаковать и загрузить эту программу в систему наблюдения Huawei, а затем выполнить последующее обучение и спекуляцию. Причина, по которой obs используется для сохранения кода и файлов, основана на следующих причинах:

1. Huawei obs может поддерживать управление версиями файлов, что делает управление версиями более удобным для моделей и данных.

2. Доступ к файлам obs может осуществляться одновременно несколькими виртуальными машинами/докерами, что позволяет эффективно сохранять файлы и управлять ими на нескольких серверах.

3. ModelArts и obs глубоко интегрированы, с точки зрения обучения моделей для получения файлов и т.д., ModelArts удобнее для работы с obs, чем с другими внешними файлами.

Чтобы загрузить файлы в obs, вам сначала нужно создать ведро obs, которое представляет собой самую большую единицу хранения obs, аналогичную корневому каталогу. Наблюдатели, используемые в этом документе, могут использовать настройки по умолчанию. Однако нужно уделить внимание выбору региона сервера. Последующие объекты ModelArts должны выбирать тот же регион сервера для доступа к наблюдениям в том же регионе. В этом документе выбран регион «Северный Китай-Пекин». Имя корзины можно задать самостоятельно, в этом документе в качестве имени корзины используется "youziyolo".

Затем загрузите распакованный файл в obs. Перейдите в консоль obs->хранилище объектов->щелкните имя ведра в правом нижнем углу, здесь youziyolo->объект->загрузить объект, а затем загрузите каталог.

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

4. Обучение и оценка

Обучение можно проводить двумя способами: один — использовать «Среду разработки/блокнот» в ModelArts для обучения, а другой — обучать с помощью «Управления обучением/Обучающих заданий». Обучение на ноутбуке удобнее на этапе разработки. Используйте только метод тренировочной работы, а лучше использовать автоматический метод. Эта программа поддерживает два метода обучения одновременно. Здесь мы сосредоточимся на том, как выполнять обучение и оценку в Notebook. Позже мы кратко опишем, как использовать учебные задания для обучения.

4.1 Создание нового сервера Notebook

Выберите Среда разработки->Записная книжка->Создать, чтобы создать новый сервер записной книжки.Рекомендуется выбрать /youziyolo/youzi в obs в качестве места хранения, чтобы записную книжку, сохраненную в obs, можно было использовать напрямую. Если только логический вывод может использовать ЦП, рекомендуется использовать ГП, если требуется обучение, иначе скорость обучения будет очень низкой.

4.2 Запуск программы обучения

После успешного создания откройте /youziyolo/youzi/src/mxnet_yolov3.ipynb и последовательно запускайте программу, пока не начнется обучение, в файле блокнота. Здесь следует отметить несколько вещей.

1. "/youziyolo" в программе — это имя корзины наблюдений, используемой в этом документе. Во время процесса самотестирования измените имя youziyolo на собственное имя корзины, в противном случае будет сообщено об ошибке, потому что корзина не может быть правильно доступна. .

2. В этом документе представлены две модели предварительного обучения. Одна — darknet53, предварительно обученная на основе imagenet. Использование этой модели предварительного обучения требует много времени для обучения для достижения лучшего эффекта распознавания. Другой — это модель, которая была обучена распознавать самолеты в аэропортах и ​​называется Finetune. Модель не требует или требует лишь небольшого количества обучения для достижения эффективного распознавания. Это можно переключить, настроив параметр basemodelprefix.

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

 import moxing as mox mox.file.shift('os', 'mox')

Эта программа строго не различает обучающий набор и тестовый набор, но случайным образом выбирает варианты использования обучающего набора и тестового набора из исходных данных и числа 8: 2. Пропорция Параметр split_spec можно изменить, чтобы отрегулировать соотношение обучающего набора и тестового набора в процессе чтения набора данных с помощью функции getdataiter().

При использовании этого метода обработка большинства файлов python может поддерживать obs, а путь obs используется в формате «s3://bucket-name/dir/file», что значительно облегчает чтение и хранение файлов в процессе обучения.

4.3 Валидация результатов обучения

Эта программа использует стандартный mAP для проверки производительности модели и выполняет проверку модели после каждого раунда обучения.Формат результатов проверки аналогичен:

[('飞机', 0.80242209311072232), ('mAP', 0.80242209311072232)]

mAP, представляющий метку самолета, равен 0,8, а поскольку имеется только одна метка, общий mAP также равен 0,8.

Точная модель, предоставляемая этой программой, основана на модели предварительного обучения даркнета 53 для обучения миграции, всего обучается 200 эпох, размер пакета = 16, и обучение на одной карте p100 занимает 5 часов 45 минут. В результате mAP составил 0,8, как показано выше.

4.4 Обучение с помощью «Управление обучением/Обучающие работы»

Программы, описанные в этом документе, также могут быть обучены с использованием подхода «управление обучением/задание на обучение», который легко управляется версиями с помощью ModelArts и подходит для параллельного обучения многопараметрическим тестам. Однако метод обучения относительно сложен, и код обучения необходимо соответствующим образом скорректировать, чтобы он соответствовал функции управления обучением. Эта программа предоставляет соответствующий код, а основной код такой же, как и в блокноте. Поскольку автор не полностью понял эту функцию, эта часть кода предназначена только для справки разработчиками, которые хотят попробовать функцию обучающего задания.

Создайте файл журналов и папку вывода/модели под youziyolo obs. Тогда после создания обучающей задачи каждый параметр может ссылаться на следующий рисунок:

Затем начните обучение, и результаты будут сохранены в папке obs:/your-buckt/output/model/.

5. Прогностическое тестирование

После завершения обучения можно выполнить тест.Этот тест проводится в блокноте.Для справки в блокноте есть подробные комментарии к коду и описания процессов в «Тесте рассуждений модели». Могут быть получены результаты последовательного отображения и логического вывода. Вот лишь несколько моментов, на которые стоит обратить внимание:

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

shutil.copytree("s3://youziyolo/output/model/model/fine_tune-0000.params","./")shutil.copytree("s3://youziyolo/output/model/model/fine_tune-symbol.json","./")

Затем измените код, чтобы загрузить модель в

load_epoch = 0_, arg_params, aux_params = mx.model.load_checkpoint("./fine_tune", load_epoch)

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

5.2 Исходное изображение этой сцены большое, поэтому, пожалуйста, установите plt.figure(32,18) при отображении изображения, в противном случае изображение будет очень нечетким и повлияет на результат наблюдения.

Результаты предсказания следующие: Цвет прямоугольника на рисунке не имеет практического значения и используется только для облегчения наблюдения. Цифры на прямоугольниках — это уровни достоверности.

6. Протокол с открытым исходным кодом

Эта программа следует протоколу с открытым исходным кодом Apache 2.0 и ссылается на соответствующий контент ModelArts-Lab [https://github.com/huaweicloud/ModelArts-Lab.git].


Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~