树莓派pytorch搭建过程
- 前言
- 一、环境配置
- 二、搭建步骤
- 1.python准备
- 2.安装包准备
- 3.实际安装过程
- 4.其他花里胡哨操作
- 三、跑个模型试试水
- 总结
前言
生命不息,折腾不止!
号称尺寸仅有信用卡大小的小型电脑,整一个!
一、环境配置
命令行窗口中输入:
sudo nano /etc/apt/sources.list
sudo 是指用系统管理员权限启动;nano 是树莓派内置的轻量文本编辑器;/etc/apt/sources.list 是软件源的配置文件地址。
在已有内容前加注释符号#(删掉也行),然后添加:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
按Ctrl+O写入,然后回车,再按Ctrl+x离开(用惯了windows还真不习惯这种操作),然后继续在命令行中输入:
sudo nano /etc/apt/sources.list.d/raspi.list
已有的添加注释,然后添加内容
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
按Ctrl+O写入,然后回车,再按Ctrl+x离开,继续在命令行中输入:
sudo apt-get update
同步更新源和软件包。
二、搭建步骤
1.python准备
树莓派默认python为2.X版本,命令行中输入:
whereis python
可以看到内置的有一个2.7版本,一个3.7版本,成年人当然选择最新的版本用。首先将链接的2.7版本删掉:
sudo rm /usr/bin/python
然后重新创建软链接命令,链接3.7版本py:
sudo ln -s /usr/bin/python3.7 /usr/bin/pytho
然后在命令行中输入python查看当前版本号,确认是否切换。
2.安装包准备
下载编译好的‘轮子’,放到树莓派的 /home/pi 文件夹下:
链接:https://pan.baidu.com/s/1yH-jhd2vugwGxguhaF2tMA
提取码:8888
3.实际安装过程
安装必要的依赖包:
sudo apt-cache search libopenblas
sudo apt-get install libopenblas-dev
sudo apt-get install libatlas-base-dev
安装numpy:
pip3 install numpy pyyaml
numpy实在是太重要了,一定要确认安装成功!
安装torch:
pip install torch-1.6.0a0+b31f58d-cp37-cp37m-linux_armv7l.whl
安装torchvision:
pip install torchvision-0.8.0a0+10d5a55-cp37-cp37m-linux_armv7l.whl
搞定收工,测试一下行不行:
python
import torch
print(torch.__version__)
成功的话这里会输出版本号1.6.0a0+b31f58d
4.其他花里胡哨操作
- 安装pandas
sudo apt-get install python3-pandas
直接pip总是出问题,不行你试试
- 解压zip文件
sudo apt install unzip
然后cd切换到zip文件所在目录,使用命令就能解压到当前目录下:
unzip ***.zip
- 解压tar.gz文件
tar -xzvf ***.tar.gz
- 安装pycharm
网上教程很多,可以参考:在树莓派上安装 PyCharm
三、跑个模型试试水
*环境搭好了,跑一跑模型,性能怎么样?听我给你吹!
先搭一个熟悉的Mobilenet V3的训练模型,跑Indoor67数据集不过分吧,开始训练:
好家伙,这报错是个什么玩意儿?查了一下网上居然没有,再查inplace是激活函数后面的参数,这我也没见过呀,似乎跟pandas库有关,按照上面的方法重新安装,把能修改的地方全动了个遍,再跑还是报这个错,简直是在为难我胖虎!
行啊,惹不起,惹不起,那我换一个模型——跑个Googlenet,数据集我自己造,抽了5类出来,每一类放30张训练图片,15张验证图片,开始训练:
技术活儿,赏!能跑是能跑了,但是这训练速度简直乌龟爬爬,慢的离谱,难道是我设置的有问题?交换区大小已经调到4G了。
总结
查了下都说树莓派只支持CPU,这训练速度简直闻者落泪,难道只适合训练好了部署到树莓派上做推理用吗?