博客
关于我
TFLite: interprenter run
阅读量:752 次
发布时间:2019-03-23

本文共 1560 字,大约阅读时间需要 5 分钟。

私 void classifyFrame() {// 获取BitmapBitmap bitmap = textureView.getBitmap(classifier.getImageSizeX(), classifier.getImageSizeY());// 感兴趣的文本String textToShow = classifier.classifyFrame(bitmap);}

// 输入数据的保存空间ByteBuffer=imgData=ByteBuffer.allocateDirect(DIM_BATCH_SIZE//1* getImageSizeX()* getImageSizeY()* DIM_PIXEL_SIZE//3* getNumBytesPerChannel());

// 将Bitmap转换为ByteBufferprivate void convertBitmapToByteBuffer(Bitmap bitmap) {imgData.rewind();bitmap.getPixels(intValues, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());

long startTime = SystemClock.uptimeMillis();pixel=0;for (int i=0; i

}

protected void addPixelValue(int pixelValue) {imgData.put((byte)((pixelValue >> 16) & 0xFF));imgData.put((byte)((pixelValue >> 8) & 0xFF));imgData.put((byte)(pixelValue & 0xFF));}

// TensorFlow Lite引擎protected Interpreter tflite;// 输入结果存储空间private ByteBuffer imgData;

// 模型加载与预处理tflite= new Interpreter(loadModelFile(activity));imgData=ByteBuffer.allocateDirect(DIM_BATCH_SIZE//1* getImageSizeX()* getImageSizeY()* DIM_PIXEL_SIZE//3* getNumBytesPerChannel());

// 模型运行public void run(Object input) {Object[] inputs = {input};Map<Integer, Object> outputs = new HashMap<>();outputs.put(0, output);runForMultipleInputsOutputs(inputs, outputs);}

public void runForMultipleInputsOutputs(Object[] inputs, Map<Integer, Object> outputs) {Tensor[] tensors = wrapper.run(inputs);for (Integer idx : outputs.keySet()) {tensors[idx].copyTo(outputs.get(idx));}}

// 定义模型输入维度private static native int[] getInputDims(long interpreterHandle, int inputIdx, int numBytes);

转载地址:http://icuzk.baihongyu.com/

你可能感兴趣的文章
NodeMCU教程 http请求获取Json中文乱码解决方案
查看>>
Nodemon 深入解析与使用
查看>>
NodeSession:高效且灵活的Node.js会话管理工具
查看>>
node~ http缓存
查看>>
node不是内部命令时配置node环境变量
查看>>
node中fs模块之文件操作
查看>>
Node中同步与异步的方式读取文件
查看>>
node中的get请求和post请求的不同操作【node学习第五篇】
查看>>
Node中的Http模块和Url模块的使用
查看>>
Node中自启动工具supervisor的使用
查看>>
Node入门之创建第一个HelloNode
查看>>