地方门户网站系统建设方案,淘客网站佣金建设,怎样在网上做宣传,app后端用什么开发文章目录 一、引言⭐1.1下载镜像烧系统⭐1.2开发板初始化系统配置远程登陆#x1f496; 远程ssh#x1f496;查看ubuntu桌面#x1f496; 远程向日葵 二、部署LLMS大模型yolov5物体检测⭐2.1 快速启动LLMS大模型#x1f496;拉取代码#x1f496;下载mode数据#x… 文章目录 一、引言⭐1.1下载镜像烧系统⭐1.2开发板初始化系统配置远程登陆 远程ssh查看ubuntu桌面 远程向日葵 二、部署LLMS大模型yolov5物体检测⭐2.1 快速启动LLMS大模型拉取代码下载mode数据启动模型对话 ⭐2.2yolov5图片物体检测 三、体验 内置AI 应用样例⭐3.1运行 jupyterLab进入sample 启动jupyterLab ⭐3.2打开Jupyter Lab页面界面操作 ⭐3.3 释放内存 关闭样例 ⭐3.4运行目标检测样例⭐3.5运行图像曝光增强样例 四、总结 一、引言 大家好我是yma16在收到香橙派 AIpro 开发版之后开始动手实操本期分享 【 香橙派 AIpro评测】烧系统运行部署LLMS大模型跑开源yolov5物体检测并体验Jupyter Lab AI 应用样例新手入门
香橙派 AIpro Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能 AI 开发板其搭载了昇腾 AI 处理器可提供 8TOPS INT8 的计算能力内存提供了 8GB 和 16GB两种版本。可以实现图像、视频等多种数据分析与推理计算可广泛用于教育、机器人、无人机等场景。 开发版图解 前期的准备工作如下
⭐1.1下载镜像烧系统
官方下载镜像 http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html 下载unbuntu系统
官方的下载烧录镜像软件 https://etcher.balena.io/#download-etcher 下载昇腾开发一键制卡工具 点击下载 选择镜像、选择挂载的内存卡等待约10分钟3.0接口
⭐1.2开发板初始化系统配置远程登陆
将烧好的unbuntu卡放入sd card槽 正面
反面 输入密码 (操作手册有密码Mind123) 远程ssh配置
sudo vi /etc/ssh/sshd_config
#增加以下配置允许通过ssh登录#PermitRootLogin prohibit-password
PermitRootLogin yes#修改完成后需要重启ssh服务命令如下
sudo service ssh restart修改root密码
sudo passwd root验证看root密码 远程ssh
通过热点查看连接设备名称是 orangepi ai的ip
输入指令 查看ip地址
ip addr切换网络会更改ip ssh 用户名ip 输入密码 连接 香橙派 AIpro连接成功
查看ubuntu桌面
安装的是ubuntu桌面的系统,进入ubuntu 桌面
查看磁盘
df -h 目录空间dev/root29Gtempfs3.7G1.5G 远程向日葵
下载umo的版本即可 二、部署LLMS大模型yolov5物体检测
使用开源项目ChatGLM3 ManualReset 在gitee查找32G以内的开源大模型 项目地址https://gitee.com/wan-zutao/chatglm3-manual-reset
可以gitee搜索找到ChatGLM3 ManualReset该项目基于香橙派AIpro部署ChatGLM3-6B大语言模型
⭐2.1 快速启动LLMS大模型
拉取代码
创建chatglm/inference目录拉取该仓库的所有代码
cd /
mkdir -p /chatglm/inference
git clone https://gitee.com/wan-zutao/chatglm3-manual-reset.git chatglm
cd chatglm/inference下载mode数据
运行 脚本下载model数据中途网络中断可以删除 mode 和 token 目录 重新下载
bash download.sh拉取仓库过程运行的过程下载内容超过6G数据量过程比较慢长
启动模型对话
python 运行main脚本启动 main脚本调用chatglm.om6.3G响应有点慢
python3 main.py打印出项目的可以访问地址 访问即可和大模型对话
⭐2.2yolov5图片物体检测
YOLOv5是一种高效的目标检测算法具有快速、准确、轻量级的特点。 yolov5项目地址https://github.com/ultralytics/yolov5 拉取开源项目并安装依赖 脚本运行的数据运行大约4.7ms两张图片 Fusing layers… YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients, 16.4 GFLOPs image 1/2 /root/yolov5_demo/yolov5/data/images/bus.jpg: 640x480 4 persons, 1 bus, 657.6ms image 2/2 /root/yolov5_demo/yolov5/data/images/zidane.jpg: 384x640 2 persons, 2 ties, 511.0ms Speed: 4.7ms pre-process, 584.3ms inference, 14.8ms NMS per image at shape (1, 3, 640, 640) Results saved to runs/detect/exp 运行截图
识别图片结果生成目录位置为 runs/detect/exp
三、体验 内置AI 应用样例 香橙派 AIpro中预装了 Jupyter Lab 软件。Jupyter Lab 软件是一个基于 web 的交互式开发环境集成了代码编辑器、终端、文件管理器等功能使得开发者可以在一个界面中完成各种任务。并且我们在镜像中也预置了一些可以在Jupyter Lab 软件中运行的 AI 应用样例。这些样例都是使用 Python 编写的并调用了 Python 版本的AscendCL 编程接口 ⭐3.1运行 jupyterLab
进入sample 启动jupyterLab
进入目录运行sh
cd ~
cd samples
./start_nontebook.sh⭐3.2打开Jupyter Lab页面
界面操作
左侧是ai体验的实例点击进入目录下的ipynb后缀文件会执行python实例markdown是可执行的酷 ⭐3.3 释放内存 关闭样例
选择kernel下的shut down allkernets即可关闭所有运行的样例避免空间不足
⭐3.4运行目标检测样例
运动目标检测样例 样例代码
import osimport time
import argparseimport matplotlib.pyplot as plt
from PIL import Image
import numpy as npfrom acllite_model import AclLiteModel as Model
from acllite_resource import AclLiteResource as AclResource
# om模型和图片的位置
MODEL_PATH ./cnnctc.om
IMAGE_PATH ./predict.png# 初始化acl资源
acl_resource AclResource()
acl_resource.init()#导入本地om模型
print(load model....)
model Model(MODEL_PATH)
print(load model finished....)# 文本与数据编码
class CTCLabelConverter():def __init__(self, character):dict_character list(character)self.dict {}for i, char in enumerate(dict_character):self.dict[char] i 1self.character [[blank]] dict_characterself.dict[[blank]] 0#将文本转换为数字编码def encode(self, text):length [len(s) for s in text]text .join(text)text [self.dict[char] for char in text]return np.array(text), np.array(length)# 将数字编码转换为文本def decode(self, text_index, length):texts []index 0for l in length:t text_index[index:index l]char_list []for i in range(l):if t[i] ! self.dict[[blank]] and (not (i 0 and t[i - 1] t[i])):char_list.append(self.character[t[i]])text .join(char_list)texts.append(text)index lreturn texts
运行时间8ms左右输出parking文字和图片内容一致符合预期
⭐3.5运行图像曝光增强样例
选择04-HDR 的demo样例 定义资源管理类
import sys
import cv2
import numpy as np
import os
import time
import matplotlib.pyplot as plt
import aclimport acllite_utils as utils
import constants as constants
from acllite_model import AclLiteModel
from acllite_resource import resource_list
class AclLiteResource:AclLiteResource类def __init__(self, device_id0):self.device_id device_idself.context Noneself.stream Noneself.run_mode Nonedef init(self):初始化资源print(init resource stage:)ret acl.init() # acl初始化ret acl.rt.set_device(self.device_id) # 指定运算的deviceutils.check_ret(acl.rt.set_device, ret)self.context, ret acl.rt.create_context(self.device_id) # 创建contextutils.check_ret(acl.rt.create_context, ret)self.stream, ret acl.rt.create_stream() # 创建streamutils.check_ret(acl.rt.create_stream, ret)self.run_mode, ret acl.rt.get_run_mode() # 获取运行模式utils.check_ret(acl.rt.get_run_mode, ret)print(Init resource success)def __del__(self):print(acl resource release all resource)resource_list.destroy()if self.stream:print(acl resource release stream)acl.rt.destroy_stream(self.stream) # 销毁streamif self.context:print(acl resource release context)acl.rt.destroy_context(self.context) # 释放contextprint(Reset acl device , self.device_id)acl.rt.reset_device(self.device_id) # 释放deviceprint(Release acl resource success)推理功能
path os.getcwd()
input_w 512 # 推理输入width
input_h 512 # 推理输入height
INPUT_DIR os.path.join(path, data/) # 输入路径
OUTPUT_DIR os.path.join(path, out/) # 输出路径def pre_process(dir_name, input_h, input_w):预处理BGR cv2.imread(dir_name).astype(np.float32)h BGR.shape[0]w BGR.shape[1]# 进行归一化、缩放、颜色转换BGR BGR / 255.0BGR cv2.resize(BGR, (input_h, input_w))RGB cv2.cvtColor(BGR, cv2.COLOR_BGR2RGB)return RGB, h, wdef post_process(input_img, result_list, pic, input_h, input_w):后处理o_w, o_h input_img.shape[:2]# 获取推理结果进行形状变换data result_list[0].reshape(input_h, input_w, 3)# 进行缩放、颜色转换output (cv2.resize(data, (o_w, o_h)) * 255.0).astype(np.uint8)output_img cv2.cvtColor(output, cv2.COLOR_RGB2BGR)# 保存增强后图像file_name os.path.join(OUTPUT_DIR, pic)cv2.imwrite(file_name, output_img)# 拼接输入图像和增强后图像返回进行显示BGR_U8 np.concatenate([input_img, output_img], axis1)return BGR_U8def main():# 创建推理结果存放路径if not os.path.exists(OUTPUT_DIR):os.mkdir(OUTPUT_DIR)# acl初始化acl_resource AclLiteResource()acl_resource.init()# 加载模型model_path os.path.join(path, model/image_HDR_enhance.om)model AclLiteModel(model_path)# 遍历数据集进行推理src_dir os.listdir(INPUT_DIR)for pic in src_dir:if not pic.lower().endswith((.bmp, .dib, .png, .jpg, .jpeg, .pbm, .pgm, .ppm, .tif, .tiff)):print(it is not a picture, %s, ignore this file and continue, % pic)continuepic_path os.path.join(INPUT_DIR, pic)input_img cv2.imread(pic_path)# 进行预处理RGB_image, o_h, o_w pre_process(pic_path, input_h, input_w)# 计算推理耗时start_time time.time()# 执行推理result_list model.execute([RGB_image, ])end_time time.time()# 打印推理的图片信息和耗时print(pic:{}.format(pic))print(pic_size:{}x{}.format(o_h, o_w))print(time:{}ms.format(int((end_time - start_time) * 1000)))print(\n)# 进行后处理img_result post_process(input_img, result_list, pic, input_h, input_w) # 显示输入图像和增强后图像img_RGB img_result[:, :, [2, 1, 0]] # RGBplt.axis(off)plt.xticks([])plt.yticks([])plt.imshow(img_RGB)plt.show()结果
acl resource release all resource
AclLiteModel release source success
acl resource release stream
acl resource release context
Reset acl device 0
Release acl resource success
生成的图像增强效果如下 消耗时间316ms响应极快。
查看生成的out目录下的结果图片十分清晰
cd out四、总结
香橙派 AIpro有良好的生态和入门的技术文档网上也有相关的视频教程对新人很友好。 http://www.orangepi.cn 应用场景 香橙派 AIpro 开发板因为比较小巧轻量内部集合Jupyter Lab 页面非常方便对于入门人工智能的开发者非常友好。
试用场景也不仅仅局限于本文的操作还有以下的多个方向等 原型开发开发板是原型开发的理想工具。通过连接传感器、执行器和其他外设开发人员可以快速验证和迭代他们的想法并评估其可行性。 学习和教育开发板可以作为学生和初学者学习编程和电子技术的工具。它们提供了一个实践的平台让学习者通过实际操作来理解电子原理和编程概念。 项目演示开发板可以用于演示和展示技术项目。无论是在学术会议上还是在公司内部会议上通过展示实际的硬件和软件成果可以增强演示和沟通的效果。 物联网应用开发板是物联网应用开发的重要工具。它们可以用于构建和测试各种物联网设备和传感器网络。 自动化控制开发板可以用于构建自动化控制系统。通过连接和控制传感器和执行器可以实现各种自动化任务如智能家居控制、工业自动化等。
香橙派 AIpro的性能体验 散热开发板的散热性能良好持续运行8个小时整个板子的温度都比较低。 噪音开发板的噪音产生主要来自于风扇开机过程中存在一点噪音开机之后噪音就降下来了影响不大。
负载开发板的内存和cpu的使用情况状态处于健康状态能够同时处理的任务或数据量。 烧录系统部署项目过程体验 香橙派AIpro是一款简化了硬件开发过程的智能开发板。它的优势在于用户无需复杂的安装步骤只需要通过SD卡加载预配置好的镜像系统插入设备后就能直接登录并开始使用。这种预先装好的系统大大节省了新手入门的时间尤其是对于网络配置这类细节不再需要手动设置。
此外它配备了内置的Jupyter Lab环境这使得开发者可以直接在界面上编写、运行和测试人工智能应用程序极大地提高了开发效率。由于其设计简洁易用即使是不熟悉底层操作的开发者也能快速上手无论是调试还是比较数据集结果都变得更加直观和高效。
相比传统的开发板香橙派AIpro凭借其智能化的特点为开发者提供了一站式解决方案不仅减少了繁琐的工作环节而且在性能稳定性以及交互体验上都有着显著提升。这对于那些寻求快速原型制作和便捷开发环境的工程师来说无疑是一个理想的选择。