Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 该模型在jupyter笔记本上运行,但在android上导入时失败 btPredict.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ img=Bitmap.createScaledBitmap(img,200200,true); 试一试{ Model Model=Model.newInstance(getApplicationContext()); TensorBuffer inputFeature0=TensorBuffer.createFixedSize(新的int[]{1200200,3}, 数据类型(32); TensorImage TensorImage=新的TensorImage(数据类型.FLOAT32); 张力图像载荷(img); ByteBuffer ByteBuffer=tensorImage.getBuffer(); inputFeature0.loadBuffer(byteBuffer); Model.Outputs输出=Model.process(inputFeature0); TensorBuffer outputFeature0=输出。getOutputFeature0AsTensorBuffer(); textView.setText(outputFeature0.getFloatArray()[0]+“\n”+outputFeature0.getFloatArray()[1]); model.close(); }捕获(IOE异常){ e、 printStackTrace(); } } }_Java_Android_Tensorflow - Fatal编程技术网

Java 该模型在jupyter笔记本上运行,但在android上导入时失败 btPredict.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ img=Bitmap.createScaledBitmap(img,200200,true); 试一试{ Model Model=Model.newInstance(getApplicationContext()); TensorBuffer inputFeature0=TensorBuffer.createFixedSize(新的int[]{1200200,3}, 数据类型(32); TensorImage TensorImage=新的TensorImage(数据类型.FLOAT32); 张力图像载荷(img); ByteBuffer ByteBuffer=tensorImage.getBuffer(); inputFeature0.loadBuffer(byteBuffer); Model.Outputs输出=Model.process(inputFeature0); TensorBuffer outputFeature0=输出。getOutputFeature0AsTensorBuffer(); textView.setText(outputFeature0.getFloatArray()[0]+“\n”+outputFeature0.getFloatArray()[1]); model.close(); }捕获(IOE异常){ e、 printStackTrace(); } } }

Java 该模型在jupyter笔记本上运行,但在android上导入时失败 btPredict.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ img=Bitmap.createScaledBitmap(img,200200,true); 试一试{ Model Model=Model.newInstance(getApplicationContext()); TensorBuffer inputFeature0=TensorBuffer.createFixedSize(新的int[]{1200200,3}, 数据类型(32); TensorImage TensorImage=新的TensorImage(数据类型.FLOAT32); 张力图像载荷(img); ByteBuffer ByteBuffer=tensorImage.getBuffer(); inputFeature0.loadBuffer(byteBuffer); Model.Outputs输出=Model.process(inputFeature0); TensorBuffer outputFeature0=输出。getOutputFeature0AsTensorBuffer(); textView.setText(outputFeature0.getFloatArray()[0]+“\n”+outputFeature0.getFloatArray()[1]); model.close(); }捕获(IOE异常){ e、 printStackTrace(); } } },java,android,tensorflow,Java,Android,Tensorflow,我得到下面的错误 021-04-30 11:55:07.70329735-29735/com.example.catsdogmodel E/AndroidRuntime:致命异常:main 进程:com.example.catsdogmodel,PID:29735 java.lang.ArrayIndexOutOfBoundsException:长度=1;索引=1 位于com.example.catsdogmodel.MainActivity$3.onClick(MainActivity.jav

我得到下面的错误

021-04-30 11:55:07.70329735-29735/com.example.catsdogmodel E/AndroidRuntime:致命异常:main
进程:com.example.catsdogmodel,PID:29735
java.lang.ArrayIndexOutOfBoundsException:长度=1;索引=1
位于com.example.catsdogmodel.MainActivity$3.onClick(MainActivity.java:94)
在android.view.view.performClick上(view.java:7869)
在android.widget.TextView.performClick上(TextView.java:14958)
在com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1119)上
在android.view.view.performClickInternal(view.java:7838)
在android.view.view.access$3600(view.java:886)
在android.view.view$PerformClick.run(view.java:29362)
位于android.os.Handler.handleCallback(Handler.java:883)
位于android.os.Handler.dispatchMessage(Handler.java:100)
位于android.os.Looper.loop(Looper.java:237)
位于android.app.ActivityThread.main(ActivityThread.java:8019)
位于java.lang.reflect.Method.invoke(本机方法)
位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)][1]

在不知道您的模型的情况下,我很确定这是一行
textView.setText(outputFeature0.getFloatArray()[0]+“\n”+outputFeature0.getFloatArray()[1]);
也许您的输出比您想象的要多包装一次,所以您必须编写
textView.setText(outputFeature0.getFloatArray()[0][0]+“\n”+outputFeature0.getFloatArray()[0][1]);

但是如果不知道您的模型结构,这很难说。除此之外,我不会在
onClick
方法中创建所有的输入数据和模型,而是在一个单独的类中创建。

什么都没有?没有失败的解释?没有错误消息?我们只需要猜测一下?您需要提供更多信息让我们能够猜测w这是个错误。@JoachimSuer我上传了错误。从
getOutputFeature0AsTensorBuffer
返回的值返回一个只有1个元素的FloatArray。您试图引用索引0,然后引用索引1,后者将失败。@blagerweij您的答案提供了预期的错误数组类型;找到:'@org.checkerframework.checker.nullness.qual.NONRULL float'但谢谢