树莓派4b深度学习心得(三)

树莓派4b深度学习心得(三)

上一篇我们学会了如何正确的使用了opencv编译以及下载方式和网络问题的解决方法,接下来我们研究一下pytorch,当然opencv下载好之后需要学习的东西远远不仅于此,我们先将下载工作做好
*

一、pytorch下载心路历程

PyTorch 安装环境依赖

  1. 安装依赖
    首先安装一些编译需要的依赖库:
> sudo apt-get install libopenblas-dev cython3 libatlas-base-dev m4
> libblas-dev cmake sudo apt-get install python3-dev python3-yaml
> python3-setuptools python3-wheel python3-pillow python3-numpy

创建虚拟环境

virtualenv -p python3 ~/my_envs/pytorch source
~/my_envs/pytorch/bin/activate

编译安装 PyTorch

  1. 设置配置项

export NO_CUDA=1 export NO_DISTRIBUTED=1 export NO_MKLDNN=1 export
NO_NNPACK=1 export NO_QNNPACK=1

安装库文件

pip3 install numpy pyyaml

Tip:
务必确认一下虚拟环境下,已经安装了numpy。没有numpy的话也能成功编译,但是编译出来的PyTorch 不支持numpy。PyTorch was compiled without NumPy support。

pip list

安装开始

cd dist
pip3 install ./torch-1.6.0a0+b31f58d-cp37-cp37m-linux_armv7l.whl 

whl文件可去官网下载

编译安装 Torchvision

pytorch 1.6 对应的 torchvision 是 0.7 的版本,checkout 出来,并安装 PIL 支持。
树莓派4b深度学习心得(三)_第1张图片

安装 TorchVision

pip3 install ./torchvision-0.7.0a0+78ed10c-cp37-cp37m-linux_armv7l.whl

运行 yolo v5

  1. 克隆 yolov5 源码
git clone https://github.com/ultralytics/yolov5
  1. 软链接到 OpenCV
cd ~/my_envs/pytorch/lib/python3.7/site-packages
ln -s /usr/local/lib/python3.7/site-packages/cv2 cv2

Tip:

若要删除软链接,用 rm -rf ./cv2 即可,要注意的是千万别在最后添加 /。

  1. 安装依赖库
pip install tqdm
pip install matplotlib
pip install scipy

  1. 图像推理
    测试用最小的模型 yolov5s 对两张图片进行目标检测,识别率还不错,但速度一般,一张 3.8 秒,一张 2.8 秒,大约 0.3fps,后续可以对比一下openvino 加速的效果。
cd yolov5
python3 detect.py --source ./inference/images/ --weights weights/yolov5s.pt --conf 0.5

教大家实时流的方法就是source 0
由于现在官网yolov5版本也一直在改变,所以改变模型之后需要对应提升自己的版本哦

到这里,树莓派里的 pytorch1.6 已经可以正常工作了。

**不得不说,相对于pytorch来说,tensorflow 对各个系统的支持真的很完善,无论是各种平台还是各个版本都有对应的预编译安装包,官方文档也很详细(但不代表没有坑,详见下文),是工程化不错的选择。
而pytorch代码更pythonic,所以最新的模型和算法很多都由pytorch发布,两者长远来说会是个互相学习,互相追赶良性竞争的状态。对开发者来说,就都应该有所了解。
现在 树莓派上 tensorflow 比较成熟的版本是 1.14.0,最新版本是 2.3.0。主流应用还是 1.x 系列的比较多,但 2.x 集成keras化后明显更好用些,特别是在模型转化方面,也面向未来,所以这里用虚拟环境两者都部署一下。

安装 tensorflow

1.14 1.
建立 tensorflow 1.14 的虚拟环境

python3 -m venv --system-site-packages ~/my_envs/tensorflow
source ~/my_envs/tensorflow/bin/activate
  1. 下载 whl 安装包
    下载编译版本的 whl 安装包:
wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.14.0-buster/tensorflow-1.14.0-cp37-none-linux_armv7l.whl
wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.3.0/tensorflow-2.3.0-cp37-none-linux_armv7l.whl
  1. 安装 tensorflow 1.14.0

pip install tensorflow-1.14.0-cp37-none-linux_armv7l.whl

测试安装

python

import tensorflow as tf
print(tf.reduce_sum(tf.random.normal([1000, 1000])))
tf.version

当然本篇文章参考了一下大佬的作品,在解决了下载网络问题之后这些工作还是比较简单易懂的。参考:https://blog.csdn.net/weixin_47479625/article/details/108970755
此大佬人还是比较好,希望有能力的大佬还得多参考他的作品,如果这部分有什么刚入手不懂的小白可以咨询我2574286166qq

你可能感兴趣的:(树莓派4b,pytorch,tensorflow,深度学习)