您的位置:首页 > 移动开发 > Android开发

tensorflow在android平台的使用(pc端为ubuntu16.04)

2017-12-23 23:17 381 查看
一.安装bazel 第一步安装JDK8:sudo apt-get install openjdk-8-jdk 第二步在包资源中增加bazel的发布源
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
第三步安装和更新bazel
sudo apt-get update && sudo apt-get install bazel

sudo apt-get upgrade bazel
注:可能会因为网络问题出现包无法定位,记住不能忽略,直到安装成功为止(记得一直翻墙哦)
二.安装Android Studio一.下载sdk我的版本是24.4.1配置环境sudo gedit /etc/profile
export ANDROID_HOME=/opt/android-sdk-linux
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
android 之后下载tool26.0.2,和sdk26与25

二.下载ndk我的版本r12b三.下载ide我的版本是3.0.1cd /opt/android-studio/bin/ 打开as下的bin目录 
sudo ./studio.sh重新配置sdk安装路径:configure –> project defaults –> project structure三.安装tensorflow下载源代码git clone --recurse-submodules https://github.com/tensorflow/tensorflow
下载tensorflow1.4.1-cp35-cp35-manylinux...这这个版本sudo pip3 install --upgrade tensorflow-1.4.1-cp35-cp35m-manylinux1_x86_64.whl四.编译retrain顿号optimize_for_inference、label_image 先使用python3.5来安装sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150进入tensorflow目录   注释:这步我也没成功所以直接使用window上进行训练
bazel build -c opt --copt=-mavx tensorflow/examples/image_retraining:retrain
bazel build tensorflow/python/tools:optimize_for_inference
bazel build tensorflow/examples/label_image:label_image
下面需要将python3.5转换为2.7
sudo mv /usr/bin/python /usr/bin/python_backup
sudo ln -s /usr/bin/python2.7 /usr/bin/python


之后进行模型优化,我的模型是window下训练好的拿过来优化的
bazel-bin/tensorflow/python/tools/optimize_for_inference \
--input=retrained_graph.pb \                                         //这个是你电脑输出的图的存放地址
--output=optimized_graph.pb \
--input_names=Mul \
--output_names=final_result

bazel-bin/tensorflow/examples/label_image/label_image \       //这步只是测试
--output_layer=final_result \
--labels=retrained_labels.txt \
--image=1.jpg \
--graph=optimized_graph.pb \
--input_layer=Mul

其中-c opt --copt=-mavx先别加,看情况加copt= (需要的环境)出错http://ask.csdn.net/questions/676227什么的会有提示的,这个是我提问的就是这个问题至于少了什么包,那就下载更新呗
如果用了python2.7会遇到undefined symbol: _ZN6google8protobuf8internal26fixed_address_empty_stringB5cxx11E
五.写安卓的程序
还没开始写,下次在继续

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息