MAX78000训练自己的神经网络模型

news2024/11/17 9:47:21

参考:

The MAX78000 Microcontroller, Some Coffee, and Artificial Intelligence

GitHub - MaximIntegratedAI/ai8x-training: Model Training for ADI's MAX78000 and MAX78002 AI Devices

ai8x-synthesis/WSL2.md at develop · MaximIntegratedAI/ai8x-synthesis · GitHub

微信(建议)

【嵌入式AI开发&Maxim篇二】美信Maxim78000Evaluation Kit AI开发环境

项目开发路线:

训练生成的文件分布

..../ai8x-training/
..../ai8x-synthesis/
..../ai8x-synthesis/sdk/

省略号是项目的根目录

准备

PyTorch

不能使用虚拟机,只能安装适用于 Linux 的 Windows 子系统 (WSL2)。操作如下:

ai8x-synthesis/WSL2.md at develop · MaximIntegratedAI/ai8x-synthesis · GitHub

WSL2

适用于 Linux 2 的 Windows 子系统允许在 Ubuntu Linux 下进行模型训练,并具有 CUDA 硬件加速功能,与主要在 Linux 上开发的大量机器学习工具完全兼容。

空间大小

确保有足够的可用空间用于WSL2安装和MAX78000/MAX78002工具以及数据集。强烈建议至少 32 GB 的可用空间,但要求因所用数据集的大小而异。

New versions of Windows (Windows 10 21H2 or newer, and Windows 11) support WSL2, the Windows Subsystem for Windows, with CUDA hardware acceleration.

好像太老了版本。怎么办

突然发现实验室电脑的版本正好合适,我也找了一块GT 710的显卡装了进去

安装显卡驱动程序

完犊子,这个型号的老显卡,没有CUDA 硬件加速的驱动程序。。。。

把下载类型,改成游戏就好了。。。。服了这个老六

开始安装:

完犊子,驱动都安装失败了

先跳过这一步,往后面进行

确保CUDA可用于视窗

打开命令提示符并运行nvidia-smi

好像可以啊,只不过版本好像很低,继续往下

WSL2 安装

以管理员权限打开命令提示符并安装 WSL2(注意一定要用管理员身份运行哦~具体办法自己搜索)

wsl --install

安装完成了!下一步,重启电脑!

重启之后,就这样了

在window上使用Ubuntu

整一个用户名和密码

搞定

测试一下,可不可以再WSL2用CUDA nvidia-smi

不能用,绝了。

驱动刚刚还好好的,能么就不能用了

没办法了,更新驱动吧,又是漫长的等待~(谢谢360驱动管家,助我一臂之力!)

时隔两周再次尝试

一切over!

与 Windows 共享文件

WSL2 文件系统应该用于所有操作,例如创建 git 存储库。直接在 Windows 文件系统上操作可能会导致问题。

  • 要从WSL2 中访问 Windows 文件,请使用/mnt/c/,例如/mnt/c/Users/<name>/Documents/.
  • 当 WSL2 正在运行时,可以使用网络路径从 Windows\\wsl$\Ubuntu访问 WSL2 文件系统,例如使用 Windows 资源管理器。此路径也可以映射为网络驱动器。 注意:如果 Ubuntu 20.04 是从 Windows 商店安装的,则网络路径可能改为 \\wsl$\Ubuntu-20.04.

用户主页通常位于\\wsl$\Ubuntu\home\<name>\。

请注意,MaximSDK MinGW shell 在 C:\MaximSDK\Tools\MinGW\msys\1.0\home\<name>\. 此目录独立于 Windows 文档和 WSL2 主目录。

系统和工程安装

安装一些系统包

需要一些额外的系统包,安装这些额外的包需要管理员权限。这是唯一需要管理员权限的时间。

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \  libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev \  libsndfile-dev portaudio19-dev

忘记Ubuntu密码怎么办?

参考这个:

Win10 WSL2 Ubuntu子系统用户密码忘记解决方案 - Qiyez七夜 - 博客园

无法定位到包

那就更新一下包

sudo apt-get update
sudo apt-get upgrade

这个包,装了差不多十几分钟


装完包,在安装系统包,搞定

拉取工程代码

为方便起见,定义一个名为 的 shell 变量AI_PROJECT_ROOT:

(别忘记这一系列文件夹,是自己建好的)

$ export AI_PROJECT_ROOT="$HOME/Documents/Source/AI"

将此行添加到~/.profile,然后执行以下命令:(有的命令也要权限sudo)

$ cd $AI_PROJECT_ROOT
$ sudo git clone --recursive https://github.com/MaximIntegratedAI/ai8x-training.git
$ sudo git clone --recursive https://github.com/MaximIntegratedAI/ai8x-synthesis.git

虚拟环境搭建

教程使用的是pyenv搭建虚拟环境,而且对ai8x-training和ai8x-synthesis各搭建了一个,其实这是没必要的,稳妥可以按教程来。

但博主本身就使用conda搭建过自己的深度学习环境了,所以只需版本对,且补充一些原来没有的包就行了。(注意:同时安装conda和pyenv可能会引起source activate 命令冲突,需要在.bashrc文件将其中之一注释掉。所以还是建议不要在根目录下使用pyenv install 命令直接安装pyenv)。

按教程来

先试试你没有python环境

首先查看是否有默认的Python解释器,是否为3.8.x版本:(出现以下这种情况都是没有)

$ python
Command 'python' not found, did you mean:
  command 'python3' from deb python3
  command 'python' from deb python-is-python3
# no default python, install pyenv

$ python --version
Python 2.7.18
# wrong version, pyenv required

很遗憾,我没有


安装pyenv

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
curl -L "https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash"

连接不上啊

解决办法:

参考:http://t.csdn.cn/IFsi3 解决方式一

cd /etc
sudo vim hosts
199.232.28.133 raw.githubusercontent.com

白高兴一场,又错了

不使用直接安装,先下载包,再手动安装

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
sudo echo 'export PYENV_ROOT="$HOME/.pyenv"'>>~/.bash_profile
sudo echo 'export PATH="$PYENV_ROOT/bin:$PATH"'>>~/.bash_profile
sudo echo 'eval "$(pyenv init -)"'>>~/.bash_profile
source ~/.bash_profile
pyenv --help

成功

再安装python3.8.11

 pyenv install 3.8.11

成功


进入项目目录

$ cd ai8x-training

如果使用 pyenv,将本地目录设置为使用 Python 3.8.11

pyenv local 3.8.11

在所有情况下,验证是否使用 3.8.x 版本的 Python:

$ python --version
Python 3.8.11

搭建虚拟环境

 python -m venv venv --prompt ai8x-training

一直报错

文件夹权限的问题

sudo chmod 777 ai8x-training

修改之后,再次执行虚拟环境的搭建

 python -m venv venv --prompt ai8x-training

成功

开始激活环境

source venv/bin/activate

激活成功之后,命令行会有这样的变化,多了个前缀

继续

pip3 install -U pip wheel setuptools

使用 CUDA 安装的文件

pip3 install -r requirements-cu11.txt

淦 ,好像报错了

不管了,既然小问题,继续搞

暂停这个虚拟环境

deactivate

进入另一个目录,先修改权限

 sudo chmod 777 ai8x-synthesis

检查检查python环境

$ python --version
Python 3.8.11

然后老规矩,一套组合拳,创建激活虚拟环境,安装支持文件

python -m venv venv --prompt ai8x-synthesis
source venv/bin/activate
(ai8x-synthesis) $ pip3 install -U pip setuptools
(ai8x-synthesis) $ pip3 install -r requirements.txt

到此为止,两个虚拟环境搭建完毕。

训练

看教程中,需要进行SDK安装,但我是在两个电脑开发项目的,这台电脑没装SDK,只用来训练模型。

进入工程目录,打开虚拟环境,并验证环境:

cd ai8x-training
source venv/bin/activate
./check_cuda.py

大家可以先进入scripts中看一下,都一些现成的例子

.sh文件内是训练的命令文件,一些具体命令描述使用--help查看,或查看开发文档。

直接开始训练一个已有的,试试水

scripts/train_mnist.sh

发现少了几个包

安装

$ pip install -e distiller
$ pip install shap
$ pip install pytsmod
$ pip install apputils

还是报错

硬件加速检查

检查CUDA加速

nvidia-smi -q

验证 PyTorch 是否识别 CUDA

python check_cuda.py

训练脚本

scripts/train_mnist.sh

还是老问题

打开train.py文件

主要训练软件是train.py. 它驱动训练方面,包括模型创建、检查点、模型保存和状态显示。

 export PATH=/home/iron/Documents/Source/AI/ai8x-training/venv/lib/python3.8/site-packages
cd /home/iron/Documents/Source/AI/ai8x-training/

最直接的办法,直接把那些包复制到相应文件夹下,但有一个包一直下载不下来

model_summaries是什么鬼?

尝试从其他的源下载:

python -m pip install model_summaries -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

不行

更新一下pip的版本

python -m pip install --upgrade pip

已经是最新的了,还是不行

用一下pip3

pip3 install model_summaries

还是不行

直接去官网下载这个包

PyPI · The Python Package Index

这也没有啊!!

太玄学了,包都没安装上,居然开始训练了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/137757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

移动金融管理系统设计与开发实训(课程设计报告)——基于Android+Django的银行系统部分功能设计与实现

阅读过程中若有不解和需要可私信&#xff0c;乐于解答 项目代码文档都保存着 基于AndroidDjango的银行系统部分功能开发与设计 摘要&#xff1a; 随着信息技术的快速发展以及经济的快速发展&#xff0c;金融界的信息化的进程也在不断推进&#xff0c;信息技术的不断成熟和人…

JavaWeb:EL表达式JSTL标签

1&#xff0c;EL表达式 1.1 概述 EL&#xff08;全称Expression Language&#xff09;表达式语言&#xff0c;用于简化JSP页面内的Java代码。 EL表达式的主要作用是 获取数据 。其实就是从域对象中获取数据&#xff0c;然后将数据展示在页面上。 而EL表达式的语法也比较简单…

HR软件七步帮助企业管理员工

对于中小企业&#xff08;SMB&#xff09;来说&#xff0c;员工就意味着一切。你的员工几乎掌握着企业的整体增长和发展&#xff0c;他们可以成就企业&#xff0c;但也能破坏企业的发展。为了提高员工效率&#xff0c;中小型企业需要出色的人力资源管理。员工只有在受到重视和培…

【Linux】Linux环境变量的理解

加油布鲁斯&#xff0c;你能行的&#xff01; 文章目录一、环境变量PATH中的系统默认搜索路径1.将程序安装到/usr/bin目录&#xff08;不带./运行自己写的程序&#xff09;2.将程序路径添加到PATH环境变量里面&#xff08;不带./运行自己写的程序&#xff09;二、环境变量的深…

PyTorch基础部分——毕设进行时

为了完成毕设准备开始学习PyTorch&#xff0c;第一步到蓝桥云课搜索实验项目&#xff0c;找到了“PyTorch入门与实战&#xff08;第二版&#xff09;”&#xff0c;开始边实验边学习&#xff08;本身有了一点点点点的相关基础了&#xff09;学习传送门&#xff1a;PyTorch基础入…

SQL WHERE 子句

WHERE 子句用于过滤记录。 SQL WHERE 子句 WHERE 子句用于提取那些满足指定条件的记录。 SQL WHERE 语法 SELECT column1, column2, ... FROM table_name WHERE condition; 参数说明&#xff1a; column1, column2, ...&#xff1a;要选择的字段名称&#xff0c;可以为多个…

06SpringCloudAlibaba负载均衡服务调用-OpenFeign

目录 SpringCloud Feign 查看此博客&#xff1a;005SpringCloud--Feign&#xff1a;负载均衡(基于服务端)_gh_xiaohe的博客-CSDN博客 OpenFegin概述 OpenFeign是什么&#xff1a; OpenFegin能干什么 Feign和OpenFeign两者区别 OpenFeign使用步骤 服务消费者 接口注解 微…

TP相关知识

说明 该文章来源于徒弟lu2ker转载至此处&#xff0c;更多文章可参考&#xff1a;https://github.com/lu2ker/ 文章目录说明PHP中有一些内置类PHP反序列化问题绕过姿势&#xff1a;魔术方法&#xff08;反序列化如何利用&#xff09;CMS可能存在的部分逻辑问题$_REQUEST相关安全…

小游戏引擎选型参考指南

写在前面 前面写了几期有关于小游戏的文章&#xff0c;主要从小游戏开发、小游戏运营、小游戏变现等多个角度进行了较为粗略的介绍&#xff0c;很多同学表示对小游戏引擎部分很感兴趣&#xff0c;希望能够有一些更为深入的分析介绍。今天就对目前主流的小游戏引擎进行探讨。 …

Java 并发编程 (二)CountDownLatch和CyclicBarrier的使用

CountDownLatch和CyclicBarrier CountDownLatch 功能介绍 CountDownLatch 是一个同步功能的辅助类 线程计数不为0时呈wait状态如果为0则继续执行。通过await 和 countDown 两个方法来实现等待和继续运行。 作用&#xff1a;一个线程或多个线程等待另一个线程或多个线程完成后…

2003-2021年高铁列车信息

2003-2021年高铁列车信息 1、时间&#xff1a;2003-2021年 2、指标&#xff1a; 列车车次、出发站、出发站所属地级市、出发站所属省份、出发站类型、到达站、到达站所属地级市、到达站所属省份、到达站类型、车型、开车时间、到站时间、运行时间、里程 3、指标说明&#x…

58. 微调(fine-tuning)

前面的一些章节介绍了如何在只有6万张图像的Fashion-MNIST训练数据集上训练模型。 我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet&#xff0c;它有超过1000万的图像和1000类的物体。 然而&#xff0c;我们平常接触到的数据集的规模通常在这两者之间。 假如我们…

3、基于注解的IoC装配与依赖注入

一、XML开启注解支持 1、添加context名称空间 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:context&…

03SpringCloudAlibaba服务注册中心—Zookeeper

目录 注册中心Zookeeper 五步曲&#xff1a; zookeeper服务提供者 1、03-cloud-provider-payment-zookeeper-8004 2、pom.xml 3、改yum 4、主启动 5、业务类 测试1&#xff1a; 测试2&#xff1a; ​ 服务节点是临时节点还是持久节点 粗划分&#xff1a; 细划分&am…

南京晓庄Java期末知识点复习

南京晓庄Java期末知识点复习第一章 Java 语言概述第二章 Java 语法基础标识符基本数据类型**运算符****语句**数组和字符串命令行参数输入输出第三章 类五个基本概念类类的封装类的继承**抽象类**接口关键字常用的工具类第四章 Applet及其应用**Java程序的两种基本形式****Appl…

红队渗透靶场之prime1.0(超详细!)

靶场考察知识 Wordpress WordPress是一个免费的开源内容管理系统&#xff08;CMS&#xff09;&#xff0c;可以用来创建和管理网站或博客。它是由PHP语言和MySQL数据库构建的&#xff0c;并且拥有大量的插件和主题&#xff0c;可以让您轻松地自定义网站的外观和功能 Wpscan扫…

引用量超6000的语义分割经典论文DeepLabv3解读

分享语义分割领域的一篇经典论文DeepLabv3&#xff0c;由谷歌发表于CVPR2017。开源代码地址&#xff1a; Tensorflow版本&#xff1a;https://github.com/tensorflow/models/tree/master/research/deeplabPytorch版本&#xff1a;https://github.com/open-mmlab/mmsegmentatio…

【Spring 入门教程3】

Spring_day03 &#x1f308;博客主页&#xff1a;屠一乐的博客 &#x1f4c5; 发文时间&#xff1a;2023.1.3 &#x1f388; 一定存在只有你才能做成的事 &#x1f339; 博主水平有限&#xff0c;如有错误&#xff0c;欢迎指正 欢迎各位&#x1f44d;收藏&#x1f48e;评论✉ …

mysql简介

一.mysql简介 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的 RDBMS (Relational Database Management System&a…

TensorFlow之过拟合与欠拟合-3

1 基本概念 过度拟合&#xff08;overfit&#xff09; 正则化&#xff08;regularization&#xff09; L1正则化&#xff08;L1 regularization&#xff09; L2正则化&#xff08;L2 regularization&#xff09; 删除正则化&#xff08;dropout regularization&#xff09…