前言:
在对算法模型进行部署的时候,往往需要做一些工作。以xilinx开发板部署tf框架模型为例,首先需要对训练好的ckpt模型进行freeze得到.pb模型,之后,对其进行量化、编译生成elf文件,然后在板卡上通过main.cc函数调用pb模型的输入/输出节点对网络模型进行计算,注意这里的计算分为两部分,其中模型的输入数据前处理和输出数据后处理的计算部分由板卡中的ARM处理器进行计算,模型的卷积计算来自板卡中的高性能算力。
这里主要针对算法在后处理部分实现时,由于ARM中不支持tf的大量依赖库,只能依靠于numpy的数据库进行测试。因此就有了对inference中的tf.函数库转为np.函数库的需求。
案例:
1.tf.shape&np.shape
2.tf.reshape&np.reshape
3.tf.range&np.arange
4.tf.tile&np.tile
5.tf.concat&np.concatenate
6.tf.exp&np.exp
7.tf.sigmoid(x)&1/(1+np.exp(-x))
后记:
突然感觉np的确很np!
本文详述了使用Xilinx开发板部署TensorFlow模型的流程,包括模型冻结、量化、编译及调用。特别关注了ARM处理器环境下,从tf.函数库到np.函数库的转换细节,如tf.shape到np.shape等,为算法后处理提供解决方案。

305

被折叠的 条评论
为什么被折叠?



