一.安装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
source /etc/profile //更新配置
android 之后下载tool26.0.2,和sdk26与25
二.下载ndk
我的版本r12b
三.下载ide
我的版本是3.0.1
cd /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
五.写安卓的程序
还没开始写,下次在继续