我为什么会出现错误:初始化Tensorflow?

我为什么会出现错误:初始化Tensorflow?,第1张

概述我正在尝试通过本教程构建.apk文件-https://www.oreilly.com/learningensorflow-on-android我想使用自己的retrained_graph.pb我更改了ClassifierActivity.java(在教程中为TensorFlowImageListener.java,但我没有找到该文件).我更换:privatestaticfinalintINPUT_SIZE=2

我正在尝试通过本教程构建.apk文件-https://www.oreilly.com/learning/tensorflow-on-android

我想使用自己的retrained_graph.pb

我更改了ClassifIErActivity.java(在教程中为TensorFlowImageListener.java,但我没有找到该文件).
我更换:

private static final int input_SIZE = 299;private static final int IMAGE_MEAN = 128;private static final float IMAGE_STD = 128;private static final String input_name = "Mul:0";private static final String OUTPUT_name = "final_result:0";private static final String MODEL_file = "file:///androID_asset/retrained_graph.pb";private static final String LABEL_file = "file:///androID_asset/retrained_labels.txt";

但是,当我在设备上运行apk时-初始化TensorFlow出错时崩溃.

D/AndroIDRuntime( 6524): Shutting down VME/AndroIDRuntime( 6524): FATAL EXCEPTION: mainE/AndroIDRuntime( 6524): Process: org.tensorflow.demo, PID: 6524E/AndroIDRuntime( 6524): java.lang.RuntimeException: Error initializing TensorFlow!E/AndroIDRuntime( 6524):    at org.tensorflow.demo.ClassifIErActivity.onPrevIEwSizeChosen(ClassifIErActivity.java:130)E/AndroIDRuntime( 6524):    at org.tensorflow.demo.CameraActivity.onPrevIEwSizeChosen(CameraActivity.java:158)E/AndroIDRuntime( 6524):    at org.tensorflow.demo.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:394)E/AndroIDRuntime( 6524):    at org.tensorflow.demo.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:411)E/AndroIDRuntime( 6524):    at org.tensorflow.demo.CameraConnectionFragment.access@OverrIDe  public voID onPrevIEwSizeChosen(final Size size, final int rotation) {    final float textSizePx =        TypedValue.applyDimension(            TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, getResources().getdisplayMetrics());    borderedText = new borderedText(textSizePx);    borderedText.setTypeface(Typeface.MONOSPACE);    try {      classifIEr =          TensorFlowImageClassifIEr.create(              getAssets(),              MODEL_file,              LABEL_file,              input_SIZE,              IMAGE_MEAN,              IMAGE_STD,              input_name,              OUTPUT_name);    } catch (final Exception e) {      throw new RuntimeException("Error initializing TensorFlow!", e);    }...  }0(CameraConnectionFragment.java:63)E/AndroIDRuntime( 6524):    at org.tensorflow.demo.CameraConnectionFragment.onSurfaceTextureAvailable(CameraConnectionFragment.java:94)E/AndroIDRuntime( 6524):    at androID.vIEw.TextureVIEw.getHarDWareLayer(TextureVIEw.java:370)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.updatedisplayListIfDirty(VIEw.java:15443)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.getdisplayList(VIEw.java:15488)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.draw(VIEw.java:16258)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:3713)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:3506)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.updatedisplayListIfDirty(VIEw.java:15461)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.getdisplayList(VIEw.java:15488)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.draw(VIEw.java:16258)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:3713)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:3506)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.draw(VIEw.java:16539)E/AndroIDRuntime( 6524):    at androID.Widget.FrameLayout.draw(FrameLayout.java:598)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.updatedisplayListIfDirty(VIEw.java:15466)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.getdisplayList(VIEw.java:15488)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.draw(VIEw.java:16258)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:3713)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:3506)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.updatedisplayListIfDirty(VIEw.java:15461)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.getdisplayList(VIEw.java:15488)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.draw(VIEw.java:16258)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:3713)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:3506)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.updatedisplayListIfDirty(VIEw.java:15461)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.getdisplayList(VIEw.java:15488)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.draw(VIEw.java:16258)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.drawChild(VIEwGroup.java:3713)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwGroup.dispatchDraw(VIEwGroup.java:3506)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.draw(VIEw.java:16539)E/AndroIDRuntime( 6524):    at androID.Widget.FrameLayout.draw(FrameLayout.java:598)E/AndroIDRuntime( 6524):    at com.androID.internal.policy.impl.PhoneWindow$DecorVIEw.draw(PhoneWindow.java:3111)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.updatedisplayListIfDirty(VIEw.java:15466)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEw.getdisplayList(VIEw.java:15488)E/AndroIDRuntime( 6524):    at androID.vIEw.ThreadedRenderer.updateVIEwTreedisplayList(ThreadedRenderer.java:309)E/AndroIDRuntime( 6524):    at androID.vIEw.ThreadedRenderer.updateRootdisplayList(ThreadedRenderer.java:315)E/AndroIDRuntime( 6524):    at androID.vIEw.ThreadedRenderer.draw(ThreadedRenderer.java:354)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwRootImpl.draw(VIEwRootImpl.java:2956)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwRootImpl.performDraw(VIEwRootImpl.java:2753)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwRootImpl.performTraversals(VIEwRootImpl.java:2339)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwRootImpl.doTraversal(VIEwRootImpl.java:1314)E/AndroIDRuntime( 6524):    at androID.vIEw.VIEwRootImpl$TraversalRunnable.run(VIEwRootImpl.java:7057)E/AndroIDRuntime( 6524):    at androID.vIEw.Choreographer$CallbackRecord.run(Choreographer.java:829)E/AndroIDRuntime( 6524):    at androID.vIEw.Choreographer.doCallbacks(Choreographer.java:606)E/AndroIDRuntime( 6524):    at androID.vIEw.Choreographer.doFrame(Choreographer.java:576)E/AndroIDRuntime( 6524):    at androID.vIEw.Choreographer$FramedisplayEventReceiver.run(Choreographer.java:815)E/AndroIDRuntime( 6524):    at androID.os.Handler.handleCallback(Handler.java:739)E/AndroIDRuntime( 6524):    at androID.os.Handler.dispatchMessage(Handler.java:95)E/AndroIDRuntime( 6524):    at androID.os.Looper.loop(Looper.java:145)E/AndroIDRuntime( 6524):    at androID.app.ActivityThread.main(ActivityThread.java:6917)E/AndroIDRuntime( 6524):    at java.lang.reflect.Method.invoke(Native Method)E/AndroIDRuntime( 6524):    at java.lang.reflect.Method.invoke(Method.java:372)E/AndroIDRuntime( 6524):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)E/AndroIDRuntime( 6524):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:1199)E/AndroIDRuntime( 6524): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'org.tensorflow.Output org.tensorflow.Operation.output(int)' oW/ActivityManager(  783):   Force finishing activity 1 org.tensorflow.demo/.ClassifIErActivityW/ResourcesManager( 6576): Asset path '/system/framework/sec_platform_library.jar' does not exist or contains no resources.W/ResourcesManager( 6576): Asset path '/system/framework/smatlib.jar' does not exist or contains no resources.W/ResourcesManager( 6576): Asset path '/system/framework/secvisualeffect.jar' does not exist or contains no resources.W/ResourcesManager( 6576): Asset path '/system/framework/secharDWare.jar' does not exist or contains no resources.D/inputdispatcher(  783): Focused application set to: xxxxD/inputdispatcher(  783): Focus left window: 6524D/PointerIcon(  783): setMouseIconStyle1 pointerType: 1001 iconType:101 flag:0 pID:783 uID:1000D/PointerIcon(  783): setMouseCustomIcon IconType is same.101

我发现这段代码可以处理异常:

private static final String input_name = "Mul:0";private static final String OUTPUT_name = "final_result:0";

在tensorflow / tensorflow / examples / androID / src / org / tensorflow / demo / ClassifIErActivity.java中

我已经呆了2天,请大家帮帮我!错误的原因是什么?

解决方法:

我解决了这个问题,java代码中的注释未更新,现在只需更改即可:

private static final String input_name = "Mul";private static final String OUTPUT_name = "final_result";

至:

          总结       

以上是内存溢出为你收集整理的我为什么会出现错误:初始化Tensorflow?全部内容,希望文章能够帮你解决我为什么会出现错误:初始化Tensorflow?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1120970.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存