windows使用c

您所在的位置:网站首页 推理int windows使用c

windows使用c

#windows使用c| 来源: 网络整理| 查看: 265

在上一篇文章【Win10系统编译Tensorflow Lite 2.3为动态链接库tensorflowlite_c.dll】介绍了如何在Windows平台下编译tflite为动态链接库tensorflowlite_c.dll,接下来介绍如何使用tensorflowlite_c.dll。上一篇文章中我们编译的tflite库为c语言接口,即c_api,在使用过程中,只需下面一条include语句即可:

#include "tensorflow/lite/c/c_api.h"

注意,如果不想亲自动手编译,请直接将上一篇文章拉到最后,直接下载作者已编译好的库即可。

最近看到一个巨牛的人工智能教程,分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。平时碎片时间可以当小说看,【点这里可以去膜拜一下大神的“小说”】。

0 准备tflite模型

前往【https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/README.md】找到如下mobilenet v3模型下载:

下载mobilenet v3 tflite

如果无法打开链接或者是无法下载,请到附件中下载。

1 加载模型

封装函数initModel,传入tflite模型路径,代码如下:

void initModel(string path ) { TfLiteModel* model = TfLiteModelCreateFromFile(path.c_str()); TfLiteInterpreterOptions* options = TfLiteInterpreterOptionsCreate(); interpreter = TfLiteInterpreterCreate(model, options); if (interpreter == nullptr) { printf("Failed to create interpreter"); cout name, name)) { return ts; } } return nullptr; }2 前向推理

前向推理主要包括3步:

向输入Tensor拷贝输入数据 执行推理 从输出Tensor将运算结果拷贝出来

示例代码如下:

void forward(float* data, int len) { TfLiteTensorCopyFromBuffer(input_tf, data, len*sizeof(float)); TfLiteInterpreterInvoke(interpreter); float logits[1001]; TfLiteTensorCopyToBuffer(output_tf, logits, 1001*sizeof(float)); float maxV = -1; int maxIdx = -1; for (int i = 0; i < 1001; ++i) { if (logits[i] > maxV) { maxV = logits[i]; maxIdx = i; } //printf("%d->%f\n", i, logits[i]); } cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3