【转】Windows+Ubuntu从双系统安装到CUDA cuDNN docker 配置K210等多模型训练环境
目录
一、系统盘制作
二、Ubuntu20.04 LTS+Windows双系统安装
三、cuda & cuDNN & Docker
四、Anaconda & Pycharm
五、yolov5
六、maix_train
准备
U盘或读卡器+SD卡【最好选用USB3.0或高速SD卡(本人用的是读卡器和SD卡)】
个人PC
新手不要在学校服务器上尝试!
新手不要在学校服务器上尝试!
新手不要在学校服务器上尝试!
一、Ubuntu20.04 LTS 镜像下载 & 启动盘制作
1. Ubuntu 20.04 LTS官方镜像下载地址: https://cn.ubuntu.com/download/desktop

2. 使用SD Memory Card Formatter格式化U盘或SD卡,使用Etcher烧录系统镜像,具体使用方法可移步上一个教程: Jetson nano从烧录系统到DeepStream+TensorRT+yolov5检测CSI摄像头视频 - 哔哩哔哩 (bilibili.com) 只需将镜像换成下好的Ubuntu镜像即可!
二、Ubuntu20.04 LTS+Windows双系统安装
1.重启电脑,按F12或者其它键进入启动项选择,并选择U盘为启动项




下面进入分区步骤,谨慎操作,数据无价!!!
下面进入分区步骤,谨慎操作,数据无价!!!
下面进入分区步骤,谨慎操作,数据无价!!!
2. 第一种情况:重装Ubutnu或者整块空磁盘,可选择清空整块磁盘,高级选项选无即可。

3.下一步选择要安装的磁盘位置,此方法仅适用空磁盘没有其他系统或分区的,如有问题看4,5步

4.第二种情况Windows或其他系统与Ubuntu共用磁盘,需要提前压缩磁盘,留出连续空闲空间

5.选择要安装的其他,在空闲空间(free space) 依次创建EFI System Partition (ESP)、Ext4 journaling file system、swap area (交换分区,可选)

EFI分区512MB即可

Ext4分区选最大,或留出8~16GB做swap分区,swap分区大小跟电脑内存(RAM)大小相同即可,不建议将/home目录单独分区。并挂载到系统跟目录 /

swap分区可选,用作swap分区

将Device for boot loader installation选择为EFI分区,并检查主分区是否挂载至根目录!

6.双系统请勿随便删除其他非空分区、主分区、逻辑分区,双系统必须在Windows磁盘管理中压缩空间成未分配状态,以防误删。再次检查确认无误后点继续!

7.时区这里选择上海(Shanghai)

8. 用户名、主机名、简短容易辨识即可

9.等待安装结束~~~

10. 安装完成,提示拔出U盘 按回车重启

进入启动项,选择刚才安装的Ubuntu,如果需要修改启动顺序,自行在Bios中修改

这里选择Ubuntu即可,如需进入Windows选第三个

三、cuda & cuDNN & Docker
cuda cuDNN仅限有NVIDIA独立显卡安装 没有或仅训练k210模型可跳至 四

打开Software & Updates 选择Additional Drivers,可能会出现与我相同的情况,选项为灰色,具体参考Ubuntu社区此帖,https://ubuntu-mate.community/t/no-proprietary-drivers-are-in-use-ubuntu-drivers-list-no-output/23204 此前没有遇到此类问题。
在终端执行sudo ubuntu-drivers autoinstall即可,本以为系统又要重装
然后选择最新的显卡驱动 版本465 cuda11.3 重启即可

输入nvidia-smi即可查看cuda版本11.3 记住这个版本号,装cuda版本只能小于或等于此版本,建议安装较新的,需要低版本可以通过anaconda中的cudatoolkit解决。anaconda安装配置环境在下面。如果不使用基础环境中的cuda cuDNN可跳过此步骤!

从NVIDIA官网,cuda11.3安装界面。


如遇到下载失败,自行删除失败文件,重新下载

deb (local)成功率最高,不建议尝试deb (network) 和runfile loacl,安装过程稍慢,请耐心等待,不要Ctrl C终止或关闭终端。

安装完成之后,加入到环境变量,可用gedit或vim编辑,vim可用sudo apt install vim安装,具体使用方法,参考上一篇帖子,

注意cuda版本是11.3,保存退出,输入source .bashrc,输入nvcc -V 即可查看cuda版本。

接下来安装cuDNN,需要注册账号,建议选用deb方式安装。https://developer.nvidia.com/cuda-download-survey


依次下载、用sudo dpkg -i *.deb方式安装

然后安装docker,https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
没有curl先sudo apt install curl,然后按照命令依次按照即可,注意不要执行Note里面关于wsl2的命令





安装完成,重启docker服务

输入sudo docker ps -a 即可查看当前运行的容器

更多Docker容器 可访问官网https://ngc.nvidia.com/catalog 查看,docker使用非常方便,官方提供各种配好的机器学习框架,计算机视觉等包,拉取即用。

四、Anaconda & Pycharm
另一种就是anaconda虚拟环境,也能够很方便的管理包,可以使用cudatoolkit而取代基础环境中的cuda cuDNN 从而避免以上繁琐的过程
https://www.anaconda.com/products/individual#Downloads

下载Linux-64位版本,先chmod a+x ./Anaconda3-2021.05-Linux-x86_64.sh提权,然后./Anaconda3-2021.05-Linux-x86_64.sh
注意!不要使用sudo sh命令,否则会安装到root下。

第一个选yes

安装目录默认即可

第二个也要选yes添加到环境变量,

重启终端,可以看见用户名前多了(base)代表基础环境,输入anaconda-navigator即可进入anaconda图形界面


然后是Pycharm安装,相较于vscode我更推荐用,
https://www.jetbrains.com/pycharm/download/#section=linux

将下载好的压缩包,解压至Home目录下


进入,bin文件夹,./pycharm.sh 启动




安装完成之后,sudo apt install git 可在Pycharm中拉取项目

五、yolov5
拉取yolov5项目 仅训练k210模型可跳过次步骤

这里选择取消 不创建Pycharm的虚拟环境

在File-Setting-Project-Python Interpreter-Add 中选择Conda Enviroment-New environment Python版本选择项目兼容的,

pip install -r requiremnets.txt -i https://mirror.baidu.com/pypi/simple

python detect.py

关于DarkNet框架编译,请参考我的上一篇教程,编译之前,需要安装cmake make libopencv-dev等包,可自行sudo apt install xxx安装
六、maix_train
接下来进入maix_train环境配置
项目地址:https://github.com/sipeed/maix_train.git

Python version 3.8

创建好之后点 + 号

搜索tensorflow,有NVIDIA的GPU选择tensorflow-gpu版本,没有选tensorflow即可版本号为2.4.1

然后,pip install -r requiremnets.txt -i https://mirror.baidu.com/pypi/simple 安装剩下的包

训练之前,先按照说明去nncase的GitHub 下载ncc v0.1.0 RC5 的Linux 版本,并解压到tools/ncc/ncc_v0.1目录下,注意不要套目录


训练之前,先python train.py init 生成配置文件,配置文件中包含epoch 等参数

这里有分类模型和检测模型可选,我这里选的是检测模型

训练结束后,会在out目录生成模型和脚本文件

修改boot.py 倒数第6行,为"/sd/m.kmodel" 复制到sd卡,插入烧好Maixpy固件的k210开发板即可运行!

写到最后,大部分深度学习项目,均可通过以上方法在Pycharm中用anaconda环境配置,相较于社区版,Pycharm专业版有更多的功能,使用docker容器也是非常方便,直接拉取就能使用。
https://www.bilibili.com/read/cv12141390/