Я пытался преобразовать свою модель tf.keras в tflite, но я встретился с некоторыми недостающими операторами.вывод TOCO содержит эти строки - Я пытался сделать их уникальными, а не выводить их целиком :
Converting unsupported operation: TensorArrayV3
Op node missing output type attribute: lstm_4/TensorArray
Converting unsupported operation: TensorArrayScatterV3
Op node missing output type attribute: lstm_4/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3
Converting unsupported operation: Enter
Converting unsupported operation: LoopCond
Op node missing output type attribute: lstm_4/while/LoopCond
Converting unsupported operation: TensorArrayReadV3
Unsupported data type in placeholder op: 20
Converting unsupported operation: ReadVariableOp
Converting unsupported operation: TensorArrayWriteV3
Op node missing output type attribute: lstm_4/while/TensorArrayWrite/TensorArrayWriteV3
Converting unsupported operation: Exit
Converting unsupported operation: TensorArraySizeV3
Op node missing output type attribute: lstm_4/TensorArrayStack/TensorArraySizeV3
Converting unsupported operation: TensorArrayGatherV3
Op node missing output type attribute: lstm_5/TensorArray
Op node missing output type attribute: lstm_5/TensorArray_1
Op node missing output type attribute: lstm_5/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3
Op node missing output type attribute: lstm_5/while/LoopCond
Op node missing output type attribute: lstm_5/while/TensorArrayWrite/TensorArrayWriteV3
Op node missing output type attribute: lstm_5/TensorArrayStack/TensorArraySizeV3
Op node missing output type attribute: lstm_6/TensorArray
Op node missing output type attribute: lstm_6/TensorArray_1
Op node missing output type attribute: lstm_6/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3
Op node missing output type attribute: lstm_6/while/LoopCond
Op node missing output type attribute: lstm_6/while/TensorArrayWrite/TensorArrayWriteV3
Так что я читаю о том, как поддерживать эти операции -- очевидно, что метод заключается в том, чтобы сделать пользовательскую сборку с этими операциями на месте.Для этого есть многообещающее руководство , но он не указывает, как именно он определил, какие заголовки ему нужны.
Можете ли вы помочь мне найти заголовки, которые мне нужно будет включить?
updates
Я обнаружил ... очевидно, всего 1 файл для TensorArrayV3: tensorflow/lite/java/src/main/native/tensor_array_ops.h
Этот файл использует protobufs, которые не компилируются по умолчанию (необработанные host_compute_metadata.proto присутствует, но не файлы .pb.h / .pb.cc ).У меня проблемы с пониманием системы сборки достаточно хорошо, чтобы знать, где искать эти сборки ... Я скачал свой собственный протокол и могу скомпилировать его, но я не уверен, что я делаю это правильно, и он ссылается на еще два .protoфайлы, которые также не скомпилированы в .pb. *, а именно types.proto
и tensor_shape.proto
из ядра.Компилирующее ядро не генерирует их.