Please provide us with the following information: The codebase can't read the tensorflow model that I exported from Custom Vision portal from yesterday and today. The app is crashed while opening. If I given a old tensor flow model(.pb file) I exported few weeks back, it is working fine. Please help
This issue is for a: (mark with an x)
- [ X] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
Minimal steps to reproduce
Replace the model (.pb file) and labels in the asset folder and hit run.
Any log messages given by the failure
E/AndroidRuntime: FATAL EXCEPTION: main
Process: demo.tensorflow.org.customvision_sample, PID: 20498
java.lang.RuntimeException: Failed to load model from 'file:///android_asset/model.pb'
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.(TensorFlowInferenceInterface.java:86)
at demo.tensorflow.org.customvision_sample.MSCognitiveServicesClassifier.(MSCognitiveServicesClassifier.java:58)
at demo.tensorflow.org.customvision_sample.ClassifierActivity.onPreviewSizeChosen(ClassifierActivity.java:67)
at demo.tensorflow.org.customvision_sample.CameraActivity$2.onPreviewSizeChosen(CameraActivity.java:321)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:408)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:415)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment.access$000(CameraConnectionFragment.java:65)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment$1.onSurfaceTextureAvailable(CameraConnectionFragment.java:96)
at android.view.TextureView.getHardwareLayer(TextureView.java:390)
at android.view.TextureView.draw(TextureView.java:339)
at android.view.View.updateDisplayListIfDirty(View.java:16183)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.updateDisplayListIfDirty(View.java:16178)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.draw(View.java:17204)
at android.view.View.updateDisplayListIfDirty(View.java:16183)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.updateDisplayListIfDirty(View.java:16178)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.updateDisplayListIfDirty(View.java:16178)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.draw(View.java:17204)
at com.android.internal.policy.DecorView.draw(DecorView.java:753)
at android.view.View.updateDisplayListIfDirty(View.java:16183)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:648)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:654)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:762)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2818)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2626)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2233)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1272)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6408)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6165)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
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: conv1/Conv2D = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 2, 2, 1], use_cudnn_on_gpu=true](data_bn/data_bn/add_1, conv1/weights/read). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.).
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.loadGraph(TensorFlowInferenceInterface.java:488)
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.(TensorFlowInferenceInterface.java:82)
... 52 more
Application terminated.
This issue is for a: (mark with an
x
)Minimal steps to reproduce
Replace the model (.pb file) and labels in the asset folder and hit run.
Any log messages given by the failure
E/AndroidRuntime: FATAL EXCEPTION: main Process: demo.tensorflow.org.customvision_sample, PID: 20498 java.lang.RuntimeException: Failed to load model from 'file:///android_asset/model.pb' at org.tensorflow.contrib.android.TensorFlowInferenceInterface.(TensorFlowInferenceInterface.java:86)
at demo.tensorflow.org.customvision_sample.MSCognitiveServicesClassifier.(MSCognitiveServicesClassifier.java:58)
at demo.tensorflow.org.customvision_sample.ClassifierActivity.onPreviewSizeChosen(ClassifierActivity.java:67)
at demo.tensorflow.org.customvision_sample.CameraActivity$2.onPreviewSizeChosen(CameraActivity.java:321)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment.setUpCameraOutputs(CameraConnectionFragment.java:408)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment.openCamera(CameraConnectionFragment.java:415)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment.access$000(CameraConnectionFragment.java:65)
at demo.tensorflow.org.customvision_sample.CameraConnectionFragment$1.onSurfaceTextureAvailable(CameraConnectionFragment.java:96)
at android.view.TextureView.getHardwareLayer(TextureView.java:390)
at android.view.TextureView.draw(TextureView.java:339)
at android.view.View.updateDisplayListIfDirty(View.java:16183)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.updateDisplayListIfDirty(View.java:16178)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.draw(View.java:17204)
at android.view.View.updateDisplayListIfDirty(View.java:16183)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.updateDisplayListIfDirty(View.java:16178)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.updateDisplayListIfDirty(View.java:16178)
at android.view.View.draw(View.java:16967)
at android.view.ViewGroup.drawChild(ViewGroup.java:3731)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3517)
at android.view.View.draw(View.java:17204)
at com.android.internal.policy.DecorView.draw(DecorView.java:753)
at android.view.View.updateDisplayListIfDirty(View.java:16183)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:648)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:654)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:762)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2818)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2626)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2233)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1272)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6408)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6165)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
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: conv1/Conv2D = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 2, 2, 1], use_cudnn_on_gpu=true](data_bn/data_bn/add_1, conv1/weights/read). (Check whether your GraphDef-interpreting binary is up to date with your GraphDef-generating binary.).
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.loadGraph(TensorFlowInferenceInterface.java:488)
at org.tensorflow.contrib.android.TensorFlowInferenceInterface.(TensorFlowInferenceInterface.java:82)
... 52 more
Application terminated.
Expected/desired behavior
OS and Version?
Android 6
Versions
Mention any other details that might be useful