[英]Issue regarding the cast from a float matrix to a Java.Lang.Object using C# (Xamarin development environment)
是否可以在 C# 中將多維浮點矩陣轉換為 Java.Lang.Object?
我使用的神經網絡(.tflite 格式)已正確加載,為了進行推理,請求兩個 Java.Lang.Object 作為輸入參數,以下稱為 InputObj01 和 InputObj02:
我發現使用以下步驟將 InputObj02 轉換為 Java.Lang.Object 沒有問題:
float[][] Input02 = new float[][]{ new float[4000] };
var InputObj02 = Arrays.FromArray<float[]>(Input02);
但是,如果我嘗試使用相同的技術來獲取 InputObj01,請按以下方式:
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;
根據您的需要,使用簡單的循環可能更容易:
float[][,] Input01 = new float[][,] { new float[4000, 2] };
List<float[,]> newList = new List<float[,]>();
foreach (float[,] array in Input01)
{
newList.Add(array);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.