Изучаем ONNX для применения в трейдинге - страница 8

 

Импорт нейронных сетей с ONNX



Импорт нейронных сетей с ONNX

В этом видео рассказывается о важности проекта Open Neural Network Exchange (ONNX) для машинного обучения и его преимуществах при преобразовании моделей с помощью различных инструментов. Докладчик обсуждает проблемы загрузки моделей вручную или с использованием автоматизированных инструментов и то, как ONNX устраняет эту проблему с помощью своей вычислительной модели на основе графов. Докладчик также отмечает преимущества ONNX в ручном преобразовании сложных моделей и его совместимость с различными фреймворками. Видео затрагивает параметризованные сетевые модели, структуру ONNX и потенциальные проблемы, которые могут возникнуть при использовании проекта. Несмотря на эти проблемы, спикер считает, что ONNX будет процветать благодаря существенной поддержке со стороны различных компаний.

  • 00:00:00 В этом разделе спикер обсуждает важность ONNX в машинном обучении и трудности, возникающие при загрузке моделей вручную или автоматизированными инструментами. Спикер объясняет, что с появлением PyTorch и TensorFlow большинство моделей разрабатываются в этих фреймворках, что затрудняет перенос внешних моделей в другие фреймворки. Ручной процесс преобразования моделей отнимает много времени и утомителен, поскольку этот процесс включает в себя привязку весов к архитектуре, что не очень весело. Затем докладчик обсуждает рост репозитория нейронной сети и то, как они добавили несколько моделей в репозиторий, начиная с версии 12. Они также представляют MobileNet, сеть классификации изображений, представленную в 2018 году, которая уменьшает размер сетей классификации изображений и запускает Быстрее.

  • 00:05:00 посвящен важности параметризованных сетевых моделей и тому, почему они необходимы в репозитории нейронных сетей. Без параметризации репозиторий стал бы слишком длинным и сложным для навигации. Также объясняется, как выбрать модель, отличную от модели по умолчанию, и приводится пример модели BPE, которая разбивает сегменты на слова или подслова в зависимости от языка. В этом разделе также подчеркивается необходимость ручного преобразования ONNX, поскольку ручное преобразование сложных моделей, таких как знаменитая модель, выпущенная 14 февраля 2019 г., может быть сложной задачей.

  • 00:10:00 В этом разделе спикер подробно описывает функцию сетевого кодировщика, используемую в модели GPD2. Эта функция имеет всю необходимую для модели предварительную обработку и преобразует строку в список токенов. Кроме того, он дает позиционный индекс и имеет вектор размером 768, в зависимости от размера используемой модели. Спикер поясняет, что создать архитектуру 800-1000-уровневой сети вручную было невозможно, поэтому им понадобился ONNX. Преимущество использования ONNX заключается в том, что он устраняет необходимость поддерживать один конвертер для каждого типа и имеет зоопарк моделей, который пользователи могут использовать для эффективного импорта различных моделей.

  • 00:15:00 В этом разделе ютубер обсуждает преимущества и характеристики проекта Open Neural Network Exchange (ONNX). Проект позволяет преобразовывать модели из современных инструментов, упрощая выбор лучшего инструмента для создания моделей. ONNX имеет обширный список партнеров сообщества, включая крупные компании, что позволяет легко перемещать модели между различными инструментами. Проект предоставляет средства аппаратной оптимизации и средства визуализации, которых нет во многих других фреймворках. Ютубер считает, что, поскольку проект пользуется значительной поддержкой различных компаний, он будет продолжать процветать.

  • 00:20:00 В этом разделе спикер обсуждает структуру ONNX, вычислительной модели на основе графа, в которой операторы реализованы вне графа. Каждый узел в графе упоминается как оператор и имеет один или несколько входов и выходов, которые должны быть переносимыми между платформами. Докладчик приводит пример работы ONNX, демонстрируя внутреннюю функцию, которая берет модель в формате протокола и преобразует ее в математическую ассоциацию. График содержит метаданные, относящиеся к модели. Затем спикер объясняет, как граф имеет разные узлы, и тратит время на обсуждение свойств слоя свертки, который является одним из узлов графа. Наконец, он показывает, как получить информацию о размерах слоя.

  • 00:25:00 В этом разделе спикер обсуждает некоторые вопросы, которые могут возникнуть при работе с ONNX. Существуют определенные ошибки, которые могут возникнуть с оператором изменения формы, когда он не имеет размеров значка, поэтому охват оператора необходимо улучшить для поддержки таких случаев. Докладчик упоминает, что в будущем предстоит проделать работу по добавлению поддержки RNN и статических гиперсетей, а также по подключению других инструментов, таких как вывод версий и форм и средства проверки моделей. Кроме того, работа над улучшением покрытия операторов еще не завершена. Однако спикер отмечает, что ONNX активно развивается и пользуется поддержкой крупных компаний.
Importing Neural Networks with ONNX
Importing Neural Networks with ONNX
  • 2020.04.08
  • www.youtube.com
Tuseeta Banerjee
 

Импорт и экспорт нейронных сетей с помощью ONNX



Импорт и экспорт нейронных сетей с помощью ONNX

Видео демонстрирует использование ONNX в качестве кроссплатформенной спецификации и формата файла для моделей машинного обучения для обмена моделями между различными платформами нейронных сетей. Спикеры показывают, как импортировать и экспортировать нейронные сети с помощью ONNX через Mathematica и Keras, а также как проверять и импортировать метаданные, а также задавать метаданные при экспорте. Они также обсуждают экспорт и импорт моделей между Core ML, PyTorch и Wolfram Language, а также важность использования правильного смещения во время преобразования. Выступающие обсуждают будущее ONNX, в том числе расширение поддержки импорта и экспорта, улучшение сложных случаев для импортера и возможность экспорта в несколько версий набора операторов. Кроме того, спикер объясняет разницу между ONNX и MXNet и предоставляет информацию о том, как проверить, какие функции можно экспортировать в ONNX с помощью внутренних утилит.

  • 00:00:00 В этом разделе Маттео Сальварезза и Мария Сарксян представляют ONNX, кросс-платформенную спецификацию и формат файла для моделей машинного обучения, который позволяет различным платформам нейронных сетей обмениваться моделями друг с другом. Они демонстрируют, как импортировать и экспортировать нейронные сети с помощью ONNX через Mathematica и Keras, показывая, как проверять и импортировать метаданные и как устанавливать метаданные при экспорте. Затем они демонстрируют преобразование модели Fortnite из Mathematica в Keras, а затем в ONNX, прежде чем импортировать ее обратно в Mathematica.

  • 00:05:00 В этом разделе спикер обсуждает модель сегментации, которая разделяет изображение на белое и серое вещество для обозначения различных анатомических тканей человеческого мозга. Архитектура этой модели состоит из общего кодера блочного типа и отдельных декодеров. Докладчик описывает процесс экспорта изображения мозга в файл JPEG, его импорта в Python, запуска модели для оценки изображения и экспорта сегментированного изображения в файл NS для импорта обратно в Mathematica. Этот процесс включает в себя использование библиотеки OneNext и выполнение дополнительной проверки с последующим импортом экспорта ONNX, настройкой ввода для модели Keras, созданием прогноза и экспортом сегментированного изображения в файл NS. Наконец, спикер отмечает важность обеспечения того, чтобы импортируемый диапазон изображения был от нуля до единицы и делился на 255.

  • 00:10:00 В этом разделе видео спикер обсуждает импорт и экспорт нейросетей с помощью ONNX. Они упоминают возможность экспорта моделей из Keras в ONNX, а затем импортировать их обратно в Mathematica. Докладчик подчеркивает важность использования правильного смещения в процессе преобразования и отмечает, что некоторые операции, возможно, придется заменить операторами хирургии сети. Затем они демонстрируют, как перенести модель из Core ML в ONNX с помощью пакета инструментов ONNX ML и как экспортировать предварительно обученную модель и ее классы в Core ML. В видео подчеркивается, что процесс состоит из множества этапов, и приводятся примеры, которые пользователи могут оценить самостоятельно.

  • 00:15:00 В этом разделе спикер объясняет, как экспортировать из ONNX в Core ML, включая коррекцию среднего и дисперсии, используя соответствующие функции. Они также охватывают преобразование сети из PyTorch в ONNX, а затем в полный язык Wolfram. Процесс включает в себя необходимые операции, чтобы сделать окончательный формат пригодным для использования, и спикер показывает, как они смогли получить пригодный для использования формат и оценить его. Наконец, спикер демонстрирует последний шаг перехода от языка Wolfram к PyTorch через ONNX, беря предварительно обученную сеть и классы и экспортируя их.

  • 00:20:00 В этом разделе видео спикеры обсуждают импорт и экспорт нейросетей с ONNX. Они объясняют, что после загрузки модели ONNX ее можно преобразовать и оценить в PyTorch, и используются такие преобразования, как изменение размера, обрезка по центру и нормализация. Модель оценивается для получения трех классов с наивысшими вероятностями. Затем докладчики переходят к обсуждению будущего импорта и экспорта ONNX, включая расширение поддержки импорта и экспорта, улучшение сложных случаев для импортера и возможность экспорта в несколько версий набора операторов.

  • 00:25:00 В этом разделе спикер объясняет разницу между ONNX и MXNet. MXNet — это полная структура нейронной сети, а ONNX — это просто формат файла, используемый для экспорта и импорта нейронных сетей. Спикер также упомянул, что существует отдельное программное обеспечение под названием ONNX runtime, которое выступает в качестве фактического фреймворка. Спикер также дает информацию о том, как проверить, какие функции можно экспортировать в ONNX с помощью внутренних утилит.
 

Преобразование модели Tensorflow в формат ONNX — обнаружение эмоций человека



Преобразование модели Tensorflow в формат Onnx — обнаружение эмоций человека

В видео обсуждаются преимущества преобразования предварительно обученных моделей TensorFlow в формат ONNX, который обеспечивает общий формат для представления моделей машинного обучения, которые можно интерпретировать на разных аппаратных платформах с помощью среды выполнения ONNX. Преобразовывая модели, разработчики могут более эффективно запускать их в различных средах или более легко использовать их с другими практиками. Видео демонстрирует процесс преобразования моделей TensorFlow и Keras в формат ONNX с использованием инструментов и спецификаций, представленных в репозитории ONNX GitHub, и показывает, как формат ONNX оптимизирует модель и сокращает время выполнения прогнозов. Модель ONNX также превосходит модель TensorFlow для обнаружения человеческих эмоций на ЦП.

  • 00:00:00 В этом разделе видео ведущий обсуждает формат ONNX, что означает открытый обмен нейронными сетями. Стандарт ONNX, совместно разработанный Microsoft, Facebook и AWS, обеспечивает общий формат для представления моделей машинного обучения, которые можно интерпретировать на разных аппаратных платформах с помощью среды выполнения ONNX. Преобразовывая предварительно обученные модели TensorFlow в формат ONNX, разработчики могут затем преобразовывать их в модели в других средах, таких как PyTorch, что позволяет моделям работать еще более эффективно в другой среде или использоваться другими практиками. Среда выполнения ONNX — это облегченный модульный механизм логического вывода, который позволяет разработчикам запускать модели ONNX на любой выбранной ими аппаратной платформе. В целом докладчик подчеркивает гибкость и простоту преобразования моделей в формат ONNX, что облегчает разработчикам работу с любой выбранной ими структурой, а также гарантирует, что их модели могут работать на любой аппаратной платформе.

  • 00:05:00 В этом разделе видео рассказывается о процессе преобразования модели TensorFlow в формат ONNX с использованием инструмента TensorFlow to ONNX и среды выполнения ONNX. В видео поясняется, что в то время как первоначальная модель TensorFlow имела размер почти один гигабайт и требовала столько же места для развертывания, оптимизированная версия ONNX составляет всего 327 мегабайт. Кроме того, в видео показано, как преобразовать модель Keras в формат ONNX с использованием спецификаций, представленных в репозитории ONNX GitHub. Наконец, видео заканчивается упоминанием о том, что преобразованную модель можно проверить на предмет логического вывода.

  • 00:10:00 В этом разделе спикер объясняет, как запустить модель ONNX с помощью среды выполнения ONNX, которая устраняет необходимость в TensorFlow, путем демонстрации модели обнаружения эмоций, работающей на ЦП. Во-первых, докладчик показывает, как указать поставщика исполнения ЦП и импортировать среду выполнения ONNX. Затем спикер подчеркивает важность правильного указания выходных имен и передает входное изображение с помощью NumPy вместо TensorFlow. Модель ONNX, которая предоставляет вероятности для эмоций, способна обнаруживать эмоции во входном изображении и создавать те же вероятности гораздо быстрее, поскольку не требует TensorFlow. Импортируя библиотеку времени, спикер демонстрирует разницу в скорости между запуском модели обнаружения эмоций с помощью TensorFlow и средой выполнения ONNX.

  • 00:15:00 В этом разделе видео докладчик демонстрирует, как измерить время вывода для моделей TensorFlow и ONNX с использованием как ЦП, так и ГП. Модель TensorFlow с графическим процессором запускается за 0,15 секунды, а модель ONNX с процессором — за 0,5 секунды. Затем ведущий устанавливает среду выполнения ONNX с графическим процессором и перезапускает среду выполнения, чтобы учесть версию графического процессора. Наконец, время вывода для модели ONNX с графическим процессором измеряется и сравнивается с моделью TensorFlow.

  • 00:20:00 В этом разделе видео показывает процесс преобразования модели TensorFlow в формат ONNX и то, как он может оптимизировать исходную модель TensorFlow. Формат ONNX позволяет оптимизировать модель и сократить время выполнения прогнозов. Видео демонстрирует запуск исходной модели TensorFlow с графическим и центральным процессором, затем формат ONNX с графическим процессором, а затем тестирование обеих моделей со 100 прогнозами для измерения среднего времени на прогноз. Модель ONNX привела к тому, что среднее время одного прогноза составило 23 миллисекунды, что в шесть раз быстрее, чем исходная модель TensorFlow.

  • 00:25:00 В этом разделе спикер обсуждает производительность модели ONNX по сравнению с моделью Tensorflow для обнаружения человеческих эмоций. Используя ЦП, модель ONNX работает примерно в два раза быстрее, чем модель Tensorflow. Докладчик приводит конкретный пример, заявляя, что 0,8, разделенное на 0,35, было выполнено с обеими моделями, а модель ONNX превзошла Tensorflow.
Converting Tensorflow model to Onnx format - Human emotions detection
Converting Tensorflow model to Onnx format - Human emotions detection
  • 2023.01.13
  • www.youtube.com
In this section we continue our human emotions detection project. We shall focus on converting the trained Tensorflow model into the Onnx format.Colab Notebo...
 

Как преобразовать практически любую модель PyTorch в ONNX и обслуживать ее с помощью flask



Как преобразовать практически любую модель PyTorch в ONNX и обслуживать ее с помощью flask

В видеоуроке показано, как преобразовать модель PyTorch в формат ONNX и обслуживать ее с помощью Flask. Ведущий начинает с импорта набора данных и определения модели с использованием параллельных данных, после чего загружает веса модели и экспортирует ее в ONNX. В видео показано, как создать конечную точку Flask для обслуживания модели ONNX с последующим преобразованием тензоров в массивы numpy и получением выходных данных из модели. Выступающий также применяет сигмовидную функцию к выходным данным модели, чтобы преобразовать их в вероятность от 0 до 1. Наконец, они переключают устройство на ЦП для справедливого сравнения и демонстрируют более быстрое время отклика API. В заключение видео отмечается, что существует множество способов оптимизировать модели ONNX для повышения производительности, и предлагается зрителям поделиться своими отзывами в разделе комментариев.

  • 00:00:00 В этом разделе видео обсуждается, как преобразовать модели PyTorch в формат ONNX и как создать конечную точку Flask для ее обслуживания. В видео используется модель настроения птиц в качестве базовой модели с небольшими изменениями параметров максимальной длины и размера партии. Затем в видео показано, как импортировать необходимые зависимости и написать основную функцию для преобразования, включая указание входной формы. В видео также рассказывается, как сохранить преобразованную модель и как создать конечную точку Flask для обслуживания модели.

  • 00:05:00 В этом разделе видео ведущий обсуждает, как преобразовать модель PyTorch в ONNX и обслуживать ее с помощью Flask. Они начинают с импорта набора данных, а затем определяют модель с использованием параллельных данных. Затем они загружают веса модели и переводят модель в режим оценки. Они показывают, как получить входные данные, просматривая модель и определяя, что входные данные представляют собой идентификаторы, маски и идентификаторы типов токенов. Затем ведущий показывает, как экспортировать модель в формат ONNX, указав три имени входа и имя выхода. Они также определяют динамическую ось, которая представляет собой словарь, указывающий, какие входы или выходы имеют динамическую форму.

  • 00:10:00 В этом разделе видео показано, как преобразовать модель PyTorch в формат ONNX с помощью кода «преобразовать в ONNX» для запуска модели с помощью Flask. Модель PyTorch сначала преобразуется в ONNX, а затем создается новый файл для прогнозирования модели ONNX. В видео показано, как указать сеанс для модели ONNX, демонстрируя, что среду выполнения ONNX можно импортировать, а затем модель можно загрузить в сеанс логического вывода. В видео поясняется, что вывод и отправка модели на устройство не нужна и что будет что-то возвращаться.

  • 00:15:00 В этом разделе видеоурока спикер демонстрирует, как создать простой словарь для ввода ONNX в PyTorch, что крайне важно, поскольку ONNX не принимает все тензоры. Словарь состоит из ключей в виде имен и значений в виде тензоров PyTorch. Чтобы преобразовать тензоры в ошибки numpy, создается функция to numpy с использованием команд «detach» и «requires grad». Затем докладчик демонстрирует, как получить выходные данные модели, вызвав функцию model.run с соответствующими аргументами. Наконец, вывод можно распечатать напрямую или вернуть для использования в Flask.

  • 00:20:00 В этом разделе докладчик применяет сигмовидную функцию к выходным данным модели PyTorch, чтобы преобразовать выходные данные в вероятность от 0 до 1. Они демонстрируют, как написать простую сигмоидальную функцию, а затем включить ее в Flask API для модели ONNX. Они также показывают, как запустить API на локальном хосте и порту, и демонстрируют, как тестировать API с помощью запроса curl. Наконец, докладчик переключает устройство на ЦП для справедливости по сравнению со старым API, который работал на графическом процессоре, и снова запускает API, чтобы продемонстрировать более быстрое время отклика.

  • 00:25:00 В этом разделе видео спикер завершает урок о том, как конвертировать модели PyTorch в ONNX и обслуживать их с помощью Flask. Они сравнивают время старых и новых запросов, которые кажутся похожими, и отмечают, что существует множество других оптимизаций, которые пользователи могут применить к моделям ONNX для дальнейшего повышения их производительности. Спикер призывает зрителей поэкспериментировать с возможностями, которые ONNX может предложить для распространения моделей в различных средах, и в заключение поблагодарил зрителей за просмотр и предложил им поделиться своими предложениями в разделе комментариев.
 

Как преобразовать модель PyTorch в Tensorflow | onnx.ai | Машинное обучение | Магия данных



Как преобразовать модель PyTorch в Tensorflow | onnx.ai | Машинное обучение | Магия данных

В этом видео ведущий демонстрирует, как использовать библиотеку Open Neural Network Exchange (ONNX) для преобразования модели PyTorch в модель TensorFlow. Подробно обсуждаются преимущества и использование библиотеки ONNX, а в качестве примера используется модель PyTorch, созданная для идентификации рукописных чисел. Показан процесс обучения модели и преобразования ее в формат ONNX перед ее загрузкой в TensorFlow для прогнозирования на образцах изображений. Полученная модель TensorFlow сохраняется в виде файла .pb, демонстрируя, как можно использовать библиотеку ONNX для преобразования любой модели PyTorch в TensorFlow.

  • 00:00:00 В этом разделе ведущий обсуждает, как преобразовать модель PyTorch в модель TensorFlow с помощью библиотеки Open Neural Network Exchange (ONNX). Библиотека ONNX — это библиотека с открытым исходным кодом, целью которой является повышение совместимости различных отраслевых библиотек машинного обучения. Докладчик объясняет преимущества и использование библиотеки и демонстрирует, как установить ее и ее зависимые библиотеки. Модель PyTorch создается для идентификации рукописных чисел, и докладчик показывает, как обучить и протестировать модель с помощью библиотеки ONNX. Код для модели PyTorch подробно не обсуждается, так как это не основное внимание в видео.

  • 00:05:00 В этом разделе стенограмма обсуждает процесс преобразования обученной модели PyTorch в модель TensorFlow с использованием библиотеки Neural Network Exchange (ONNX). Во-первых, модель PyTorch обучается и сохраняется в виде файла mnist.pth. Затем модель преобразуется в формат ONNX и загружается в TensorFlow для прогнозирования образцов изображений. Наконец, модель TensorFlow сохраняется в виде файла .pb. Процесс демонстрирует, как использовать библиотеку ONNX для преобразования любой модели PyTorch в TensorFlow.

  • 00:10:00 Этот отрывок не содержит какого-либо соответствующего содержания для обобщения, поскольку он состоит только из заключительных замечаний докладчика, в том числе благодарственного сообщения и призыва к действию для зрителей поставить лайк и подписаться. Спикер также предлагает зрителям задавать вопросы и дает ссылки на код и ресурсы, использованные в видео.
How to convert PyTorch model to Tensorflow | onnx.ai | Machine Learning | Data Magic
How to convert PyTorch model to Tensorflow | onnx.ai | Machine Learning | Data Magic
  • 2021.06.09
  • www.youtube.com
Hello Friends, In this episode, I am going to show you- How we can convert PyTorch model into a Tensorflow model. We are going to make use of ONNX[Open Neura...
 

Как преобразовать модель Tensorflow/модели tflite в ONNX



Как преобразовать модели Tensorflow/tflite в ONNX для импорта в единство

tf2onnx преобразует модели TensorFlow (tf-1.x или tf-2.x), tf.keras и tflite в ONNX через командную строку или Python API.

https://github.com/onnx/tensorflow-onnx

How to convert Tensorflow model/tflite models to ONNX for importing it into unity
How to convert Tensorflow model/tflite models to ONNX for importing it into unity
  • 2021.06.07
  • www.youtube.com
tf2onnx converts TensorFlow (tf-1.x or tf-2.x), tf.keras and tflite models to ONNX via command line or python api.https://github.com/onnx/tensorflow-onnx
 

Преобразование модели Pytorch (pytorch lightning) в модель onnx с переменным размером пакета



Преобразование модели Pytorch (pytorch lightning) в модель ONNX с переменным размером пакета

В этом руководстве мы узнаем, как преобразовать модель Pytorch (pytorch Lightning) в модель ONNX с переменным/динамическим размером пакета.

Convert Pytorch (pytorch lightning ) model to onnx model with variable batch size
Convert Pytorch (pytorch lightning ) model to onnx model with variable batch size
  • 2021.11.28
  • www.youtube.com
In this tutorial we will learn how Convert Pytorch (pytorch lightning ) model to onnx model with variable/dynamic batch size
 

Поддержка экспорта PyTorch в ONNX — Лара Хайдар, Microsoft



Поддержка экспорта PyTorch в ONNX — Лара Хайдар, Microsoft

Лара Хайдар из Microsoft объясняет преимущества функции экспорта моделей PyTorch ONNX, позволяющей перемещать модели из исследовательской в производственную и запускать на различном оборудовании. Она утверждает, что среда выполнения ONNX стала очень популярной, и сейчас ее используют миллионы устройств, что дает заметный прирост производительности. Кроме того, поддержка экспорта ONNX теперь включает в себя улучшения охвата моделей, оптимизацию производительности и поддержку бэкэнда, чтобы модели могли работать в разных версиях с разными бэкендами. Наконец, Лара призывает пользователей тестировать экспортированные модели и делиться отзывами для дальнейшего улучшения этой функции.

PyTorch ONNX Export Support - Lara Haidar, Microsoft
PyTorch ONNX Export Support - Lara Haidar, Microsoft
  • 2019.11.06
  • www.youtube.com
The PyTorch ONNX exporter allows trained models to be easily exported to the ONNX model format. Learn about the latest updates including increased model cove...
 

296 — Преобразование обученной модели keras в формат ONNX — Пример классификации изображений



296 — Преобразование обученной модели keras в формат ONNX — Пример классификации изображений

В видеоруководстве рассматривается процесс преобразования обученной Keras модели классификации изображений в формат ONNX для развертывания. Докладчик показывает, как создать модель с помощью Keras, скомпилировать ее и сохранить в виде файла H5 перед преобразованием в формат ONNX. Они предоставляют пошаговое руководство о том, как импортировать необходимые библиотеки для преобразования ONNX, как загрузить сохраненную модель H5 и как преобразовать ее в формат ONNX с помощью одной строки кода. Затем докладчик демонстрирует, как использовать полученную модель ONNX в сеансе среды выполнения ONNX, показывает, как прогнозировать классы в примере классификации изображений с использованием ONNX, и сравнивает вероятности прогнозов с использованием ONNX и Keras. Докладчик подчеркивает эффективность и преимущества использования ONNX для развертывания и отмечает простоту преобразования существующего HDF-файла в ONNX.

  • 00:00:00 В этом разделе спикер обсуждает процесс преобразования обученной Keras модели в формат ONNX, специально для классификации изображений. Они объясняют, что ONNX — это промежуточный формат, который может преобразовывать модели, сохраненные в различных файловых форматах, таких как H5, для работы в различных средах выполнения, таких как среда выполнения ONNX. Спикер помогает аудитории создать простую модель классификации изображений с помощью Keras, сохранить ее в виде файла H5, а затем преобразовать в формат ONNX. Затем они сравнивают точность двух форматов и обсуждают различные оптимизации, которые можно добавить в модели ONNX. Докладчик также акцентирует внимание на установке необходимых библиотек для Keras, в дополнение к среде выполнения ONNX и H5 Pi, для выполнения логических выводов.

  • 00:05:00 В этом разделе ведущий обсуждает набор данных, используемый для обучения и тестирования модели, который включает 50 000 небольших изображений, предназначенных для обучения, и 10 000 для тестирования. Изображения имеют размер 32 на 32 на 3, и он нормализует их, масштабируя значения от 0 до 1. Затем докладчик преобразует целочисленные значения в категориальные значения и определяет модель со сверточными слоями, пакетной нормализацией, отсевом и softmax. активация для возврата 10 значений, представляющих вероятности каждого класса. Наконец, он компилирует модель с помощью оптимизатора стохастического градиентного спуска и отслеживает показатели точности, минимизируя функцию потерь категориальной перекрестной энтропии. Ведущий также демонстрирует использование обратного вызова ранней остановки для завершения процесса обучения после десяти эпох.

  • 00:10:00 В этом разделе спикер объясняет, как они обучили модель с помощью Keras и сохранили ее в формате H5, прежде чем перейти к преобразованию в формат ONNX. Они показывают, как загрузить сохраненную модель, импортировать необходимые библиотеки для преобразования ONNX и использовать одну строку кода, необходимую для преобразования модели Keras в формат ONNX. Затем они показывают, как использовать полученную модель ONNX в сеансе среды выполнения ONNX, и сравнивают скорости, чтобы продемонстрировать преимущества использования ONNX для развертывания.

  • 00:15:00 В этом разделе спикер объясняет, как использовать ONNX для прогнозирования классов в примере классификации изображений. Во-первых, они показывают, как получить входные и выходные имена из модели. Затем они демонстрируют, как расширить размеры, чтобы сделать изображение готовым для вывода. После определения наземной истины они запускают предсказание и вычисляют предсказанный класс, используя argmax. Наконец, они отображают результаты и сравнивают прогнозы с использованием ONNX и Keras. Вероятности почти идентичны, что демонстрирует эффективность ONNX для задач классификации изображений.

  • 00:20:00 В этом разделе спикер демонстрирует успешное преобразование обученной модели Keras в формат ONNX для классификации изображений. Результаты вероятности показаны для различных тестовых изображений, при этом модель достигла отличных результатов после обучения в течение 50 эпох. Докладчик отмечает, что преобразование существующего файла HDF в ONNX — простой процесс, и намекает на предстоящее руководство по сегментации изображений.
296 - Converting keras trained model to ONNX format - Image Classification example
296 - Converting keras trained model to ONNX format - Image Classification example
  • 2023.01.18
  • www.youtube.com
Code generated in the video can be downloaded from here: https://github.com/bnsreenu/python_for_microscopists/blob/master/296-Converting%20keras-trained%20mo...
 

297 — Преобразование обученной модели keras в формат ONNX — семантическая сегментация


297 — Преобразование обученной модели keras в формат ONNX — семантическая сегментация

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

  • 00:00:00 В этом разделе докладчик опирается на предыдущие видеоролики, в которых они продемонстрировали, как сохранить веса обученной Keras модели в ONNX и выполнить вывод с использованием преобразованной модели. На этот раз они предоставляют инструкции по обучению и сохранению модели семантической сегментации в ONNX. Они используют набор данных электронной микроскопии митохондрий, где у них есть необработанные и помеченные изображения. Докладчик показывает, как обрезать изображения до нужного размера, загрузить их в нейронную сеть и использовать простую модульную модель для выполнения бинарной сегментации. Они объясняют, как работает простая модульная модель, и предоставляют ссылки на свои предыдущие видеоролики, в которых они объясняли более сложные нейронные сети для многоклассовой семантической сегментации.

  • 00:05:00 В этом разделе автор обсуждает процесс разделения небольшого набора данных из 165 изображений на 12 изображений в учебных целях. Они применяют библиотеку patchify для разделения изображений и масок на более мелкие фрагменты размером 256x256 пикселей. Они также обсуждают несколько случайных изображений в качестве «проверки работоспособности», чтобы убедиться, что изображения и маски точно совпадают. Автор использует методы увеличения данных, такие как диапазон сдвига по высоте, диапазон сдвига и диапазон масштабирования, чтобы обобщить результаты. Они также упоминают, как гарантировать, что случайные преобразования не являются действительно случайными и что одно и то же начальное значение используется для генерации преобразований как в изображениях, так и в масках, чтобы поддерживать одинаковую случайность. Наконец, автор определяет генераторы, которые будут использоваться для обучения и проверки, а начальные значения фиксируются для согласованности.

  • 00:10:00 В этом разделе спикер готовится обучить модульную модель для семантической сегментации с использованием лучших практик и объединяет генератор изображений и масок в одно целое. Затем они определяют размер пакета и количество шагов в эпоху, прежде чем перейти к обучению модели, применяя пороговое значение 0,5 для преобразования вероятностного вывода в двоичный вывод. Хотя модель могла бы использовать больше обучающих изображений, она неплохо справляется с сегментацией изображений. Затем динамик сохраняет файл H5 и приступает к его преобразованию в onnx с помощью библиотеки TF2 to onnx.

  • 00:15:00 В этом разделе видео объясняется, как преобразовать обученную Keras модель в формат ONNX с помощью tf2onnx.convert. После загрузки модели можно добавить оптимизации перед ее сохранением в виде файла .onnx. Кроме того, видео демонстрирует использование модели ONNX в сеансе выполнения для прогнозирования, показывая результаты, идентичные модели Keras. Видео завершается заявлением о том, что это руководство является концом серии ONNX, и ведущий сосредоточится на других темах в следующем видео.
297 - Converting keras trained model to ONNX format​ - Semantic Segmentation
297 - Converting keras trained model to ONNX format​ - Semantic Segmentation
  • 2023.02.01
  • www.youtube.com
Code generated in the video can be downloaded from here: Main file: https://github.com/bnsreenu/python_for_microscopists/blob/master/297-Converting%20keras-t...
Причина обращения: