【基础篇0】Linux下ANACONDA与TF-LITE环境配置

0 写在前面:一些摸索与总结

  本着在学习在嵌入式Linux系统(例如树莓派)上运行AI项目(例如人脸识别),开启了这个嵌入式AI专题,来记录学习进展和踩过的一些坑。
  对于Linux系统,我发现不管是电脑x86的Ubuntu还是树莓派arm的raspberry系统,在系统安装完毕后,总是自带一个特定版本的python.
  例如我的ubuntu22.04自带的python版本是3.10,而高版本的python不一定能向下兼容第三方库,例如我要安装tf-lite时,会有以下结果
在这里插入图片描述
  红字的意思就是没有找到满足适配当前python3.10版本的tflite-runtime库,因此导致无法安装,无法使用。
  因此面临两个解决方案

方案1.删除原系统的python,再重新安装新的python

  方案1带来的问题就是,会使得系统原来依赖python的程序出错甚至无法使用,而且安装新的python需要编译,比较复杂。且安装完需要再装一些关键库,这些库可能原本是封装再系统中,现在要重新手动装,会出现一系列无法安装或者找不到适合版本的连锁问题。

  因此方案1(X)

方案2.使用多环境管理,创建不同python环境,并且与主系统环境隔离。每个环境之间的python版本,还有python包都是相互独立的。这里的多环境管理器使用的就是ANACONDA(大蟒蛇),如其名,非常主流的python多环境管理器。

  那么,下面我们就进行Linux系统上(PC机x86 ubuntu和树莓派Raspberry Pi系统)的Anaconda安装。(Win系统安装较为简单,这里不介绍)


1 Anaconda安装(Linux系统下)

1.1安装
  Linux版本:Ubuntu22.04
  进入Anaconda官网,https://www.anaconda.com/
在这里插入图片描述
  直接点击下载按钮进行下载,注意选择linux系统,如果网络不好,建议换镜像网站进行下载,这里不再赘述。下载完毕是一个.sh的安装脚本文件,使用bash或者sh命令运行脚本进行安装(注意不要用sudo,不然会安装到root文件夹下,不用sudo直接安装在home文件夹下)。详细可以参考这篇博客
  需要注意的是,如果安装完毕在命令行前没有出现(base)字样,只需要关闭当前命令行,重开即可。
  
1.2换源

  在命令行中直接输入以下命令即可

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

conda config --set show_channel_urls yes

  当首次设置好源之后,我们会发现在home下面就会有.condarc这样的隐藏文件,我们可以使用gedit打开直接编辑修改源。
在这里插入图片描述
  我的.condarc内容如下,你可以直接复制我的,或者搜索其他博主的源进行更换。

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
show_channel_urls: true

2 Miniconda安装(Raspberry Pi系统下)

  系统版本:树莓派3B,官方系统64位,aarch64
  树莓派上的安装:由于树莓派资源受限,700MB的Anaconda显得过大(我用psftp传了很久也没传过去)。树莓派上使用的是Miniconda,即专为嵌入式系统设计的Anaconda改进版本。
  这里有个大坑就是我的树莓派安装其他版本的Miniconda都会报错,只有带py37_4.9.2的版本是可以安装的(与这篇中所说的情况大致相同)。当然,如果是树莓派2B或者安装的是32位系统需要安装对应armv7l架构的版本。
  下载

wget http://repo.continuum.io/miniconda/Miniconda3-py37_4.9.2-Linux-aarch64.sh

  安装
  接着使用bash或者sh指令进行安装,与ubuntu相似,也不要加sudo,同样的流程安装下来即可。
  换源
  与上一节相同,不赘述。
  不要更新conda,因为前面说了,只有这个版本支持,如果更新conda就会造成无法使用的情况。


3 conda的使用简介

  由于Miniconda是Anaconda的轻量版本,因此其操作指令基本相同。

  环境创建与删除

#创建环境(版本指定两位不会出错,指定3位有时候会找不到相应python版本)
conda create -n [环境名] python=x.x(.x) -y
#删除环境
conda remove -n [环境名] --all

  环境切入与退出

#切入指定python环境
conda activate [环境名]
#退出环境,重复执行直至前面没有括号为止
conda deactivate

  其他

#在当前环境下安装
conda install/pip install
#查看所有conda环境
conda env list
#查看当前环境下的python版本
python3 --version
#删除conda安装的python包
conda remove [包名]

4 tflite环境搭建

  这里ubuntu和树莓派的搭建方法也完全一致,这也得益于python非常优秀的跨平台特性。

  首先创建tflite环境

conda create -n tflite python=3.7 -y

  接着安装必要的python库

#tflite-runtime
python3 -m pip install tflite-runtime
#树莓派上可能会报错,换成pip install tflite-runtime或者pip3 install tflite-runtime
#安装好后进入python3 import确认一下是否安装完毕

#安装gi和gtk3,这里因为虚拟环境中没有自带gi,需要安装gi,这个安装也是个小坑
conda install -c conda-forge pygobject
#import gi确认是否成功 
#再安装gtk3
conda install -c conda-forge gtk3

#numpy
pip3 install numpy
#cv2
pip3 install cv2
#PIL
pip3 install pillow

  至此,环境搭建就完成了。你可以再电脑上或者树莓派上切入创建的tflite环境,然后运行一些tflite的demo来进行检验环境是否安装完毕。
  (在此过程中,我的树莓派摄像头打不开了,重新检查连线是否松动,然后重启后问题解决了
在这里插入图片描述

  demo传送门:

https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/raspberry_pi

  在PC和树莓派上都试试看吧!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值