Инструменты для 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.