手写选择题识别-封装tensorflow模型-移植到android程序

第一部分:

现在遇到的问题:还是因为线下python训练好的模型,不能够直接无缝连接使用。

这个看起来是android中直接调用tensorflow模型,那就不用和c++模块进行对接了 。

说起来惭愧,虽然接触了一段时间的tensorflow,但是好多东西没有需要所以也没有接触到,比如一般使用的多的是tensorflow的模型保存与重载,现在又接触到了对tf的封装(还看了部署到线上的情况)。
所以知道需要看这些的资料,就顺便记录下来,万一使用这个方法了呢?

参考的教程:
http://blog.csdn.net/masa_fish/article/details/56049710

在以前的模型中,需要注意 的几点
1.需要对输入层x,和输出层y,通过形参name进行命名。

######################   1.对输入层x命名,注意x是以placehoder占位的,而输出层不是这个。
x = tf.placeholder(tf.float32,shape=[None,n_input],name="x_input")
y = tf.placeholder(tf.float32,shape=[None,n_output])
#####################

######################   2.对输出层命名
pred = tf.add(tf.matmul(dense, w2), b2, name="y_output")
######################   2.对输出层命名

2.需要将模型保存为.pb格式的文件(就在模型训练完后的位置添加一行代码就可以保存,)
需要导入graph_util包

from tensorflow.python.framework import graph_util

##################模型封装
        output_graph_def = graph_util.convert_variables_to_constants(sess, sess.graph_def,
                                                                         output_node_names=["output"])
        # 形参output_node_names用于指定输出的节点名称(不是指的要输出的节点的名称)
        pb_file_path = " my_net/save_net.pb"
        with tf.gfile.FastGFile(pb_file_path, mode='wb') as f:
            f.write(output_graph_def.SerializeToString())

        ##################模型封装

第二部分:

#################################下面入了个坑,果然是要首先有好教程才行

应该是需要从源码安装tensorflow才能够移植到android应用,所以教程上 都是说下载源码后,然后再安装 Bazel 。(如果是已经通过pip 安装了tensorflow ,那么再来源码编译 会冲突吗?)

1.从github上下载源码(这个会下载最新的,应该不会因为代码是前面一点的版本,而这个是后面的版本就有问题吧)

sudo apt install git

git clone https://github.com/tensorflow/tensorflow

这个会在当前文件夹下 克隆tensorflow源码到一个新的tensorflow文件夹中。
这里写图片描述

2.需要下载编译源码的工具

sudo apt-get install python-pip python-dev

这里写图片描述

先安装Bazel的依赖

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get install openjdk-8-jdk openjdk-8-source

sudo apt-get install pkg-config zip g++ zlib1g-dev unzip

下载安装文件,然后再改变可执行权限

https://github.com/bazelbuild/bazel/releases

chmod +x bazel-0.5.3-installer-linux
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值