RaspberryPi 4B 安装tensorflow2.4
一、SD卡格式化
-
此电脑–管理–磁盘管理,找到SD卡。
-
左击选中system-boot,点击删除卷;主分区操作相同。
-
完成上一步后,确认SD卡只显示“59.48GB 未分配”(容量根据实际情况而不同)
-
选中该SD卡,右击“新建简单卷”
-
完成后“此电脑”中就会出现这个SD卡。
至此,格式化SD卡完成。
二、刷入Ubuntu20.04LTS系统并连接
1. 刷入Ubuntu20.04LTS系统
硬件:RaspberryPi4B,4G
刷入工具:Raspberry Pi Imager v1.6.2
系统:ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz
-
CHOOSE OS → Use custom → 选择本地的ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz
-
Storage → 选择插入的SD卡
-
点击WRITE
-
配置wifi信息
重新插入SD卡,打开”system-boot“,找到”network-config“文件
修改”network-config“文件
2. 连接RaspberryPi
方式一:ssh连接
-
将SD卡插入 RaspberryPi 后开机
-
打开路由器后台找到新接入的设备,查看其IP
-
使用 Git Hash 连接 RaspberryPi,默认用户名和密码都是"ubuntu",连接后须修改密码。
-
用新密码再次用ssh连接即可
方式二: 宝塔面板连接
-
获取权限
sudo su
-
echo "nameserver 114.114.114.114">>/etc/resolv.conf
-
安装宝塔面板
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
三、安装Tensorflow2.4环境
方式一:直接安装Tensorflow2.4
1. 安装python3.7.2
-
连接 RaspberryPi
如果在此前连接过该设备,需删除 Git Hash 存储的 ssh 的连接信息
-
更新DNS
- 获取权限
sudo su
- 更改DNS
echo "nameserver 114.114.114.114">>/etc/resolv.conf
- 获取权限
-
切回 ubuntu 用户
su ubuntu
-
刷新软件源信息
sudo apt-get update
sudo apt-get upgrade
如果这一步
dpkg
出问题,执行下面这条命令sudo rm /var/lib/dpkg/lock-frontend
上面这条命令不行的话,可以使用下面这条命令,再重新执行更新
sudo rm /var/lib/dpkg/lock
-
安装python3.7.2
- 下载python3.7.2
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
- 解压文件
sudo tar -xvf Python-3.7.2.tgz
- 进入解压好的目录下
cd /Python-3.7.2
- 安装GCC软件套件
sudo apt-get install gcc
- 安装make
sudo apt-get install make
- 安装编译依赖
sudo apt-get install ruby zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
- 指定安装位置安装python3.7.2
sudo ./configure --prefix=/usr/local/bin/python3.7.2 --with-ssl
- 编译
sudo make
- 编译安装
sudo make install
- 创建软链接
sudo ln -s /usr/local/bin/python3.7.2/bin/python3.7 /usr/bin/python
sudo ln -s /usr/local/bin/python3.7.2/bin/pip3.7 /usr/bin/pip
- 检查python版本
安装成功
- 下载python3.7.2
2. 安装tensorflow2.4
-
安装依赖
sudo apt-get install libhdf5-dev
pip install Cython --user
pip install wheel --user
sudo pip install tensorflow-2.4.0-cp37-none-linux_aarch64.whl
如果报错
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/bin/python3.7.2/lib/python3.7/site-packages/six.py' Consider using the `--user` option or check the permissions.
。使用如下命令sudo pip install tensorflow-2.4.0-cp37-none-linux_aarch64.whl --user
-
测试安装好的tensorflow是否成功,运行下面的代码
import tensorflow as tf print(tf.__version__) mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test)
如果在执行此文件是报错
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject ubuntu@ubuntu:~$ pip list
更新numpy版本为1.20.0(其他版本未尝试)pip install numpy==1.20.0 --user
方式一:conda 安装 Tensorflow2.4
1. 安装 conda
-
安装conda
bash Archiconda3-0.2.3-Linux-aarch64.sh
-
无法激活 conda 环境时,设置永久环境变量实例
-
编辑 /etc/profile.d/bash_completion.sh 文件
sudo vi /etc/profile.d/bash_completion.sh
-
在文件末尾处添加如下,保存并退出
export PATH="/home/ubuntu/archiconda3/bin:$PATH"
-
环境变量更改后,在用户下次登陆时生效。如果想立刻生效,则执行下面的语句
source /etc/profile
-
2. conda 虚拟环境安装 tensorflow 2.4
创建名为tf24的conda环境
-
创建一个名为 tf24 的python版本为3.7虚拟环境
conda create -n tf2 python=3.7
-
激活 tf24 环境
conda activate tf24
-
安装依赖
conda install cython wheel
-
conda安装低版本的
h5py
这里我安装的版本是2.10.0,其他版本未测试
conda install h5py==2.10.0
-
pip直接安装已经下载好的tensorflow2.4的whl文件
pip install tensorflow-2.4.0-cp37-none-linux_aarch64.whl
四、可能用到的命令
上传单个文件到Raspberry
scp /path/filename username@servername:/path
上传目录到Raspberry
scp -r local_dir username@servername:remote_dir