树莓派上为python装tensorflow和opencv

环境

树莓派3B+, python3.5,官方系统

准备

sudo apt update
sudo apt install python3-dev python3-pip
sudo apt install libatlas-base-dev        # required for numpy

安装opencv

pip3 install opencv-python==3.3.0.10

# the last packages is required for  opencv
sudo apt install libjasper1 libjasper-dev
sudo apt-get install libqtgui4
sudo apt-get install python3-pyqt5
sudo apt-get install libqt4-test

默认安装的版本是3.4的,总是安装失败。无奈之下我指定了3.3.0.10这个版本安装成功。

安装tensorflow

谷歌官方已经支持了树莓派。直接pip安装即可。

pip3 install --user --upgrade tensorflow

如果下载很慢,可以到https://www.piwheels.org/simple/tensorflow/下载whl文件手动安装。

验证安装效果:

python3 -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

采坑1

在tf1.11 调用tflite模型遇到错误。

_tensorflow_wrap_interpreter_wrapper.so: undefined symbol: _ZN6tflite12tensor_utils24NeonVectorScalarMultiplyEPKaifPf

github上有一个issue跟我类似,还没解决:https://github.com/tensorflow/tensorflow/issues/24323
这里也有一个:https://stackoverflow.com/questions/53788952/tflite-convert-gives-undefined-symbol-error-zn6tflite12tensor-utils27neonsymme?answertab=oldest

采坑2

tf1.12调用tflite模型遇到错误:

ImportError: cannot import name 'cloud'

在github上有讨论,看样子是编译问题,1.12以后的版本应该会修复。

总结

由于上面两个坑,没有在树莓派上把tflite模型调用起来。

参考资料

使用 pip 安装 TensorFlow

ImportError: libjasper.so.1: cannot open shared object file: No such file or directory

ImportError: cannot import name ‘cloud’

你可能感兴趣的:(tensorflow,环境配置,嵌入式深度学习)