Аппроксимационная модель#
Внешний вид блока запуска аппроксимационной модели#
Блок Аппроксимационная модель предназначен для использования на платформе REPEAT VISION множества аппроксимационных моделей:
Нейронных сетей, являющихся частью алгоритмов машинного обучения;
Гауссовских процессов;
Линейных и нелинейных регрессионных моделей.
Аппроксимационные модели могут содержать в себе любые нелинейные зависимости между входными параметрами модели и результатами вычислений, которые затруднительно описать программным алгоритмом и требует применения таких современных подходов, как например, нейронные сети и других методов машинного обучения.
Блок предназначен для вызова (Inference) аппроксимационной модели и обеспечения обмена данными с другими блоками проекта в процессе моделирования.
Блок Аппроксимационная модель обеспечивает загрузку модели из нейтрального формата ONNX.
См. также
Ознакомьтесь с простым уроком для получения навыков создания, настройки и сохранения аппроксимационных моделей в формат ONNX для их использования на платформе REPEAT VISION.
Для более глубокого понимания техник применяемых в моделях физически-информированных нейронных сетях (PINN) можно ознакомиться практическим руководством, в котором приводится пример добавления многомерного объекта в платформу REPEAT VISION.
1. Требования к аппроксимационной модели#
1.1. Требования к инструментам#
Модель может быть создана с применением любого инструмента или языка программирования, обеспечивающего сохранение модели в формат ONNX.
Актуальный список инструментов и программ, поддерживающих сохранение модели в формат ONNX, приведён на официальном сайте ONNX. В таблице ниже приведены наиболее популярные инструменты.
Инструмент |
Описание |
|---|---|
Фреймворк для создания моделей машинного обучения, гауссовских процессов и регрессионных моделей на Python. |
|
Фреймворки для создания моделей машинного обучения на Python. |
|
Пакет для создания моделей машинного обучения, гауссовских процессов и регрессионных моделей на Python. |
|
Инструмент создания моделей машинного обучения, загрузки и сохранения моделей в формат ONNX в среде MATLAB. |
|
Инструмент загрузки и сохранения моделей в формат 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.
Окно инициализации блока Аппроксимационная модель#
После загрузки блок автоматические определит количество входных и выходных портов модели и их имена.
Результат выполнения инициализации#
3. Свойства#
Нет
4. Входы и выходы#
Параметры |
Вход/Выход |
Описание |
Единицы измерения |
Тип порта |
|---|---|---|---|---|
- |
Вход |
Список входных портов формируется на основе информации о наборе входных параметров модели из ONNX-файла |
– |
Автоматика |
- |
Выход |
Список выходных портов формируется на основе информации о наборе выходных параметров (результатов вычислений) модели из ONNX-файла |
– |
Автоматика |
4.1. Входы#
Все входные параметры аппроксимационной модели связываются с входными портами блока. Таким образом в блоке Аппроксимационная модель формируется число входных портов, равное количеству входных параметров модели.
Каждому входному порту блока должно передаваться вещественное значение от других блоков проекта, например от блока Константа.
Если в аппроксимационной модели используется 2 входных параметра, то в блоке будет создано 2 связанных входных порта. Оба входных порта должны получать вещественные значение от других блоков проекта.
4.2. Выходы#
В блоке необходимо выбрать как минимум один выходной порт, связав его с выходным параметром результатов вычислений модели.
Если в аппроксимационной модели используется 3 выходных параметра результатов вычислений, то с выходным портом блока можно связать 1, 2 или все 3 выходных параметра модели.
5. Примеры использования#
С примерами использования данного блока можно ознакомиться в следующих разделах:
Уроки;
Описание Демо-проектов.
Практическое руководство
Раздел |
Название руководства |
|---|---|
Аппроксимация методами машинного обучения |
Решение двумерного нестационарного уравнения теплопроводности с помощью PINN; |