打印
[技术讨论]

如何在米尔瑞芯微RK3576开发板上创建机器学习环境

[复制链接]
175|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myir米尔|  楼主 | 2025-6-27 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[color=rgba(0, 0, 0, 0.9)]本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微RK3576开发板)的创建机器学习环境的方案的开发测试。
[color=rgba(0, 0, 0, 0.9)]摘自优秀创作者-lulugl
米尔基于瑞芯微RK3576开发板

【前言】
【米尔-瑞芯微RK3576核心板及开发板】具有6TpsNPU以及GPU,因此是学习机器学习的好环境,为此结合《深度学习的数学——使用Python语言》
1、使用vscode 连接远程开发板
2、使用conda新建虚拟环境:
root@myd-lr3576x-debian:/home/myir/pro_learn# conda create --name myenv python=3.9

执行结果如下:
root@myd-lr3576x-debian:/home/myir/pro_learn# conda create --name myenv python=3.9
Channels:
- defaults
Platform: linux-aarch64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /root/miniconda3/envs/myenv

  added / updated specs:
    - python=3.9


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _libgcc_mutex-0.1          |             main           2 KB  defaults
    _openmp_mutex-5.1          |           51_gnu         1.4 MB  defaults
    ca-certificates-2024.11.26 |       hd43f75c_0         131 KB  defaults
    ld_impl_linux-aarch64-2.40 |       h48e3ba3_0         848 KB  defaults
    libffi-3.4.4               |       h419075a_1         140 KB  defaults
    libgcc-ng-11.2.0           |       h1234567_1         1.3 MB  defaults
    libgomp-11.2.0             |       h1234567_1         466 KB  defaults
    libstdcxx-ng-11.2.0        |       h1234567_1         779 KB  defaults
    ncurses-6.4                |       h419075a_0         1.1 MB  defaults
    openssl-3.0.15             |       h998d150_0         5.2 MB  defaults
    pip-24.2                   |   py39hd43f75c_0         2.2 MB  defaults
    python-3.9.20              |       h4bb2201_1        24.7 MB  defaults
    readline-8.2               |       h998d150_0         381 KB  defaults
    setuptools-75.1.0          |   py39hd43f75c_0         1.6 MB  defaults
    sqlite-3.45.3              |       h998d150_0         1.5 MB  defaults
    tk-8.6.14                  |       h987d8db_0         3.5 MB  defaults
    tzdata-2024b               |       h04d1e81_0         115 KB  defaults
    wheel-0.44.0               |   py39hd43f75c_0         111 KB  defaults
    xz-5.4.6                   |       h998d150_1         662 KB  defaults
    zlib-1.2.13                |       h998d150_1         113 KB  defaults
    ------------------------------------------------------------
                                           Total:        46.2 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      anaconda/pkgs/main/linux-aarch64::_libgcc_mutex-0.1-main
  _openmp_mutex      anaconda/pkgs/main/linux-aarch64::_openmp_mutex-5.1-51_gnu
  ca-certificates    anaconda/pkgs/main/linux-aarch64::ca-certificates-2024.11.26-hd43f75c_0
  ld_impl_linux-aar~ anaconda/pkgs/main/linux-aarch64::ld_impl_linux-aarch64-2.40-h48e3ba3_0
  libffi             anaconda/pkgs/main/linux-aarch64::libffi-3.4.4-h419075a_1
  libgcc-ng          anaconda/pkgs/main/linux-aarch64::libgcc-ng-11.2.0-h1234567_1
  libgomp            anaconda/pkgs/main/linux-aarch64::libgomp-11.2.0-h1234567_1
  libstdcxx-ng       anaconda/pkgs/main/linux-aarch64::libstdcxx-ng-11.2.0-h1234567_1
  ncurses            anaconda/pkgs/main/linux-aarch64::ncurses-6.4-h419075a_0
  openssl            anaconda/pkgs/main/linux-aarch64::openssl-3.0.15-h998d150_0
  pip                anaconda/pkgs/main/linux-aarch64::pip-24.2-py39hd43f75c_0
  python             anaconda/pkgs/main/linux-aarch64::python-3.9.20-h4bb2201_1
  readline           anaconda/pkgs/main/linux-aarch64::readline-8.2-h998d150_0
  setuptools         anaconda/pkgs/main/linux-aarch64::setuptools-75.1.0-py39hd43f75c_0
  sqlite             anaconda/pkgs/main/linux-aarch64::sqlite-3.45.3-h998d150_0
  tk                 anaconda/pkgs/main/linux-aarch64::tk-8.6.14-h987d8db_0
  tzdata             anaconda/pkgs/main/noarch::tzdata-2024b-h04d1e81_0
  wheel              anaconda/pkgs/main/linux-aarch64::wheel-0.44.0-py39hd43f75c_0
  xz                 anaconda/pkgs/main/linux-aarch64::xz-5.4.6-h998d150_1
  zlib               anaconda/pkgs/main/linux-aarch64::zlib-1.2.13-h998d150_1


Proceed ([y]/n)? y


Downloading and Extracting Packages:
                                                                                                                                      
Preparing transaction: done                                                                                                           
Verifying transaction: done                                                                                                           
Executing transaction: done                                                                                                           
#                                                                                                                                    
# To activate this environment, use                                                                                                   
#                                                                                                                                    
#     
import numpy as np
from sklearn.datasets import load_digits
from sklearn.neural_network import MLPClassifier
d = load_digits()
digits = d["data"]
labels = d["target"]

N = 200
idx = np.argsort(np.random.random(len(labels)))
xtest, ytest = digits[idx[:N]], labels[idx[:N]]
xtrain, ytrain = digits[idx[N:]], labels[idx[N:]]
clf = MLPClassifier(hidden_layer_sizes=(128, ))
clf.fit(xtrain, ytrain)

score = clf.score(xtest, ytest)
pred = clf.predict(xtest)
err = np.where(pred != ytest)[0]
print("score:", score)
print("err:", err)
print("actual:", ytest[err])
print("predicted:", pred[err])
nbsp;conda activate myenv                                                                                                         
#                                                                                                                                    
# To deactivate an active environment, use                                                                                            
#                                                                                                                                    
#     
import numpy as np
from sklearn.datasets import load_digits
from sklearn.neural_network import MLPClassifier
d = load_digits()
digits = d["data"]
labels = d["target"]

N = 200
idx = np.argsort(np.random.random(len(labels)))
xtest, ytest = digits[idx[:N]], labels[idx[:N]]
xtrain, ytrain = digits[idx[N:]], labels[idx[N:]]
clf = MLPClassifier(hidden_layer_sizes=(128, ))
clf.fit(xtrain, ytrain)

score = clf.score(xtest, ytest)
pred = clf.predict(xtest)
err = np.where(pred != ytest)[0]
print("score:", score)
print("err:", err)
print("actual:", ytest[err])
print("predicted:", pred[err])
nbsp;conda deactivate                                                                                                              
                                                                                                                                      
root@myd-lr3576x-debian:/home/myir/pro_learn#

然后再激活环境:
root@myd-lr3576x-debian:/home/myir/pro_learn# conda activate myenv
(myenv) root@myd-lr3576x-debian:/home/myir/pro_learn#

2、查看python版本号:
(myenv) root@myd-lr3576x-debian:/home/myir/pro_learn# python --version
Python 3.9.20

3、使用conda install numpy等来安装组件,安装好后用pip list查看

编写测试代码:
import numpy as np
from sklearn.datasets import load_digits
from sklearn.neural_network import MLPClassifier
d = load_digits()
digits = d["data"]
labels = d["target"]

N = 200
idx = np.argsort(np.random.random(len(labels)))
xtest, ytest = digits[idx[:N]], labels[idx[:N]]
xtrain, ytrain = digits[idx[N:]], labels[idx[N:]]
clf = MLPClassifier(hidden_layer_sizes=(128, ))
clf.fit(xtrain, ytrain)

score = clf.score(xtest, ytest)
pred = clf.predict(xtest)
err = np.where(pred != ytest)[0]
print("score:", score)
print("err:", err)
print("actual:", ytest[err])
print("predicted:", pred[err])

在代码中,使用MLPClassifier对象进行建模,训练测试,训练数据集非常快,训练4次后可以达到0.99:

【总结】
米尔的这款开发板,搭载3576这颗强大的芯片,搭建了深度学习的环境,进行了基础的数据集训练,效果非常好!在书中记录训练要几分钟,但是这在这款开发板上测试,只要几秒钟就训练完毕,书中说总体准确率为0.97,但是我在这款开发板上有0.99的良好效果!

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

82

主题

82

帖子

3

粉丝