CNN图像分类API接口
CNN图像分类API接口
设备管理接口
查询FPGA设备通道数量
定义:int get_fpga_tunnel_num()
功能:获取FPGA设备通道数量
参数:无
返回:当前主机FPGA设备上独立通道数量
初始化FPGA设备句柄
定义:init_fpga_handle(FpgaHandle& fh, const FpgaHandle::Mode mode = FpgaHandle::FPGA_MODE, const int tunnel = 0)
功能:初始化FPGA设备句柄
参数:
参数 | 说明 |
---|---|
fh | FPGA设备句柄 |
mode | 计算模式,取值范围FPGA_MODE 或者CPU_MODE ,默认FPGA模式 |
tunnel | 使用设备通道,机器上FPGA设备有两个可以并行的独立计算通道,默认使用0号通道 |
返回:成功返回0,失败返回-1
释放FPGA设备句柄
定义:int free_fpga_handle(FpgaHandle& fh)
功能:释放FPGA设备句柄
参数:
参数 | 说明 |
---|---|
fh | FPGA设备句柄 |
返回:成功返回0,失败返回-1
图像分类相关接口
加载训练好的CNN模型
定义:int cnn_fpga_load(FpgaHandle& fh, const std::string& cnn_proto, const std::string& cnn_model, const std::string& cnn_means, const std::string& cnn_labels)
功能:加载训练好的CNN模型
参数:
参数 | 说明 |
---|---|
fh | FPGA设备句柄 |
cnn_proto | CNN模型定义prototxt文件路径 |
cnn_model | CNN模型caffemodel权值文件路径 |
cnn_means | 图像均值文件路径 |
cnn_labels | 图像标签文件路径 |
返回:成功返回0,失败返回-1
使用CNN模型分类图像
定义:int cnn_fpga_classify(FpgaHandle& fh, const cv::Mat& image, const int topk, std::vector
功能:使用CNN模型分类图像
参数:
参数 | 说明 |
---|---|
fh | FPGA设备句柄 |
image | 输入图像 |
topk | 概率最大的k个结果 |
scores | 分类概率 |
labels | 分类标签 |
返回:成功返回0,失败返回-1
释放CNN模型使用资源
定义:int cnn_fpga_free(FpgaHandle& fh)
功能:释放CNN模型使用资源
参数:
参数 | 说明 |
---|---|
fh | FPGA设备句柄 |
返回:成功返回0,失败返回-1