Классификатор автомобилей
ЕЖЕДНЕВНО 9:00 — 21:00
8 921 842-52-52
Стоимость услуг автомойки «ЭМПА» мы определяем согласно классам автомобилей наших клиентов.
1-й класс
| Audi A2 | Mini Cooper | Suzuki Swift |
| Citroen C2, С3 | Mercedes-Benz A-сlass | Toyota Yaris |
| Daewoo Matiz | Mitsubishi Colt | VW Polo |
| Ford Ka | Opel Corsa | Volvo С30 |
| Honda Jazz | Peugeot 207 | ВАЗ |
| Hyundai Getz | Renault cleo, Simbol | Ока |
| Kia Picanto | Skoda Fabia | и т.п |
| Таврия | Smart | |
2-й класс
| Audi A3, A4, A5, A6, TT | Kia Seed, Rio | Skoda Octavia, SuperB |
| BMW Z3, 1, 3, 5 | Lexus IS 250,GS350 | Saab 9-3-5 |
| Citroen C4, C5 | Mazda 3, 6 | Subaru Impreza, Legacy |
| Chevrolet Lacetti, Lanos, Epica | Mercedes-Ben С,CLC,E,B, SLK | Toyota Corolla, Auris |
| Daewoo Nexia | Mitsubishi Lancer, Galant | Toyota Avensis,Camri |
| Ford Focus, Fusion, Mondeo | Nissan Almera, Primera, Tiana | VW Bora, Passat, Golf |
| Honda Civic, Accord | Opel Vectra, Insignia, Astra | Volvo S60, S70, S80 |
| Hyundai Elantra | Peugeot 307, 308, 407 | Волга |
| Jaguar X | Renault Megan,Logan | Нива и т. п. |
3-й класс
| Audi A8, Allroad | Honda CR-V, HR-V | Peugeot 607 |
| BMW 7 | Hyundai Tucson, Santa-fe | Suzuki Grand Vitara |
| BMW X3 | Kia Sportage, Sorento | Subaru Forester,Legacy Outback |
| Bentley Continental GT | Lexus LS | Toyota RAV 4 |
| Chrysler 300C | Mercedes-Benz S-class,GLK,CLS,CL-class | VW Phaeton |
| Citroen C6 | Mazda CX-7 | Volvo XC60 |
| Chevrolet Captiva | Mitsubishi Outlander, XL | и т.п. |
| Ford Maverick, C-max | Nissan X-trail, Qashqai | |
4-й класс
| Audi Q7 | KiaCarnival | Subaru Tribeca |
| Acura MDX, RDX | Land Rover Freelander | Toyota LandCruiser 100, 200, Prado |
| BMW X5, Х6 | Lexus RX, LX,GX | VW Touareg, Sharan |
| Chrysler Voyager | Mercedes-Benz G,GL,R,ML-class | Volvo XC90, S90 |
| Ford Galaxy | Mitsubishi Pajero, Pajero Sport | УАЗ |
| JEEP Grand Cherokee | NissanPatrol, Murano; Infinity FX; Pathfinder | и т. п. |
| Hummer h4 | Porsche Cayenne | |
| Hyundai Trajet | Range Rover |
5-й класс
| Chevrolet Tahoe, Suburban | Cadillac Escalade | Ford Transit | Hummer h2; h3 | Infinity QX 56 |
| Mercedes-Benz Viano, Vito | VW Transporter Multivan, Caravelle | Соболь | Газель | и т.п. |
ОТЗЫВЫ ОБ АВТОЦЕНТРЕ «ЭМПА»
Поиск по сайту:
© 2021 ООО «ЭМПА»
ПОЛИТИКА ЗАЩИТЫ И ОБРАБОТКИ ПЕРСОНАЛЬНЫХ ДАННЫХ
Все цены, указанные на сайте приведены как справочная информация и не являются публичной офертой, определяемой положениями статьи 437 Гражданского кодекса Российской Федерации и могут быть изменены в любое время без предупреждения.
Для получения подробной информации, пожалуйста, обращайтесь к консультантам Автоцентра «ЭМПА»
Классификатор автомобилей
| Марка | 1 класс | 2 класс | 3 класс | 3+ класс |
|---|---|---|---|---|
| ALFA ROMEO | 147, 159, Mito, Brera, Giulietta | |||
| ACURA | ILX, RLX, TSX, TL | MDX, RDX, ZDX | ||
| AUDI | A1, A2, A3, TT | A4, A5, A6, A7, Q3, Q5, Allroad | A8, S8, R8, Q7 | |
| BMW | 1, Z3, Z4 | 3, 4, 5, X1, X2, X3 | 6, 7, X4, X5, X6, GT | X7 |
| BENTLEY | Arnage, Continental GT, Flying Spur, Mulsanne | |||
| CADILLAC | ATS, BLS | CTS, STS | Escalade, SRX | Escalade ESV |
| CHEVROLET | Spark, Aveo, Cobalt, Cruze, Lacetti, Lanos | Camaro, Malibu, Niva, Orlando | Captiva, Trailblaizer | Tahoe, Van, Silverado |
| CHRYSLER | Crossfire, PT Cruiser | 200, 300, Sebring | Town & Country, Voyager | |
| CITROEN | C1, C2, C3, C4, DS3, Berlingo | C4 Picasso, C4 Aircross, Grand C4, C-crosser C5, C6, C8 | Jumpi Multispace | |
| CHERY | Tiggo 4 | Tiggo 7, Tiggo 8 | ||
| CHANGAN | CS 35, CS 55 | |||
| DODGE | Caliber | Challenger, Charger | Caravan, Journey | |
| FIAT | 500, Albea, Barchetta, Bravo, Linea, Punto, Stilo | Freemont, Panorama, Sedici | ||
| FORD | Fiesta, Ka, Focus, Fusion | C-max, Mondeo, Kuga, Maverick, Mustang | Explorer, Galaxy, S-max | F150, F250, F350 |
| GENESIS | G70, G80 | GV70, GV80, G90 | G90L | |
| GEELY | Coolray | Atlas | ||
| HONDA | Civic, Jazz | Accord, Crosstour, CR-V, Legend | Pilot | Odyssey |
| HYUNDAI | Getz, Accent, Elantra, Solaris, Veloster | I40, NF, Sonata, Santa Fe, IX35, Tucson | Equus, IX55 | Starex, H-1 |
| HUMMER | h2, h3, h4 | |||
| HAVAL | H5, H6, Jolion | F7, F7x, H9 | ||
| INFINITY | G25, Q50 (G), Q60 (G), Q70 (M), QX50 (EX) | QX60, QX70 (FX) | ||
| JAGUAR | E-type, F-type, S-type, XF | XK, XJ | ||
| JEEP | Compass, Cherokee, Liberty, Wrangler | Grand Cherokee, Wrangler Unlimited | ||
| KIA | Picanto, Cerato, Ceed, Rio, Spectra, Venga | Carens, Magentis, Opirus, Optima, K5, Soul, Sportage | Mohave, Sorento, Quoris | |
| LAND ROVER | Evoque, Freelander | Discovery, Defender, Range Rover RR Sport | Range Rover | |
| LEXUS | CT | ES, NX, GS, IS | LS, GX, RX | LX |
| MASERATI | Chibli, Granturismo, Quattroporte | |||
| MAYBACH | 57, 62, Guard | |||
| MINI | Cooper | Countryman, Paceman | ||
| MAZDA | 2, 3, MX-5, RX-8 | 5, 6, CX-5 | CX-7, CX-9 | BT-50 |
| MERCEDES | Smart, A, B, SLK | C, CLA, E, GLK | GL, M, R, S, SL, SLS | Vito, Viano, G-класс |
| MITSUBISHI | Colt, I-Miev, Carisma, Lancer | Galant, ASX, Outlander | Pajero | L200 |
| NISSAN | Micra, Almera, Note, Tiida | GTR, Primera, Teana, Juke, Qashqai, X-trail | Murano, Pathfinder | Navara, Patrol |
| OPEL | Corsa, Astra | Insignia, Meriva, Vectra, Antara, Mokka, Zafira | ||
| PEUGEOT | 107, 206, 207, 208, 301, 307, 308 | 407, 408, 508, 605, RCZ, Partner, 3008, 4007, 4008 | Boxer, Traveller | |
| PORSCHE | Boxster, Cayman, Macan, 911 | Cayenne, Panamera | ||
| RENAULT | Clio, Logan, Megane, Sandero, Symbol | Fluence, Kangoo, Latitude, Laguna, Scenic, Duster, Koleos | ||
| ROLLS-ROYCE | Ghost, Phantom, Wraith | |||
| SAAB | 900, 9-3 | 9000, 9-5 | ||
| SEAT | Ibiza, Leon | Altea Freetrack, Alhambra | ||
| SKODA | Fabia, Rapid | Roomster, Superb, Yeti, Karoq, Octavia | Kodiaq | |
| SUBARU | Impreza, XV | BRZ, Legacy, Forester, Outback | Tribeca | |
| SUZUKI | Splash, Liana, SX4, Swift | Kizashi, Grand Vitara | ||
| TOYOTA | Yaris, Auris, Corolla, Prius, Verso | Avensis, Camry, GT, RAV-4, Venza | LC Prado, Highlander | Alphard, LC200, LC300, Hiace, Sequoia, Tundra |
| VOLKSWAGEN | Lupo, Beattle, Bora, Golf, Polo, Sirocco, Jetta | Caddy, CC, Passat, Touran, Tiguan | Phaeton, Sharan, Touareg | Amarock, California, Multivan, Crafter |
| VOLVO | C30, C70, S40, | S60, S80, V40, XC60, XC70 | XC90 | |
| VAZ | Oka, Vesta, Granta, Kalina, Priora, 110-112, 2101-21099 | Largus, X-RAY, Niva, 2120 |
Классификация моделей автомобилей.
В этом посте я покажу результат для… | by Weng SengВ этом посте я покажу результат классификации моделей автомобилей с помощью ResNet (Residual Neutral Network). Я использую Python и Pytorch для создания модели. Шаги были аналогичны моему предыдущему проекту классификатора видов цветов, поэтому я кратко расскажу о некоторых ключевых шагах и результате.
Вы можете проверить мой репозиторий github здесь.
Набор данных
Я загружаю набор данных автомобилей Стэнфорда с Kaggle с помощью Kaggle API и сохраняю на своем диске Google.
# Клиент Kaggle API ожидает, что этот файл находится в ~/.kaggle,
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/# Это изменение разрешений позволяет избежать предупреждения при запуске инструмента Kaggle.
!chmod 600 ~/.kaggle/kaggle.json#mount my gdrive
from google.colab import drive
drive.mount('/content/drive')#download the dataset
!kaggle datasets download -d jutrera/stanford- car-dataset-by-classes-folder#распаковать файл
!unzip stanford-car-dataset-by-classes-folder.zip
Набор данных Cars содержит 16 185 изображений 196 классов автомобилей. Данные разделены на 8 144 обучающих изображения и 8 041 тестовое изображение.
Трансферное обучение
Трансферное обучение использовать знания, полученные при решении одной проблемы, и применять их к другой, но связанной проблеме.
Предварительно обученная модель здесь — ResNet (остаточная нейтральная сеть).
Искусственная нейронная сеть предсказывает результат, изучая примеры и предыдущий опыт. Вычисления искусственной нейронной сети выполняются параллельно и создают собственное представление информации, которую они получают во время обучения. В искусственной нейронной сети просто добавьте еще один слой, который является сверточным слоем.
Источник изображения: Towards Data ScienceДля получения дополнительных сведений об архитектуре ResNet вы можете обратиться сюда.
Вернемся к нашему случаю: мы получили 196 классов автомобилей в качестве общего количества выходных данных, поэтому нам нужно изменить выходной слой на 196.
196)
Точность проверки
ЭпохиЯ пробовал несколько параметров и продолжал запускать эпохи довольно много раз. В конце концов, с 10 эпохами это дает нам точность проверки 77,72%, что дает мне лучшее, что я пробовал. Тренировочный процесс действительно трудоемкий, просто нужно запастись терпением. Радость!
Посмотрим, что он на самом деле сделал!!
Для Mercedes-Benz S-Class Sedan 2012 модель предсказывала Mercedes-Benz E-Class Sedan 2012, что не соответствует действительности. Седан Mercedes-Benz S-класса 2012 года также не попал в топ-5 прогнозируемых классов.
Внедорожник BMW X6 2012 года был предсказан полуправильно, потому что он появился в третьем высшем классе. Предполагалось, что это будут высшие классы в результате прогнозирования, а не седан Ford Fiesta 2012 года.
Hyundai Veloster Hatchback 2012 года и Volkswagen Golf Hatchback 2012 года были хорошо предсказаны с более чем 30%.
Оба BMW 3 серии Седан 2012 года отличаются только углом обзора.
Левое изображение — вид спереди, правое — вид сзади.
На удивление оба разных вида BMW 3 предсказали правильно. Результат предсказания топ-5 в левой части был очень хорошим, потому что он предсказал, что все топ-5 классов будут BMW. В правой части результат также хороший, BMW появился в первой тройке.
Однако в этом случае BMW M5 Sedan 2010 не работает, он ошибся во всех пяти верхних классах прогнозирования. Ни одна модель автомобиля BMW не попала в результаты.
В этом случае обе модели были моделями внедорожников и были предсказаны правильно.
Вот оно!
Как использовать CNN для успешной классификации изображений автомобилей
Сверточные нейронные сети (CNN) — это современные архитектуры нейронных сетей, которые в основном используются для задач компьютерного зрения. CNN можно применять для решения ряда различных задач, таких как распознавание изображений, локализация объектов и обнаружение изменений. Недавно наш партнер Data Insights получил сложный запрос от крупной автомобильной компании: разработать приложение Computer Vision, которое могло бы идентифицировать модель автомобиля на заданном изображении.
Учитывая, что разные модели автомобилей могут казаться очень похожими, а любой автомобиль может выглядеть очень по-разному в зависимости от их окружения и угла, под которым они сфотографированы, такая задача до недавнего времени была просто невыполнима.
Однако, начиная примерно с 2012 года, «Революция глубокого обучения» позволила справиться с такой проблемой. Вместо того, чтобы объяснять концепцию автомобиля, компьютеры могли бы многократно изучать изображения и сами изучать такие концепции. За последние несколько лет дополнительные инновации в области искусственной нейронной сети привели к созданию ИИ, который может выполнять задачи классификации изображений с точностью человеческого уровня. Опираясь на такие разработки, мы смогли обучить Deep CNN классифицировать автомобили по их модели. Нейронная сеть была обучена на базе Stanford Cars Dataset, которая содержит более 16 000 изображений автомобилей, в том числе 196 различных моделей. Со временем мы могли видеть, что точность прогнозов стала улучшаться, поскольку нейронная сеть изучала концепцию автомобиля и то, как различать разные модели.
Вместе с нашим партнером мы создаем сквозной конвейер машинного обучения, используя Apache Spark™ и Koalas для предварительной обработки данных, Keras с Tensorflow для обучения моделей, MLflow для отслеживания моделей и результатов и Azure ML для развертывания. службы REST. Эта настройка в Azure Databricks оптимизирована для быстрого и эффективного обучения сетей, а также помогает гораздо быстрее опробовать множество различных конфигураций CNN. Даже после нескольких практических попыток точность CNN достигла около 85%.
Настройка искусственной нейронной сети для классификации изображений
В этой статье мы расскажем о некоторых основных методах, используемых при запуске нейронной сети в производство. Если вы хотите попытаться запустить нейронную сеть самостоятельно, полные блокноты с подробным пошаговым руководством можно найти ниже.
В этой демонстрации используется общедоступный набор данных Stanford Cars Dataset, который является одним из наиболее полных общедоступных наборов данных, хотя и немного устаревшим, поэтому вы не найдете модели автомобилей после 2012 года (хотя после обучения трансферное обучение может легко позволить новый набор данных для замены). Данные предоставляются через учетную запись хранения ADLS Gen2, которую можно подключить к рабочей области.
На первом этапе предварительной обработки данных изображения сжимаются в файлы hdf5 (один для обучения и один для тестирования). Затем это может быть прочитано нейронной сетью. Этот шаг можно полностью пропустить, если хотите, так как файлы hdf5 являются частью хранилища ADLS Gen2, предоставляемого как часть предоставленных здесь блокнотов.
- Загрузка набора данных Stanford Cars в файлы HDF5
- Использование Koalas для увеличения изображения
- Обучение CNN с помощью Keras
- Развертывание модели в качестве службы REST в Azure ML
Увеличение изображения с помощью Koalas
Количество и разнообразие собранных данных оказывает большое влияние на результаты, которых можно достичь с помощью моделей глубокого обучения.
Расширение данных — это стратегия, которая может значительно улучшить результаты обучения без необходимости фактического сбора новых данных. С помощью различных методов, таких как обрезка, дополнение и горизонтальное отражение, которые обычно используются для обучения больших нейронных сетей, наборы данных могут быть искусственно завышены за счет увеличения количества изображений для обучения и тестирования.
Применение дополнений к большому объему обучающих данных может быть очень дорогим, особенно при сравнении результатов различных подходов. С Koalas становится легко попробовать существующие фреймворки для увеличения изображений в Python и масштабировать процесс в кластере с несколькими узлами, используя знакомый для науки о данных API Pandas.
Кодирование ResNet в Keras
Когда вы разбиваете CNN, они состоят из разных «блоков» , каждый из которых просто представляет группу операций, применяемых к некоторым входным данным. Эти блоки можно условно разделить на:
- Идентификационный блок: Серия операций, сохраняющих форму данных.

- Блок свертки: Серия операций, которые уменьшают форму входных данных до меньшей формы.
CNN представляет собой серию блоков идентификации и блоков свертки (или блоков свертки), которые сводят входное изображение к компактной группе чисел. Каждое из этих полученных чисел (при правильном обучении) должно в конечном итоге сказать вам что-то полезное для классификации изображения. Остаточная CNN добавляет дополнительный шаг для каждого блока. Данные сохраняются как временная переменная перед применением операций, составляющих блок, а затем эти временные данные добавляются к выходным данным. Как правило, этот дополнительный шаг применяется к каждому блоку. В качестве примера на рисунке ниже показана упрощенная CNN для обнаружения рукописных чисел:
Существует множество различных методов реализации нейронной сети. Один из наиболее интуитивно понятных способов — через Keras. Keras предоставляет простую интерфейсную библиотеку для выполнения отдельных шагов, составляющих нейронную сеть.
Keras можно настроить для работы с серверной частью Tensorflow или серверной частью Theano. Здесь мы будем использовать серверную часть Tensorflow. Сеть Keras разбита на несколько слоев, как показано ниже. Для нашей сети мы также определяем клиентскую реализацию слоя.
Масштабный слой
Для любой пользовательской операции с обучаемыми весами Keras позволяет реализовать собственный слой. При работе с огромными объемами данных изображений можно столкнуться с проблемами памяти. Изначально изображения RGB содержат целочисленные данные (0-255). При запуске градиентного спуска как части оптимизации во время обратного распространения можно обнаружить, что целочисленные градиенты не обеспечивают достаточной точности для правильной настройки весов сети. Следовательно, необходимо изменить точность на float. Здесь могут возникнуть проблемы. Даже когда изображения уменьшены до 224x224x3, когда мы используем десять тысяч обучающих изображений, мы видим более 1 миллиарда записей с плавающей запятой.
В отличие от превращения всего набора данных в плавающую точность, лучше использовать «Масштабный слой», который масштабирует входные данные по одному изображению за раз и только тогда, когда это необходимо. Это следует применять после пакетной нормализации в модели. Параметры этого масштабного слоя также являются параметрами, которые можно изучить посредством обучения.
Чтобы использовать этот пользовательский слой также во время оценки, мы должны упаковать класс вместе с нашей моделью. С помощью MLflow мы можем добиться этого с помощью словаря Keras custom_objects, отображающего имена (строки) на пользовательские классы или функции, связанные с моделью Keras. MLflow сохраняет эти пользовательские слои с помощью CloudPickle и автоматически восстанавливает их при загрузке модели с помощью mlflow.keras.load_model() и mlflow.pyfunc.load_model().
mlflow.keras.log_model(модель, "модель", custom_objects={"Масштаб": Масштаб})
Отслеживание результатов с помощью MLflow и машинного обучения Azure
Разработка машинного обучения связана с дополнительными сложностями помимо разработки программного обеспечения.
Наличие множества инструментов и сред затрудняет отслеживание экспериментов, воспроизведение результатов и развертывание моделей машинного обучения. Вместе с Машинным обучением Azure можно ускорить и управлять жизненным циклом сквозного машинного обучения с помощью MLflow для надежного создания, совместного использования и развертывания приложений машинного обучения с помощью Azure Databricks.
Для автоматического отслеживания результатов существующую или новую рабочую область Azure ML можно связать с рабочей областью Azure Databricks. Кроме того, MLflow поддерживает автоматическое ведение журнала для моделей Keras (mlflow.keras.autolog()), что делает работу практически легкой.
Хотя встроенные в MLflow утилиты сохранения моделей удобны для упаковки моделей из различных популярных библиотек машинного обучения, таких как Keras, они не охватывают все варианты использования. Например, вы можете захотеть использовать модель из библиотеки ML, которая явно не поддерживается встроенными вариантами MLflow.
Кроме того, вы можете упаковать пользовательский код вывода и данные для создания модели MLflow. К счастью, MLflow предоставляет два решения, которые можно использовать для выполнения этих задач: пользовательские модели Python и пользовательские ароматы.
В этом сценарии мы хотим убедиться, что можем использовать механизм вывода модели, который поддерживает обслуживание запросов от клиента REST API. Для этого мы используем пользовательскую модель, основанную на ранее построенной модели Keras, чтобы принять объект JSON Dataframe, внутри которого находится изображение в кодировке Base64.
импортировать mlflow.pyfunc
класс AutoResNet150 (mlflow.pyfunc.PythonModel):
защита предсказать_из_картинки (я, img_df):
импортировать cv2 как cv
импортировать numpy как np
импортировать base64
# декодирование изображения в кодировке base64, используемого для передачи по http
img = np.frombuffer(base64.b64decode(img_df[0][0]), dtype=np.uint8)
img_res = cv.
resize (cv.imdecode (img, flags = 1), (224, 224), cv.IMREAD_UNCHANGED)
rgb_img = np.expand_dims (img_res, 0)
preds = self.keras_model.predict(rgb_img)
prob = np.max (предыдущие)
class_id = np.argmax (предыдущие)
return {"label": self.class_names[class_id][0][0], "prob": "{:.4}".format(prob)}
def load_context (я, контекст):
импортировать scipy.io
импортировать numpy как np
импортировать h5py
импортировать керас
импортировать облачный огурец
из keras.models импортировать load_model
саморезультаты = []
с open(context.artifacts["cars_meta"], "rb") в виде файла:
# загрузить файл классов автомобилей
cars_meta = scipy.io.loadmat (файл)
self.class_names = cars_meta['class_names']
self.class_names = np.transpose (self.class_names)
с open(context.artifacts["scale_layer"], "rb") в виде файла:
self.scale_layer = cloudpickle.load(файл)
с open(context.artifacts["keras_model"], "rb") в виде файла:
f = h5py.
File (имя файла, 'r')
self.keras_model = load_model(f, custom_objects={"Масштаб": self.scale_layer})
def прогнозировать (я, контекст, model_input):
вернуть self.predict_from_picture (model_input)
На следующем шаге мы можем использовать эту модель py_model и развернуть ее на сервере Azure Container Instances, что может быть достигнуто с помощью интеграции MLflow с Azure ML.
Развертывание модели классификации изображений в экземплярах контейнеров Azure
К настоящему моменту у нас есть обученная модель машинного обучения, и мы зарегистрировали модель в нашей рабочей области с помощью MLflow в облаке. В качестве последнего шага мы хотели бы развернуть модель как веб-службу в Azure Container Instances.
Веб-служба — это образ, в данном случае образ Docker. Он инкапсулирует логику оценки и саму модель. В этом случае мы используем наше пользовательское представление модели MLflow, которое дает нам контроль над тем, как логика оценки обрабатывает изображения из клиента REST и как формируется ответ.
# Создание образа контейнера машинного обучения Azure для модели MLflow
azure_image, azure_model = mlflow.azureml.build_image(
model_uri="{}/py_model"
.format(resnet150_latest_run.info.artifact_uri),
image_name="car-resnet150",
имя_модели="car-resnet150",
рабочая область = ws,
синхронный = Истина)
webservice_deployment_config = AciWebservice.deploy_configuration()
# определение спецификаций контейнера
aci_config = AciWebservice.deploy_configuration(cpu_cores=3.0, memory_gb=12.0)
веб-сервис = веб-сервис.deploy_from_image(
изображение = лазурное_изображение,
рабочая область = ws,
имя = "автомобиль-resnet150",
развертывание_config = aci_config,
перезаписать = Истина)
webservice.wait_for_deployment()
Container Instances — отличное решение для тестирования и понимания рабочего процесса. Для масштабируемых производственных развертываний рассмотрите возможность использования службы Azure Kubernetes.
Дополнительные сведения см. в разделе о том, как развертывать и где.
Приступая к работе с классификацией изображений CNN
В этой статье и блокнотах демонстрируются основные методы, используемые при настройке сквозного обучения рабочему процессу и развертыванию нейронной сети в рабочей среде Azure. Упражнения связанной записной книжки проведут вас через необходимые шаги по созданию этого в вашей собственной среде Azure Databricks с помощью таких инструментов, как Keras, Databricks Koalas, MLflow и Azure ML.
Developer Resources
- Notebooks:
- Load Stanford Cars dataset into HDF5 files
- Use Koalas for image augmentation
- Train the CNN with Keras
- Deploy model as REST service to Azure ML
- Video : https://www.youtube.com/watch?v=mxEqcIbPqPs
- GitHub: https://github.com/EvanEames/Cars
- Слайды: https://www.


п.
п.
zip 
resize (cv.imdecode (img, flags = 1), (224, 224), cv.IMREAD_UNCHANGED)
rgb_img = np.expand_dims (img_res, 0)
preds = self.keras_model.predict(rgb_img)
prob = np.max (предыдущие)
class_id = np.argmax (предыдущие)
return {"label": self.class_names[class_id][0][0], "prob": "{:.4}".format(prob)}
def load_context (я, контекст):
импортировать scipy.io
импортировать numpy как np
импортировать h5py
импортировать керас
импортировать облачный огурец
из keras.models импортировать load_model
саморезультаты = []
с open(context.artifacts["cars_meta"], "rb") в виде файла:
# загрузить файл классов автомобилей
cars_meta = scipy.io.loadmat (файл)
self.class_names = cars_meta['class_names']
self.class_names = np.transpose (self.class_names)
с open(context.artifacts["scale_layer"], "rb") в виде файла:
self.scale_layer = cloudpickle.load(файл)
с open(context.artifacts["keras_model"], "rb") в виде файла:
f = h5py.
File (имя файла, 'r')
self.keras_model = load_model(f, custom_objects={"Масштаб": self.scale_layer})
def прогнозировать (я, контекст, model_input):
вернуть self.predict_from_picture (model_input)
