02人工智能创新型教师培育计划(第一期)0126
|
|||
xedu 安装使用 |
|||
1. 管理员安装
2. 解压根目录 xedu文件夹
3. 运行 bug修复
4. 执行自己习惯的编程 模式。三选一
5. Jupyter编辑器.bat 启动
保留 服务窗口
浏览器 chrome 编程页面
编程页面。
|
|||
02课内容2025年1月26日 星期日
|
|||
知识点回顾;1. 什么是编程。
程序,或者提示词避免歧义。
2. 解释性语言和编译形语言
xedu集成环境
错误解决
路径设置问题,属于软件使用问题。
版本冲突问题。
python基础
变量,引号。
切片
考试
大模型解答复杂问题。
2023年中小学教师人工智能评比考试
优质教师同等评级。 人工智能与硬件无关。
默认情况下,分类模型的推理结果返回的是列表,内容是每一个类别的概率(总和为1)。 浦育平台 - 搜索项目
https://www.openinnolab.org.cn/pjedu/home
项目克隆、;
https://www.openinnolab.org.cn/pjlab/project?id=679629837ba31558ee89bedb&backpath=/pjlab/projects/list
1)下载最新版本 XEdu 一键安装包(v1.6.7f), 建议安装在“D:/”, 具体检查要求见附录 (XEdu 环境)。 下载地址:https://p6bm2if73b.feishu.cn/file/boxcn7ejYk2XUDsHI3Miq9546Uf 2)下载最新版本的 Mind+,并安装 XEduHub 和 Flask 插件, 具体检查要求见附录 (Mind+环境)。 Mind+下载地址:https://mindplus.cc/download.html XEduHub 插件地址:https://gitee.com/liliang9693/ext-xedu-hub 二、答题 根据试题和教程完成(项目文件提供试题、参考答案、参考教程) 注:综合题请在本地完成,数据集见项目文件,任务一:auto-mpg.csv,任务二:wqx3_imagenet.zip
生成结果
默认情况下,分类模型的推理结果返回的是列表,内容是每一个类别的概率(总和为1)。比如,一个10分类的AI模型返回的推理结果是
import numpy as np
def top_k(result, k):
"""
返回概率最大的前 k 类的索引和概率。
参数:
result (list): 分类模型的推理结果,每个元素表示一个类别的概率。
k (int): 要返回的类别数量。
返回:
top_indices (list): 概率最大的前 k 类的索引。
top_probabilities (list): 这些类别的概率。
"""
# 将结果转换为 NumPy 数组
result_array = np.array(result)
# 获取概率最大的前 k 个索引
top_indices = np.argsort(result_array)[-k:][::-1]
# 获取对应的概率
top_probabilities = result_array[top_indices]
return top_indices, top_probabilities
from XEdu.hub import Workflow as wf # 导入库
# 实例化模型
model = wf(task='cls_imagenet')
# 指定进行推理的图片路径
img_path = 'demo/cat.jpg'
# 进行推理
result = model.inference(data=img_path)
# 打印结果
# print("推理结果:", result)
print("结果类型:", type(result))
print("结果长度:", len(result))
# 如果 result 是一个二维数组,提取第一行
if len(result.shape) > 1 and result.shape[0] == 1:
result = result[0]
# 打印提取后的结果
# print("提取后的推理结果:", result)
print("提取后的结果类型:", type(result))
print("提取后的结果长度:", len(result))
# 使用 top_k 函数获取概率最大的类别及其概率
k = 1
top_indices, top_probabilities = top_k(result, k)
# 打印最大值
print(f"概率最大的类别索引: {top_indices[0]}")
print(f"概率最大的类别概率: {top_probabilities[0]}")
from XEdu.hub import Workflow as wf # 导入库 cls = wf(task='cls_imagenet') # 实例化模型 img_path = 'demo/cat.jpg' # 指定进行推理的图片路径 cls.inference(data=img_path) # 进行推理 cls_format_result = cls.format_output(lang="zh") # 结果格式化输出
模型加载成功!
{'预测值': 281, '分数': 0.59826237, '预测类别': 'tabby, tabby cat'}
提示词;from XEdu.hub import Workflow as wf # 导入库 cls = wf(task='cls_imagenet') # 实例化模型 img_path = 'demo/cat.jpg' # 指定进行推理的图片路径 cls.inference(data=img_path) # 进行推理 cls_format_result = cls.format_output(lang="zh") # 结果格式化输出 这个程序就完成了图片推理, 并输出了推理结果。 模型加载成功! {'预测值': 281, '分数': 0.59826237, '预测类别': 'tabby, tabby cat'} 结合这个功能,可以帮我写个python的 应用界面程序吗。
我们可以使用
tkinter 库来创建一个简单的图形用户界面(GUI)应用程序,让用户可以轻松地选择图片并查看推理结果。以下是一个完整的示例代码:完整代码Python复制
代码说明
运行程序将上述代码保存为一个 Python 文件(例如
image_classifier_gui.py),然后运行该文件。程序将启动一个图形用户界面,用户可以通过点击按钮选择图片并查看推理结果。示例运行
提示词
可以同时把选择的图片,展示在 界面上吗。
|
|||
|
添加摄像头识别,实时吃输出结果。
要实现从摄像头实时获取图像并进行实时检测,同时输出“预测类别",你可以借助Python的 0penCV 库来捕获摄像头的视频流,然后循环读取每一帧图像,将其传入 XEduHub 的模型进行推理,并输出预测类别。以下是修改后的代码示例:
import cv2
from XEdu.hub import Workflow as wf
# 实例化模型
cls = wf(task='cls_imagenet')
# 打开摄像头
cap = cv2.VideoCapture(0)
# 检查摄像头是否成功打开
if not cap.isOpened():
print("无法打开摄像头")
exit()
# 循环读取每一帧图像
while True:
# 读取一帧
ret, frame = cap.read()
# 如果正确读取帧,ret为True
if not ret:
print("无法读取帧")
break
# 将帧图像转换为模型需要的格式
# 假设模型需要224x224的图像
resized_frame = cv2.resize(frame, (224, 224))
# 进行推理
result = cls.inference(data=resized_frame)
cls_format_result = cls.format_output(lang="zh")
# 在图像上显示预测类别
cv2.putText(frame, f"预测类别: {cls_format_result['预测类别']}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
# 显示图像
cv2.imshow('frame', frame)
# 按下 'q' 键退出
if cv2.waitKey(1) == ord('q'):
break
# 释放摄像头资源
cap.release()
# 关闭所有OpenCV窗口
cv2.destroyAllWindows()
考题,模型运行输出结果如下,
提取出来坐标。 把对应位置的矩形框 绘制出来。
总结;
|
|||
xedu路径的设置https://www.openinnolab.org.cn/pjedu/teach?mode=learn&courseId=6389aad6570167175c7300a8&scheduleId=6389c007caf1801dde9883fb&classId=null&documentId=6389b11a67cc8f3dee6c0498&from=courseDetail
当前文件的位置。。
同目录创建 demo 文件夹
demo中确保 有需要的 文件
图片路径 img_path = 'demo/cat.jpg' # 指定进行推理的图片路径 img_path = 'demo/cat.jpg' # 指定进行推理的图片路径
|
|||
考题,模型运行输出结果如下,
提取出来坐标。 把对应位置的矩形框 绘制出来。
|
|||












































浙公网安备 33010602011771号