Я искал ответ на этот вопрос, но не смог найти. так что я сделал это и подумал поделиться с каждым. вот мой код
вот тензор вывода:
final Tensor outputTensor = module.forward(IValue.from(inputTensor)).toTensor();
float[] array1 = outputTensor.getDataAsFloatArray() ;
for (int i = 0 ; i< array1.length ; i++){
arralist.add(array1[i]);
}
Bitmap outBitmap = arrayFlotToBitmap(arralist,420,276);
вот функция
private Bitmap arrayFlotToBitmap(List<Float> floatArray,int width,int height){
byte alpha = (byte) 255 ;
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) ;
ByteBuffer byteBuffer = ByteBuffer.allocate(width*height*4*3) ;
float Maximum = Collections.max(floatArray);
float minmum = Collections.min(floatArray);
float delta = Maximum - minmum ;
int i = 0 ;
for (float value : floatArray){
byte temValue = (byte) ((byte) ((((value-minmum)/delta)*255)));
byteBuffer.put(4*i, temValue) ;
byteBuffer.put(4*i+1, temValue) ;
byteBuffer.put(4*i+2, temValue) ;
byteBuffer.put(4*i+3, alpha) ;
i++ ;
}
bmp.copyPixelsFromBuffer(byteBuffer) ;
return bmp ;
}