基于ms香橙派AIpro实现垃圾回收AI识别方案二:昇思MindSpore如何使用
基于ms香橙派AIpro实现垃圾回收AI识别方案二:昇思MindSpore如何使用
基于ms香橙派AIpro实现垃圾回收AI识别方案一:昇思MindSpore介绍
基于ms香橙派AIpro实现垃圾回收AI识别方案二:昇思MindSpore如何使用
基于ms香橙派AIpro实现垃圾回收AI识别方案三:昇思大模型平台jupyter快速入门体验
基于ms香橙派AIpro实现垃圾回收AI识别方案四:MindSpore应用实践 - 基于MobileNetv2的垃圾分类
基于ms香橙派AIpro实现垃圾回收AI识别方案五:香橙派OrangePi AIpro实践(基于MobileNetv2的垃圾分类)
基于ms香橙派AIpro实现垃圾回收AI识别方案六:SOWT分析与总结
三、昇思MindSpore如何使用?
昇思MindSpore 25天学习打卡营,是昇思MindSpore开源社区为开发者打造的能力提升项目,内容涵盖AI框架基础知识、经典神经网络实践、AI+X应用实践,以及大模型理论与实践。
3.1 昇思大模型平台:
昇思大模型平台是集算法选型、创意分享、模型实验和大模型在线体验为一体的AI学习与实践社区,提供超强Ascend算力、免费课程资源、经典样例代码、企业落地案例。

大模型:
覆盖NLP和CV等场景。面向语言理解、语言生成,具有超强语言理解能力以及对话生成;可实现跨模态检索、图文生成、图片文档的信息提取等应用;可实现对遥感数据的目标检测等

模型库:
覆盖全领域主流模型,可体验MindSpore大模型推理API,用户既可下载公开的预训练模型,也可以上传自行训练的模型文件,同时平台提供GITLAB一站式代码托管,支持文件批量上传,支持LFS大文件管理。

3.2 昇思大模型平台注册与登录:
点击打开昇思大模型平台网址,跳转到账号注册登录页面,可以看到有3种方式:手机号、Gitee账号、Github账号,这里我们使用手机号进行登录。

登录后,可以跳到个人中心的主页面中,可以看到上面的导航栏有不少的模块,这里我们来使用一下“AI实验室”的模块,点击“AI实验室”中,里面会覆盖多领域任务,体验全流程开发,支持用户在线训练和推理可视化,可创建自己的项目空间。

这里我们可以看到有2种实例的配置,都是直接使用Jupyter云上开发云上开发环境,无需配置环境,既可灵活调试运行代码,目前需要使用“Ascend”算力配置需要进行申请,也可以使用CPU的实例来测试,不过,还是推荐使用“Ascend”算力配置,速度很快。

注:一个用户同时只能启动一个jupyter实例,且8个小时后会自动释放资源,到期时间前请及时将资源下载到本地。
选择“Ascend”实例后,点击“启动”按钮,就会进行初始化申请Ascend实例空间,这里需要等待不到1分钟即可完成初始化,如果按钮显示“查看jupyter”时,表示“Ascend”实例已经初始化完成,点击“查看jupyter”即可,打开云上Jupyter开发环境,进行AI的使用。

3.3 Jupyter云上开发体验:
> Jupyter是一个开源的交互式计算环境,允许用户通过Web浏览器创建和分享包含代码、方程式、可视化和叙述性文本的文档,它支持多种编程语言,如Python、R、Julia等,是数据分析、科学计算和机器学习领域的强大工具。
实例中使用的是Jupyter Lab 3.x,并集成了实用的插件,可以在Jupyter Lab上灵活运行调试代码和编写文档,通过Jupyter只需要将代码复制进去,点击执行即可得到一些结果,非常适合为小白、数据科学家、研究人员和开发者提供了一个灵活且强大的平台,用于创建、共享和展示计算性工作。

刚刚进来我们可以看到界面是全英文的,我们可以在“setting”中选择中文进行设置,需要重载一下Jupyter工具,即可以看到界面变成中文了,对于我这种英文不太好的建议使用中文,左侧中可以看到官方温馨的给我们提供了两种Demo示例:“初学入门”、“应用实践”,建议先从“初学入门”的10个案例进行学习,再通过“应用实践”的案例场景学习,来选择我们自己的场景的方案。

另外,可以看一下快速体验jupyter的基本功能,jupyter的执行顺序很重要,很多时候发现运行结果于预期不符,就是因为jupyter执行错乱导致的。


四、使用CPU实例快速体验 - 张量 Tensor:
张量(Tensor)是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标n维空间内,有nr个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。r称为该张量的秩或阶(与矩阵的秩和阶均无关系)。
张量是一种特殊的数据结构,与数组和矩阵非常相似,张量(Tensor)是MindSpore网络运算中的基本数据结构,本教程主要介绍张量和稀疏张量的属性及用法。
import numpy as np
import mindspore
from mindspore import ops
from mindspore import Tensor, CSRTensor, COOTensor
创建张量:
张量的创建方式有多种,构造张量时,支持传入Tensor、float、int、bool、tuple、list和numpy.ndarray类型。
4.1 根据数据直接生成,可以根据数据创建张量,数据类型可以设置或者通过框架自动推断。
data = [1, 0, 1, 0]
x_data = Tensor(data)
print(x_data, x_data.shape, x_data.dtype)
4.2 从NumPy数组生成,可以从NumPy数组创建张量。
np_array = np.array(data)
x_np = Tensor(np_array)
print(x_np, x_np.shape, x_np.dtype)
4.3 使用init初始化器构造张量,当使用init初始化器对张量进行初始化时,支持传入的参数有init、shape、dtype。
- init:支持传入initializer的子类。如:下方示例中的 One() 和 Normal()。
- shape: 支持传入 list、tuple、 int。
- dtype: 支持传入mindspore.dtype。
from mindspore.common.initializer import One, Normal
# Initialize a tensor with ones
tensor1 = mindspore.Tensor(shape=(2, 2), dtype=mindspore.float32, init=One())
# Initialize a tensor from normal distribution
tensor2 = mindspore.Tensor(shape=(2, 2), dtype=mindspore.float32, init=Normal())
print("tensor1:\n", tensor1)
print("tensor2:\n", tensor2)
init主要用于并行模式下的延后初始化,在正常情况下不建议使用init对参数进行初始化。
