Он позволяет взять набор операций TensorFlow и аннотировать их построение таким образом, чтобы toco знал, как преобразовать его в tflite. Это встраивает псевдофункцию в граф TensorFlow. Это позволяет встроить информацию об использовании API высокого уровня в реализацию TensorFlow низкого уровня, чтобы позже можно было заменить альтернативную реализацию.
По сути, любой «вход» в эту псевдооперацию передаётся в идентификатор, а атрибуты добавляются к этому входу перед использованием составляющих операций, которые образуют псевдооперацию. Аналогичный процесс выполняется для любого вывода, который должен быть экспортирован из текущей операции.
Аргументы
function_name
Имя функции (имя пользовательской операции в tflite)
level
Уровень OpHint.
children_inputs_mappings
Сопоставление входных/выходных данных дочерних OpHint. children_inputs_mappings должно выглядеть следующим образом: "parent_first_child_input": [{"parent_input_index": num, "child_input_index": num}, ...] "parent_last_child_output": [{"parent_output_index": num, "child_output_index": num}, ...] "internal_children_input_output": [{"child_input_index": num, "child_output_index": num}, ...]
**kwargs
Именованные аргументы любых атрибутов-констант для функции.
Добавление обернутого аргумента ввода в подсказку.
Аргументы
*args
Входной тензор.
**kwargs
Метка "name", метка "tag" для группировки нескольких аргументов, которые будут агрегированы. Например, строка 'cool_input'. В принципе, к одной и той же подсказке можно добавить несколько входов для параллельных операций, которые в конечном итоге будут объединены. Примером является static_rnn, который создаёт несколько копий состояния или входов. «aggregate» - стратегия агрегирования, которая допустима только для тега не None. Допустимые значения: OpHint.AGGREGATE_FIRST, OpHint.AGGREGATE_LAST и OpHint.AGGREGATE_STACK. «index_override» - глобальный индекс для использования. Это соответствует порядку аргументов в окончательном вызове, который будет сгенерирован.
Добавление обернутого аргумента вывода в подсказку.
Аргументы
*args
Выходной тензор.
**kwargs
Метка "name", метка "tag" для группировки нескольких аргументов, которые будут агрегированы. Например, строка 'cool_input'. В принципе, к одной и той же подсказке можно добавить несколько входов для параллельных операций, которые в конечном итоге будут объединены. Примером является static_rnn, который создаёт несколько копий состояния или входов. «aggregate» - стратегия агрегирования, которая допустима только для тега не None. Допустимые значения: OpHint.AGGREGATE_FIRST, OpHint.AGGREGATE_LAST и OpHint.AGGREGATE_STACK. «index_override» - глобальный индекс для использования. Это соответствует порядку аргументов в окончательном вызове, который будет сгенерирован.