Инструменты для ML моделей пневматики#

В справке представлены инструменты подготовки дополнительного описания ML моделей пневматики для использования блоком Аппроксимационная модель (П) при загрузке модели.

class repeat_onnx.ModelP(nodes: list[NodeP])#

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

Класс позволяет однозначно сопоставить входные и выходные параметры модели машинного обучения с узлами блока Аппроксимационная модель (П) библиотеки Пневматика платформы REPEAT.

Имена входных параметров давлений и температур, а также выходных параметров расходов и потоков энергии указываются с помощью класса NodeP узла модели.

Parameters:
nodeslist[NodeP]

Набор узлов с именами давлений, температур, расходов и потоков энергии.

Attributes:
flows

Аттрибут, позволяющий получить имена потоков всех узлов модели

potentials

Аттрибут, позволяющий получить имена потенциалов всех узлов модели

Methods

to_onnx()

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

Returns:
None

Examples

>>> from pprint import pp
>>> import repeat_onnx  as rx
>>> 
>>> 
>>> model_description = rx.ModelP(
>>>   [
>>>    rx.NodeP(
>>>      "Input unit", "pressure_1", "temperature_1", 
>>>      "flowrate_1", "energy_1"
>>>      ),
>>>    rx.NodeP(
>>>      "Output unit", "pressure_2", "temperature_2", 
>>>      "flowrate_2", "energy_2"
>>>      ),
>>>    ]
>>>   )
property flows: list#

Аттрибут, позволяющий получить имена потоков всех узлов модели

Returns:
list

Набор имён потоков для всех узлов модели.

property potentials: list#

Аттрибут, позволяющий получить имена потенциалов всех узлов модели

Returns:
list

Набор имён потенциалов для всех узлов модели.

to_onnx()#

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

Дополнительное описание ML модели должно располагаться в структуре metadata_props по ключу "repeat_contract".

Returns:
str

JSON с описанием модели для файла нейтрального формата ONNX.

Examples

>>> import onnx
>>> import repeat_onnx  as rx
>>> 
>>> 
>>> model_description = rx.ModelTH(
>>>   [
>>>    rx.NodeTH(
>>>      "Input unit", "pressure_1", "temperature_1", 
>>>      "flowrate_1", "enthalpy_flux_1"
>>>      ),
>>>    ]
>>>   )
>>> properties = onnx.StringStringEntryProto()
>>> properties.key = "repeat_contract"
>>> properties.value = model_description.to_onnx()
>>> model = onnx.load(path)
>>> model.metadata_props.append(properties)
>>> onnx.save(model, path)
class repeat_onnx.NodeP(name: str, pressure: str, temperature: str, flowrate: str, energy: str)#

Класс предназначен для описания узла пневматической модели. Узел является обязательной составной частью пневматической модели, описание которой выполняется с помощью класса ModelP.

Класс узла обеспечивает однозначное сопоставление в модели давления и температуры с соответствующими именами входных параметров модели машинного обучения пользователя,хранимой в нейтральном формате ONNX. Так же класс NodeP обеспечивает однозначное сопоставление расхода и потока энергии с результатами расчёта на выходных параметрах модели машинного обучения.

Parameters:
namestr

Имя узла модели. Имя узла будет отображаться в свойствах блока Аппроксимационная модель (П) библиотеки Пневматика платформы REPEAT

pressurestr

Имя входного параметра давления в узле модели

temperaturestr

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

flowratestr

Имя выходного параметра с результатом вычисления массового расхода в узле модели

energystr

Имя выходного параметра с результатом вычисления потока энергии в узле модели

Attributes:
flows

Аттрибут, позволяющий получить имена потоков узла

potentials

Аттрибут, позволяющий получить имена потенциалов узлa

Returns:
None

Examples

>>> from pprint import pp
>>> import repeat_onnx  as rx
>>> 
>>> 
>>> node = rx.NodeP(
>>>   "Input unit", "pressure_1", "temperature_1", 
>>>   "flowrate_1", "energy_1"
>>>   )
>>> pp(node)
>>> # NodeP(
>>> #   name='Input unit',
>>> #   pressure='pressure_1',
>>> #   temperature='temperature_1',
>>> #   flowrate='flowrate_1',
>>> #   energy='energy_1'
>>> #   )
property flows: list#

Аттрибут, позволяющий получить имена потоков узла

Returns:
list

Имена потоков узла.

property potentials: list#

Аттрибут, позволяющий получить имена потенциалов узлa

Returns:
list

Имена потенциалов узлa.