Аппроксимационная модель#

block

Внешний вид блока запуска аппроксимационной модели#

Блок Аппроксимационная модель предназначен для использования на платформе REPEAT VISION множества аппроксимационных моделей:

  1. Нейронных сетей, являющихся частью алгоритмов машинного обучения;

  2. Гауссовских процессов;

  3. Линейных и нелинейных регрессионных моделей.

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

Блок предназначен для вызова (Inference) аппроксимационной модели и обеспечения обмена данными с другими блоками проекта в процессе моделирования.

Блок Аппроксимационная модель обеспечивает загрузку модели из нейтрального формата ONNX.

См. также

Ознакомьтесь с простым уроком для получения навыков создания, настройки и сохранения аппроксимационных моделей в формат ONNX для их использования на платформе REPEAT VISION.

Для более глубокого понимания техник применяемых в моделях физически-информированных нейронных сетях (PINN) можно ознакомиться практическим руководством, в котором приводится пример добавления многомерного объекта в платформу REPEAT VISION.

1.  Требования к аппроксимационной модели#

1.1.  Требования к инструментам#

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

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

Инструмент

Описание

PyTorch

Фреймворк для создания моделей машинного обучения, гауссовских процессов и регрессионных моделей на Python.

Tensorflow, Keras

Фреймворки для создания моделей машинного обучения на Python.

scikit-learn

Пакет для создания моделей машинного обучения, гауссовских процессов и регрессионных моделей на Python.

Deep Learning Toolbox

Инструмент создания моделей машинного обучения, загрузки и сохранения моделей в формат ONNX в среде MATLAB.

WOLFRAM

Инструмент загрузки и сохранения моделей в формат ONNX в WOLFRAM

1.2.  Требования к параметрам аппроксимационной модели#

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

Входные и выходные параметры аппроксимационной модели должны обладать типом TensorProto.DOUBLE.

Подсказка

При создании аппроксимационной модели с помощью Python убедитесь, что использован один из следующих типов параметров: np.float64 , torch.float64, torch.double, tf.float64, tf.double.

1.3.  Требования к размерности параметров#

Входные и выходные параметры аппроксимационной модели должны обладать размерностью [1, 1]. Это означает, что каждый параметр должен быть массивом, содержащим 1 строку и 1 столбец. Каждый такой параметр обеспечивает хранение 1 вещественного значения TensorProto.DOUBLE.

Подсказка

Если аппроксимационная модель создаётся с помощью Python и PyTorch, убедитесь, что использована размерность параметра [1, 1], как в примере ниже.

x = torch.tensor([[0.0]], dtype = torch.float64)
print(x.shape)
# torch.Size([1, 1])

1.4.  Прочее#

При сохранении файла модели рекомендуется использовать расширение onnx, например, model.onnx.

2.  Загрузка аппроксимационной модели#

Необходимо переместить файл с расширением onnx в область для загрузки или воспользоваться кнопкой Загрузить файл .onnx.

init

Окно инициализации блока Аппроксимационная модель#

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

init_done

Результат выполнения инициализации#

3.  Свойства#

Нет

4.  Входы и выходы#

Параметры

Вход/Выход

Описание

Единицы измерения

Тип порта

-

Вход

Список входных портов формируется на основе информации о наборе входных параметров модели из ONNX-файла

–

Автоматика

-

Выход

Список выходных портов формируется на основе информации о наборе выходных параметров (результатов вычислений) модели из ONNX-файла

–

Автоматика

4.1.  Входы#

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

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

Пример

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

4.2.  Выходы#

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

Пример

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

5.  Примеры использования#

 С примерами использования данного блока можно ознакомиться в следующих разделах:

Практическое руководство

Раздел

Название руководства

Аппроксимация методами машинного обучения

Решение двумерного нестационарного уравнения теплопроводности с помощью PINN;

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