我训练了YOLOv2以检测对象,并且希望将其部署在Android上。
1。。因此,我在darkflow中使用此命令将其更改为pb文件。
./flow --model cfg/yolo-obj.cfg --load bin/yolo-obj.weights --savepb
2。然后,我提到了this page,所以我更改了DetectorActivity.java和TensorFlowYoloDetector.java中的一部分
执行此操作时,发生了此错误。
E / TensorFlowInferenceInterface:使用以下输入运行TensorFlow推理失败:[输入],输出:[输出]
E / AndroidRuntime:致命异常:推断 流程:org.tensorflow.demo,PID:19051 java.lang.IllegalArgumentException:没有注册任何OpKernel以支持{{node ExtractImagePatches}}使用的Op'ExtractImagePatches,具有以下属性:[padding =“ VALID”,T = DT_FLOAT,ksizes = [1、2、2、1] ,步幅= [1、2、2、1],费率= [1、1、1、1]]
3。为解决此问题,我提到了a page,因此在{{1}的extract_image_patches_op.cc
中添加了extract_image_patches_op.h
和android_core_ops
}}。然后我做了这部分
tensorflow/core/kernels/BUILD
4。。我在Android上添加了 bazel clean && \
bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so \
--crosstool_top=//external:android/crosstool \
--host_crosstool_top=@bazel_tools//tools/cpp:toolchain \
--cpu=armeabi-v7a
文件,但仍然出现错误
未注册任何OpKernel支持Op'ExtractImagePatches'
我该如何解决?
谢谢。