如何在Android中使用静态编译的Tensorflow Lite时修复GraphDef版本错误?

时间:2019-04-16 11:12:27

标签: android bazel tensorflow-lite

我按照here中提到的说明编译了一个静态的tensorflow lite库,以包括我的模型使用的操作。
当我尝试将其添加到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>.

用于编译bazel构建的buildToolsVersion为“ 25.0.2”。但是,我想在项目中使用版本“ 28.0.3”。虽然,即使更改buildToolsVersion也无法消除该错误。

在线链接提到该错误可能是由于在编译模型中使用了不同版本的tensorflow和生成的静态库,但它们均未提供准确的解决方案。

0 个答案:

没有答案