关于从浮点矩阵转换为Java的问题。Lang.使用C#的对象(Xamarin开发环境)
是否可以将多维浮点矩阵转换为Java。Lang.C#中的对象
我使用的神经网络(.tflite格式)被正确加载,并在Java中进行推理。Lang.对象被请求作为输入参数,以下是InputBJ01和InputBJ02:
- inputBJ01-->;要分类的输入。在我的例子中,矩阵维数:[1,4000,2]
- inputBJ02-->;输出模型。在我的例子中,矩阵维数:[1,4000]
我发现将InputBJ02转换为Java没有问题。Lang.对象,使用以下步骤:
float[][] Input02 = new float[][]{ new float[4000] };
var InputObj02 = Arrays.FromArray<float[]>(Input02);
但如果我尝试使用相同的技术来获取InputBJ01,方法如下:
float[][,] Input01 = new float[][,]{ new float[4000, 2] };
var InputObj01 = Arrays.FromArray<float[,]>(Input01)
将引发以下异常:
**System.InvalidCastException:** 'Specified cast is not valid.'
使用指令:
using System;
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.OS;
using Android.Widget;
using System.IO;
using Android.Content.Res;
using Java.IO;
using Java.Nio.Channels;
using Java.Nio;
using Xamarin.TensorFlow.Lite;
using Java.Util;
# 1 楼答案
为了满足您的需求,只需使用一个简单的循环可能会更容易: