当我们有一个已经训练好的TF模型的时候,我们怎么去调用这个模型并且让他顺利在Android平台上运行起来呢?
大概包括这几个方面:
1、 保存训练完毕的TF模型
2、 在Android项目中导入TF模型、导入Android平台调用TF模型需要的jar包和so文件 (它们负责TF模型的解析和运算)
3、定义变量、存储数据,通过jar包提供的接口进行模型的调用
移植过程
我们以mnist数据集上自己训练的一个图像识别模型为例,进行讲解
一、 在使用python代码编写的TF模型定义中为模型的输入层和输出层Tensor Variable分别指定名字(通过形参 ‘name’)
X = tf.placeholder(tf.float32, shape = […], name=‘input’) //网络的输入
Y = tf.nn.softmax(tf.matmul(f, out_weights) + out_biases, name=’output’) //网络的输出
- 1
- 2
名字可以随便起,以方便好记为主,后面还会反复用到。我起的是input和output。
二、 将使用TensorFlow训练好的模型保存为.pb文件