Я скомпилировал статическую облегченную библиотеку tenorflow, следуя инструкциям, указанным здесь , чтобы включить операции, используемые моей моделью.
Когда я попытался добавить его в свой проект Android, я получил следующую ошибку:
Caused by: java.io.IOException: Not a valid TensorFlow Graph serialization: NodeDef mentions attr 'dilations' not in Op<name=Conv2D; signature=input:T, filter:T -> output:T; attr=T:type,allowed=[DT_HALF, DT_FLOAT]; attr=strides:list(int); attr=use_cudnn_on_gpu:bool,default=true; attr=padding:string,allowed=["SAME", "VALID"]; attr=data_format:string,default="NHWC",allowed=["NHWC", "NCHW"]>; NodeDef: module_apply_default/MobilenetV2/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 2, 2, 1], use_cudnn_on_gpu=true](module_apply_default/MobilenetV2/input, module_apply_default/MobilenetV2/Conv/Conv2D/ReadVariableOp).` <b>(Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.)</b>.
buildToolsVersion, используемый для компиляции bazel, - "25.0.2". Тем не менее, я хочу использовать версию «28 .0.3» в моем проекте. Хотя даже изменение buildToolsVersion не избавляет от ошибки.
В интернет-ссылках упоминается, что ошибка может быть связана с другой версией тензорного потока, использованного в скомпилированной модели, и сгенерированной статической библиотекой, но ни одна из них не дает точного решения.