在windows 7下安装unbuntu16.04 虚拟机进行tensorflow 的编译安装。
2017-07-25 19:38
525 查看
看了很多相关文章,自己也需要动手试一试,结果发现还是有一些要注意的地方:
我的电脑环境
笔记本:ThinkPad T450 X86_64
系统环境: Windows7 64位系统 ,安装unbuntu16.04
虚拟机
TensorFlow版本: master
Bazel版本: 0.5.2
基本过程参考如下文章:
将TensorFlow
移植到 Android手机,实现物体识别、行人检测和图像风格迁移详细教程
但是有以下一些需要注意的地方:
1)我是连接上网络安装的,在bazel运行初期,系统会下载一些依赖文件,而不需要你自己一个一个手动去加,省略了很多麻烦事情。
2) 注意java 安装后,还需要设置一下环境变量
sudo vim /etc/profile.
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
exportJAVA_HOME JRE_HOME PATH CLASSPATH
3) 设置正确的build-tools版本号。build_tools_version
我按照缺省里的25.0.2后就会出现下面的错误:
/home/mycompter/tensorflow/tensorflow-master/tensorflow/examples/android/BUILD:63:1:in android_binary
missing input file'@androidsdk//:build-tools/25.0.2/aapt'
missing input file'@androidsdk//:build-tools/25.0.2/aapt'.
ERROR: /home/ mycompter/tensorflow/tensorflow-master/tensorflow/examples/android/BUILD:63:1://tensorflow/examples/android:tensorflow_demo: missing input file'@androidsdk//:build-tools/25.0.2/aapt'.
查看刚下载的android-sdk-linux 下的build-tools 目录,发现系统现在是26.0.1, 而在WORKSPACE 里那里androidsdk设置的是25.0.2,改为26.0.1 后,
再次运行,错误消失。
4)使用android-ndk-r13 版本的后,会出现如下错误,一看就知道在r13的编译选项更严格了。
ERROR: /home/ mycompter /tensorflow/tensorflow-master/tensorflow/core/kernels/BUILD:4464:1:C++ compilation of rule '//tensorflow/core/kernels:android_tensorflow_kernels'failed: clang failed: error executing commandexternal/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang-gcc-toolchain
external/androidndk/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64-fpic -ffunction-sections ... (remaining 73 argument(s) skipped):com.google.devtools.build.lib.shell.BadExitStatusException: Process exited withstatus 1.
tensorflow/core/kernels/tensor_array_ops.cc:1276:54:error: non-constant-expression cannot be narrowed from type 'int64' (aka 'longlong') to 'int' in initializer list [-Wc++11-narrowing]
Eigen::DSizes<Eigen::DenseIndex, 3> indices{0, previous_length,0};
^~~~~~~~~~~~~~~
后来重新下载,并修改WORKSPACE ndk 指向android-ndk-r12b后,系统就只是warning,而不是error ,退出了。
tensorflow/core/kernels/tensor_array_ops.cc:In instantiation of 'void tensorflow::TensorArraySplitOp<Device,T>::Compute(tensorflow::OpKernelContext*) [with Device =Eigen::ThreadPoolDevice; T = int]':
tensorflow/core/kernels/tensor_array_ops.cc:1436:1: required from here
tensorflow/core/kernels/tensor_array_ops.cc:1276:72:warning: narrowing conversion of 'previous_length' from 'tensorflow::int64 {akalong long int}' to 'int' inside { } [-Wnarrowing]
Eigen::DSizes<Eigen::DenseIndex, 3> indices{0, previous_length,0};
^
tensorflow/core/kernels/tensor_array_ops.cc:1278:65:warning: narrowing conversion of'(Scalar)tensor_lengths_t.Eigen::TensorMap<PlainObjectType, Options_,MakePointer_>::operator()<Eigen::Tensor<const long long int, 1, 1,int>, 16, Eigen::MakePointer>(i)' from
'Scalar {aka long long int}' to'int' inside { } [-Wnarrowing]
elements_per_row};
tensorflow/core/kernels/unpack_op.cc: Ininstantiation of 'void tensorflow::UnpackOp<Device,T>::Compute(tensorflow::OpKernelContext*) [with Device =Eigen::ThreadPoolDevice; T = int]':
tensorflow/core/kernels/unpack_op.cc:173:1: required from here
tensorflow/core/kernels/unpack_op.cc:113:75:warning: narrowing conversion of 'before_dim' from 'tensorflow::int64 {aka longlong int}' to 'int' inside { } [-Wnarrowing]
Slow read: a 882533690-byte read from/home/ mycompter /.cache/bazel/_bazel_root/46ec675a83212cdbd2eff38a73326a98/execroot/org_tensorflow/bazel-out/android-arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/tensorflow/core/kernels/libandroid_tensorflow_kernels.lotook
7887ms.
Target//tensorflow/examples/android:tensorflow_demo up-to-date:
bazel-bin/tensorflow/examples/android/tensorflow_demo_deploy.jar
bazel-bin/tensorflow/examples/android/tensorflow_demo_unsigned.apk
bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
INFO: Elapsed time: 2208.243s, CriticalPath: 978.68s
下面是最终编译后的结果:
Target //tensorflow/examples/android:tensorflow_demo up-to-date:
bazel-bin/tensorflow/examples/android/tensorflow_demo_deploy.jar
bazel-bin/tensorflow/examples/android/tensorflow_demo_unsigned.apk
bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
INFO: Elapsed time: 2208.243s, Critical Path: 978.68s
这样编译后,其中detect功能会出现错误。
5) 按照http://blog.csdn.net/fu_shuwu/article/details/75946446里介绍去做,还有一个问题需要注意查看tensorflow 编译手册,应该是:mobile_multibox_v1a.zip
否则会有出现错误,从log 中我们发现是没有file:///android_asset/multibox_location_priors.txt。从mobile_multibox_v1.zip确实是没有,但是mobile_multibox_v1a.zip
是有的!
BASE_URL=https://storage.googleapis.com/download.tensorflow.org/models
forMODEL_ZIPin inception5h.zip mobile_multibox_v1a.zipstylize_v1.zip
do
curl -L
${BASE_URL}/${MODEL_ZIP} -o /tmp/${MODEL_ZIP}
unzip /tmp/${MODEL_ZIP} -d tensorflow/examples/android/assets/
done
因此应该改为:
curl -L https://storage.googleapis.com/download.tensorflow.org/models/mobile_multibox_v1a.zip -o /tmp/mobile_multibox_v1a.zip
完整的apk如下:
链接: https://pan.baidu.com/s/1skEhKSl 密码: jq95
附带上出现问题的log。
--------- beginningof crash
07-2504:03:25.934 8179 8179 E AndroidRuntime:
FATAL EXCEPTION: main
07-2504:03:25.934 8179 8179 E AndroidRuntime: Process:org.tensorflow.demo, PID: 8179
07-2504:03:25.934 8179 8179 EAndroidRuntime: java.lang.RuntimeException: Error initializing box priors fromfile:///android_asset/multibox_location_priors.txt
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.TensorFlowMultiBoxDetector.create(TensorFlowMultiBoxDetector.java:119)
07-25 04:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.DetectorActivity.onPreviewSizeChosen(DetectorActivity.java:141)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraActivity$2.onPreviewSizeChosen(CameraActivity.java:322)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:407)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:414)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.access$000(CameraConnectionFragment.java:64)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at org.tensorflow.demo.CameraConnectionFragment$1.onSurfaceTextureAvailable(CameraConnectionFragment.java:95)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.TextureView.getHardwareLayer(TextureView.java:368)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15177)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:16206)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:16206)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atcom.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2717)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-25 04:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:281)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:287)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ThreadedRenderer.draw(ThreadedRenderer.java:322)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.draw(ViewRootImpl.java:2615)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.performDraw(ViewRootImpl.java:2434)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2067)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.Choreographer.doCallbacks(Choreographer.java:670)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:606)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.os.Handler.handleCallback(Handler.java:739)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.os.Handler.dispatchMessage(Handler.java:95)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.os.Looper.loop(Looper.java:148)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.app.ActivityThread.main(ActivityThread.java:5418)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atjava.lang.reflect.Method.invoke(Native Method)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
07-2504:03:25.935 1391 5755 W ActivityManager: Force finishing activityorg.tensorflow.demo/.DetectorActivity
07-2504:03:26.237 1391 5755 I WindowManager: Screenshot max retries4 of Token{24325b4 ActivityRecord{ba5c287 u0org.tensorflow.demo/.DetectorActivity t145 f}} appWin=Window{e01774c u0Starting org.tensorflow.demo} drawState=4
07-2504:03:26.241 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@db31c05
07-2504:03:26.241 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@8aaa45a
07-2504:03:26.278 1391 4769 I OpenGLRenderer: Initialized EGL,version 1.4
07-2504:03:26.283 6462 7124 W GCoreFlp: No location to return forgetLastLocation()
07-2504:03:26.283 6462 8424 W FusedLocationProvider: location=null
07-2504:03:26.296 4703 4703 D PhoneStatusBar: setSystemUiVisibilityvis=8000 mask=ffffffff oldVal=8600 newVal=8000 diff=600
07-2504:03:26.297 4703 4703 D PhoneStatusBar: hiding the MENU button
07-2504:03:26.483 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-2504:03:26.492 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml,changedFile:/data/system/users/0/settings_system.xml
07-2504:03:26.492 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-2504:03:26.739 1391 1423 W ActivityManager: Activity pausetimeout for ActivityRecord{ba5c287 u0 org.tensorflow.demo/.DetectorActivityt145 f}
07-2504:03:26.774 1391 5738 I ActivityManager: Killing7257:com.tencent.mobileqq:web/u0a135 (adj 15): empty #17
07-2504:03:26.824 774 774 I MSM-irqbalance: Decided to move IRQ128from CPU3 to CPU1
07-2504:03:26.942 1391 1440 W art : Long monitor contention event with owner method=voidcom.android.server.am.ActivityManagerService.activityIdle(android.os.IBinder,android.content.res.Configuration, boolean) fromActivityManagerService.java:6449 waiters=1
for 165ms
07-2504:03:26.942 1391 5753 D ActivityManager: cleanUpApplicationRecord-- 7257
07-2504:21:05.282 4703 4703 V PanelBar: collapseAllPanels:animate=false waiting=false
07-2504:21:05.618 9268 9268 I TensorFlowInferenceInterface: Modelload took 587ms, TensorFlow version: 1.3.0-rc0
07-2504:21:05.618 9268 9268 I TensorFlowInferenceInterface:Successfully loaded model from 'file:///android_asset/multibox_model.pb'
--------- beginningof crash
07-2504:21:05.829 9268 9268 E AndroidRuntime: FATAL EXCEPTION: main
07-2504:21:05.829 9268 9268 E AndroidRuntime: Process:org.tensorflow.demo, PID: 9268
07-2504:21:05.829 9268 9268 E AndroidRuntime: java.lang.RuntimeException: BoxPrior length mismatch: 784 vs 6272
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.TensorFlowMultiBoxDetector.loadCoderOptions(TensorFlowMultiBoxDetector.java:166)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.TensorFlowMultiBoxDetector.create(TensorFlowMultiBoxDetector.java:117)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.DetectorActivity.onPreviewSizeChosen(DetectorActivity.java:141)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraActivity$2.onPreviewSizeChosen(CameraActivity.java:322)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at org.tensorflow.demo.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:407)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:414)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.access$000(CameraConnectionFragment.java:64)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment$1.onSurfaceTextureAvailable(CameraConnectionFragment.java:95)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.TextureView.getHardwareLayer(TextureView.java:368)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15177)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-25 04:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.View.draw(View.java:16206)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-25 04:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:16206)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atcom.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2717)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:281)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:287)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ThreadedRenderer.draw(ThreadedRenderer.java:322)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.draw(ViewRootImpl.java:2615)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.performDraw(ViewRootImpl.java:2434)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2067)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:670)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.Choreographer.doFrame(Choreographer.java:606)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.os.Handler.handleCallback(Handler.java:739)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.os.Handler.dispatchMessage(Handler.java:95)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.os.Looper.loop(Looper.java:148)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.app.ActivityThread.main(ActivityThread.java:5418)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atjava.lang.reflect.Method.invoke(Native Method)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
07-2504:21:05.830 1391 5679 W ActivityManager: Force finishing activityorg.tensorflow.demo/.DetectorActivity
07-2504:21:06.133 1391 5679 I WindowManager: Screenshot max retries4 of Token{d5c67d5 ActivityRecord{42a248c u0org.tensorflow.demo/.DetectorActivity t147 f}} appWin=Window{25abc8d u0Starting org.tensorflow.demo} drawState=4
07-2504:21:06.134 1391 1423 W art : Long monitor contention event with owner method=voidcom.android.server.am.ActivityManagerService.crashApplication(com.android.server.am.ProcessRecord,android.app.ApplicationErrorReport$CrashInfo) fromActivityManagerService.java:12827
waiters=1 for 290ms
07-2504:21:06.137 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@7f7ebf2
07-2504:21:06.138 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@d9f6243
07-2504:21:06.167 1391 4769 I OpenGLRenderer: Initialized EGL,version 1.4
07-2504:21:06.185 4703 4703 D PhoneStatusBar: setSystemUiVisibilityvis=8000 mask=ffffffff oldVal=8600 newVal=8000 diff=600
07-2504:21:06.185 4703 4703 D PhoneStatusBar: hiding the MENU button
07-2504:21:06.190 6462 7124 W GCoreFlp: No location to return forgetLastLocation()
07-2504:21:06.190 6462 8428 W FusedLocationProvider: location=null
07-2504:21:06.383 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-25 04:21:06.388 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml,changedFile:/data/system/users/0/settings_system.xml
07-2504:21:06.389 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-2504:21:06.634 1391 1423 W ActivityManager: Activity pausetimeout for ActivityRecord{42a248c u0 org.tensorflow.demo/.DetectorActivityt147 f}
07-2504:21:06.679 1391 5774 I ActivityManager: Killing8694:com.lenovo.camera/u0a24 (adj 15): empty #17
07-2504:21:06.825 774 774 I MSM-irqbalance: Decided to move IRQ177from CPU0 to CPU2
07-2504:21:06.834 1391 4501 D ActivityManager:cleanUpApplicationRecord -- 8694
我的电脑环境
笔记本:ThinkPad T450 X86_64
系统环境: Windows7 64位系统 ,安装unbuntu16.04
虚拟机
TensorFlow版本: master
Bazel版本: 0.5.2
基本过程参考如下文章:
将TensorFlow
移植到 Android手机,实现物体识别、行人检测和图像风格迁移详细教程
但是有以下一些需要注意的地方:
1)我是连接上网络安装的,在bazel运行初期,系统会下载一些依赖文件,而不需要你自己一个一个手动去加,省略了很多麻烦事情。
2) 注意java 安装后,还需要设置一下环境变量
sudo vim /etc/profile.
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
exportJAVA_HOME JRE_HOME PATH CLASSPATH
3) 设置正确的build-tools版本号。build_tools_version
我按照缺省里的25.0.2后就会出现下面的错误:
/home/mycompter/tensorflow/tensorflow-master/tensorflow/examples/android/BUILD:63:1:in android_binary
missing input file'@androidsdk//:build-tools/25.0.2/aapt'
missing input file'@androidsdk//:build-tools/25.0.2/aapt'.
ERROR: /home/ mycompter/tensorflow/tensorflow-master/tensorflow/examples/android/BUILD:63:1://tensorflow/examples/android:tensorflow_demo: missing input file'@androidsdk//:build-tools/25.0.2/aapt'.
查看刚下载的android-sdk-linux 下的build-tools 目录,发现系统现在是26.0.1, 而在WORKSPACE 里那里androidsdk设置的是25.0.2,改为26.0.1 后,
再次运行,错误消失。
4)使用android-ndk-r13 版本的后,会出现如下错误,一看就知道在r13的编译选项更严格了。
ERROR: /home/ mycompter /tensorflow/tensorflow-master/tensorflow/core/kernels/BUILD:4464:1:C++ compilation of rule '//tensorflow/core/kernels:android_tensorflow_kernels'failed: clang failed: error executing commandexternal/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang-gcc-toolchain
external/androidndk/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64-fpic -ffunction-sections ... (remaining 73 argument(s) skipped):com.google.devtools.build.lib.shell.BadExitStatusException: Process exited withstatus 1.
tensorflow/core/kernels/tensor_array_ops.cc:1276:54:error: non-constant-expression cannot be narrowed from type 'int64' (aka 'longlong') to 'int' in initializer list [-Wc++11-narrowing]
Eigen::DSizes<Eigen::DenseIndex, 3> indices{0, previous_length,0};
^~~~~~~~~~~~~~~
后来重新下载,并修改WORKSPACE ndk 指向android-ndk-r12b后,系统就只是warning,而不是error ,退出了。
tensorflow/core/kernels/tensor_array_ops.cc:In instantiation of 'void tensorflow::TensorArraySplitOp<Device,T>::Compute(tensorflow::OpKernelContext*) [with Device =Eigen::ThreadPoolDevice; T = int]':
tensorflow/core/kernels/tensor_array_ops.cc:1436:1: required from here
tensorflow/core/kernels/tensor_array_ops.cc:1276:72:warning: narrowing conversion of 'previous_length' from 'tensorflow::int64 {akalong long int}' to 'int' inside { } [-Wnarrowing]
Eigen::DSizes<Eigen::DenseIndex, 3> indices{0, previous_length,0};
^
tensorflow/core/kernels/tensor_array_ops.cc:1278:65:warning: narrowing conversion of'(Scalar)tensor_lengths_t.Eigen::TensorMap<PlainObjectType, Options_,MakePointer_>::operator()<Eigen::Tensor<const long long int, 1, 1,int>, 16, Eigen::MakePointer>(i)' from
'Scalar {aka long long int}' to'int' inside { } [-Wnarrowing]
elements_per_row};
tensorflow/core/kernels/unpack_op.cc: Ininstantiation of 'void tensorflow::UnpackOp<Device,T>::Compute(tensorflow::OpKernelContext*) [with Device =Eigen::ThreadPoolDevice; T = int]':
tensorflow/core/kernels/unpack_op.cc:173:1: required from here
tensorflow/core/kernels/unpack_op.cc:113:75:warning: narrowing conversion of 'before_dim' from 'tensorflow::int64 {aka longlong int}' to 'int' inside { } [-Wnarrowing]
Slow read: a 882533690-byte read from/home/ mycompter /.cache/bazel/_bazel_root/46ec675a83212cdbd2eff38a73326a98/execroot/org_tensorflow/bazel-out/android-arm-linux-androideabi-4.9-v7a-gnu-libstdcpp-opt/bin/tensorflow/core/kernels/libandroid_tensorflow_kernels.lotook
7887ms.
Target//tensorflow/examples/android:tensorflow_demo up-to-date:
bazel-bin/tensorflow/examples/android/tensorflow_demo_deploy.jar
bazel-bin/tensorflow/examples/android/tensorflow_demo_unsigned.apk
bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
INFO: Elapsed time: 2208.243s, CriticalPath: 978.68s
下面是最终编译后的结果:
Target //tensorflow/examples/android:tensorflow_demo up-to-date:
bazel-bin/tensorflow/examples/android/tensorflow_demo_deploy.jar
bazel-bin/tensorflow/examples/android/tensorflow_demo_unsigned.apk
bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
INFO: Elapsed time: 2208.243s, Critical Path: 978.68s
这样编译后,其中detect功能会出现错误。
5) 按照http://blog.csdn.net/fu_shuwu/article/details/75946446里介绍去做,还有一个问题需要注意查看tensorflow 编译手册,应该是:mobile_multibox_v1a.zip
否则会有出现错误,从log 中我们发现是没有file:///android_asset/multibox_location_priors.txt。从mobile_multibox_v1.zip确实是没有,但是mobile_multibox_v1a.zip
是有的!
BASE_URL=https://storage.googleapis.com/download.tensorflow.org/models
forMODEL_ZIPin inception5h.zip mobile_multibox_v1a.zipstylize_v1.zip
do
curl -L
${BASE_URL}/${MODEL_ZIP} -o /tmp/${MODEL_ZIP}
unzip /tmp/${MODEL_ZIP} -d tensorflow/examples/android/assets/
done
因此应该改为:
curl -L https://storage.googleapis.com/download.tensorflow.org/models/mobile_multibox_v1a.zip -o /tmp/mobile_multibox_v1a.zip
完整的apk如下:
链接: https://pan.baidu.com/s/1skEhKSl 密码: jq95
附带上出现问题的log。
--------- beginningof crash
07-2504:03:25.934 8179 8179 E AndroidRuntime:
FATAL EXCEPTION: main
07-2504:03:25.934 8179 8179 E AndroidRuntime: Process:org.tensorflow.demo, PID: 8179
07-2504:03:25.934 8179 8179 EAndroidRuntime: java.lang.RuntimeException: Error initializing box priors fromfile:///android_asset/multibox_location_priors.txt
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.TensorFlowMultiBoxDetector.create(TensorFlowMultiBoxDetector.java:119)
07-25 04:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.DetectorActivity.onPreviewSizeChosen(DetectorActivity.java:141)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraActivity$2.onPreviewSizeChosen(CameraActivity.java:322)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:407)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:414)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.access$000(CameraConnectionFragment.java:64)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at org.tensorflow.demo.CameraConnectionFragment$1.onSurfaceTextureAvailable(CameraConnectionFragment.java:95)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.TextureView.getHardwareLayer(TextureView.java:368)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15177)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:16206)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.draw(View.java:16206)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atcom.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2717)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-25 04:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:281)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:287)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ThreadedRenderer.draw(ThreadedRenderer.java:322)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.draw(ViewRootImpl.java:2615)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.performDraw(ViewRootImpl.java:2434)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2067)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.Choreographer.doCallbacks(Choreographer.java:670)
07-2504:03:25.934 8179 8179 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:606)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.os.Handler.handleCallback(Handler.java:739)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.os.Handler.dispatchMessage(Handler.java:95)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.os.Looper.loop(Looper.java:148)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atandroid.app.ActivityThread.main(ActivityThread.java:5418)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atjava.lang.reflect.Method.invoke(Native Method)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
07-2504:03:25.934 8179 8179 E AndroidRuntime: atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
07-2504:03:25.935 1391 5755 W ActivityManager: Force finishing activityorg.tensorflow.demo/.DetectorActivity
07-2504:03:26.237 1391 5755 I WindowManager: Screenshot max retries4 of Token{24325b4 ActivityRecord{ba5c287 u0org.tensorflow.demo/.DetectorActivity t145 f}} appWin=Window{e01774c u0Starting org.tensorflow.demo} drawState=4
07-2504:03:26.241 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@db31c05
07-2504:03:26.241 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@8aaa45a
07-2504:03:26.278 1391 4769 I OpenGLRenderer: Initialized EGL,version 1.4
07-2504:03:26.283 6462 7124 W GCoreFlp: No location to return forgetLastLocation()
07-2504:03:26.283 6462 8424 W FusedLocationProvider: location=null
07-2504:03:26.296 4703 4703 D PhoneStatusBar: setSystemUiVisibilityvis=8000 mask=ffffffff oldVal=8600 newVal=8000 diff=600
07-2504:03:26.297 4703 4703 D PhoneStatusBar: hiding the MENU button
07-2504:03:26.483 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-2504:03:26.492 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml,changedFile:/data/system/users/0/settings_system.xml
07-2504:03:26.492 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-2504:03:26.739 1391 1423 W ActivityManager: Activity pausetimeout for ActivityRecord{ba5c287 u0 org.tensorflow.demo/.DetectorActivityt145 f}
07-2504:03:26.774 1391 5738 I ActivityManager: Killing7257:com.tencent.mobileqq:web/u0a135 (adj 15): empty #17
07-2504:03:26.824 774 774 I MSM-irqbalance: Decided to move IRQ128from CPU3 to CPU1
07-2504:03:26.942 1391 1440 W art : Long monitor contention event with owner method=voidcom.android.server.am.ActivityManagerService.activityIdle(android.os.IBinder,android.content.res.Configuration, boolean) fromActivityManagerService.java:6449 waiters=1
for 165ms
07-2504:03:26.942 1391 5753 D ActivityManager: cleanUpApplicationRecord-- 7257
07-2504:21:05.282 4703 4703 V PanelBar: collapseAllPanels:animate=false waiting=false
07-2504:21:05.618 9268 9268 I TensorFlowInferenceInterface: Modelload took 587ms, TensorFlow version: 1.3.0-rc0
07-2504:21:05.618 9268 9268 I TensorFlowInferenceInterface:Successfully loaded model from 'file:///android_asset/multibox_model.pb'
--------- beginningof crash
07-2504:21:05.829 9268 9268 E AndroidRuntime: FATAL EXCEPTION: main
07-2504:21:05.829 9268 9268 E AndroidRuntime: Process:org.tensorflow.demo, PID: 9268
07-2504:21:05.829 9268 9268 E AndroidRuntime: java.lang.RuntimeException: BoxPrior length mismatch: 784 vs 6272
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.TensorFlowMultiBoxDetector.loadCoderOptions(TensorFlowMultiBoxDetector.java:166)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.TensorFlowMultiBoxDetector.create(TensorFlowMultiBoxDetector.java:117)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.DetectorActivity.onPreviewSizeChosen(DetectorActivity.java:141)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraActivity$2.onPreviewSizeChosen(CameraActivity.java:322)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at org.tensorflow.demo.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:407)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:414)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment.access$000(CameraConnectionFragment.java:64)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atorg.tensorflow.demo.CameraConnectionFragment$1.onSurfaceTextureAvailable(CameraConnectionFragment.java:95)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.TextureView.getHardwareLayer(TextureView.java:368)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15177)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-25 04:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.View.draw(View.java:16206)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-25 04:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15195)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:15973)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewGroup.drawChild(ViewGroup.java:3610)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.draw(View.java:16206)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atcom.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2717)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.View.updateDisplayListIfDirty(View.java:15200)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:281)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:287)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ThreadedRenderer.draw(ThreadedRenderer.java:322)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.draw(ViewRootImpl.java:2615)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.performDraw(ViewRootImpl.java:2434)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2067)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:670)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.view.Choreographer.doFrame(Choreographer.java:606)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.os.Handler.handleCallback(Handler.java:739)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.os.Handler.dispatchMessage(Handler.java:95)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.os.Looper.loop(Looper.java:148)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atandroid.app.ActivityThread.main(ActivityThread.java:5418)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atjava.lang.reflect.Method.invoke(Native Method)
07-2504:21:05.829 9268 9268 E AndroidRuntime: atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
07-2504:21:05.829 9268 9268 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
07-2504:21:05.830 1391 5679 W ActivityManager: Force finishing activityorg.tensorflow.demo/.DetectorActivity
07-2504:21:06.133 1391 5679 I WindowManager: Screenshot max retries4 of Token{d5c67d5 ActivityRecord{42a248c u0org.tensorflow.demo/.DetectorActivity t147 f}} appWin=Window{25abc8d u0Starting org.tensorflow.demo} drawState=4
07-2504:21:06.134 1391 1423 W art : Long monitor contention event with owner method=voidcom.android.server.am.ActivityManagerService.crashApplication(com.android.server.am.ProcessRecord,android.app.ApplicationErrorReport$CrashInfo) fromActivityManagerService.java:12827
waiters=1 for 290ms
07-2504:21:06.137 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@7f7ebf2
07-2504:21:06.138 1391 1425 V BoostFramework: BoostFramework() :mPerf = com.qualcomm.qti.Performance@d9f6243
07-2504:21:06.167 1391 4769 I OpenGLRenderer: Initialized EGL,version 1.4
07-2504:21:06.185 4703 4703 D PhoneStatusBar: setSystemUiVisibilityvis=8000 mask=ffffffff oldVal=8600 newVal=8000 diff=600
07-2504:21:06.185 4703 4703 D PhoneStatusBar: hiding the MENU button
07-2504:21:06.190 6462 7124 W GCoreFlp: No location to return forgetLastLocation()
07-2504:21:06.190 6462 8428 W FusedLocationProvider: location=null
07-2504:21:06.383 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-25 04:21:06.388 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml,changedFile:/data/system/users/0/settings_system.xml
07-2504:21:06.389 1391 1438 E WallpaperManagerService:onEvent:settings_system.xml.bak,changedFile:/data/system/users/0/settings_system.xml.bak
07-2504:21:06.634 1391 1423 W ActivityManager: Activity pausetimeout for ActivityRecord{42a248c u0 org.tensorflow.demo/.DetectorActivityt147 f}
07-2504:21:06.679 1391 5774 I ActivityManager: Killing8694:com.lenovo.camera/u0a24 (adj 15): empty #17
07-2504:21:06.825 774 774 I MSM-irqbalance: Decided to move IRQ177from CPU0 to CPU2
07-2504:21:06.834 1391 4501 D ActivityManager:cleanUpApplicationRecord -- 8694
相关文章推荐
- Windows 7下安装TensorFlow步骤
- TensorFLow学习(一)---原生Windows安装TensorFlow,进行MNIST机器学习
- 在windows 虚拟机中安装ubuntu 16.04 LTS 系统的经验
- Windows 7下虚拟机安装MAC
- 通过PHP5.6源代码在WINDOWS 7下进行编译生成(最详细步骤)
- Windows 7下虚拟机安装MAC
- 【其他其他】Windows 7下硬盘安装Ubuntu 16.04
- Windows 7下虚拟机安装MAC
- ubuntu16.04安装TensorFlow(虚拟机 CPU)
- Ubuntu16.04编译安装tensorflow,2018最新血泪踩坑之后的全面总结!绝对成功!
- Windows 7下虚拟机安装MAC
- 【转】Windows 7下用VMware Workstation 10虚拟机安装 Ubuntu 14.04
- 安装WINDOWS 7/8/10和Unbuntu16.04(14.04)双系统
- TensorFlow使用PyCharm编辑器进行配置和编译在Windows下
- 32位Windows7下虚拟机安装64位windows7总结
- Windows环境下(64bit,内存4G),安装虚拟机(VM12.5),Ubuntu(17.04),anaconda(Python3.6)和TensorFlow(1.3)
- 虚拟机VMware中Ubuntu编译安装lnmp时,如何复制windows中的内容,粘贴到Ubuntu中!
- 32位Windows7下虚拟机安装64位windows7总结
- Windows7下TensorFlow安装入门 PYcharm版
- Ubuntu 16.04 + CUDA 9.0下安装GPU版TensorFlow 1.4(无需从源码编译安装)