首页 > 其他分享 >分享一个AI开发者的强力助手:openMind Library

分享一个AI开发者的强力助手:openMind Library

时间:2024-09-12 20:26:49浏览次数:16  
标签:pipeline 框架 AI 模型 Library 开发者 openMind

在人工智能的浪潮中,深度学习开发套件 openMind Library,以其强大的功能和易用性,逐步成为AI开发者们的强力助手。本文将通过魔乐社区近期关注挺高的大模型平台魔乐社区,深入了解openMind Library。


openMind Library是什么?

openMind Library 是一个开源的深度学习开发套件,它通过简单易用的API接口,支持模型预训练、微调、推理、部署等流程。同时,它兼容PyTorch和MindSpore等主流框架,原生支持昇腾NPU处理器,为AI开发提供强大的支持。

功能亮点

  • 多框架兼容 为满足开发者对于技术选择的多样性需求,openMind Library原生支持PyTorch和MindSpore主流框架,开发者都可以根据自己的项目需求,灵活选择最合适的框架进行开发。
  • 大模型训练支持 为了应对大模型分布式训练的挑战,openMind Library提供了预训练接口,支持MindSpeed、Accelerate等加速库,帮助开发者顺畅快速地训练大模型。具体可参考模型预训练
  • 丰富的接口封装 openMind Library提供了对Transformers和MindFormers AutoClass、Pipeline、Trainer等接口的封装,并进行了功能增强,提供从魔乐社区自动下载和加载模型的能力,同时扩展新增了昇腾NPU亲和的特性,有效提升在昇腾NPU上进行模型训练推理的性能,具体可参考模型微调模型推理
  • 简单的命令行接口 针对本地快速运行大模型的场景,openMind Library提供了简明易用的命令行接口,低代码迅速执行模型上传下载、推理、对话、部署等操作。具体可参考命令行接口
  • 丰富的模型案例 openMind Library提供了丰富的模型开发案例,从预训练到微调,再到推理,每一步都有详细的指导和脚本支持。无论是新手还是资深开发者,都能在这里找到适合自己的资源,快速实现模型的开发和部署。具体可参考openMind Library内置模型案例表格

教程_快速入门openMind Library

1 快速安装

开始之前,请确认已经按照指引安装openMind Library。若未安装,可参考以下安装指引快速安装。

# 基于PyTorch的openMind Library快速安装

conda create -n your_venv_name python=3.8
conda activate your_venv_name

# 基于PyTorch和NPU安装openMind Library
pip install openmind[pt]
# 基于MindSpore的openMind Library快速安装

conda create -n your_venv_name python=3.8
conda activate your_venv_name

# 基于MindSpore和NPU安装openMind Library
pip install openmind[ms]
2 选择框架

根据您的项目需求,选择Python 或 MindSpore作为您的开发框架。openMind Library提供了对这两个框架的原生支持。

# MindSpore框架

## 方法一:直接在设备环境中指定使用MindSpore框架。
### Linux环境
export OPENMIND_FRAMEWORK="ms"

## 方法二:在代码中指定使用MindSpore框架。
import os
os.environ["OPENMIND_FRAMEWORK"] = "ms"
# 使用PyTorch框架  

## 方法一:直接在设备环境中指定使用PyTorch框架。

# Linux环境
export OPENMIND_FRAMEWORK="pt"

## 方法二:在代码中指定使用PyTorch框架。

import os
os.environ["OPENMIND_FRAMEWORK"] = "pt"
3 模型推理

在openMind Library中,开发者可以使用Pipeline进行推理。pipeline()提供了使用预训练模型进行推理的全流程,使用pipeline()可以轻松实现对文本、图像、音频等多种模态数据的多种任务,如文本情感分析、图像分割等。笔者以对文本的情感分析任务为例,展示如何使用pipeline()执行一个指定的任务(初级任务)。更多细节可以参考资料:使用Pipeline进行推理

  • Pipeline指定任务(初级任务) 首先,实例化一个pipeline对象并指定任务类型,本示例中指定为sentiment-analysis(所有支持的任务类型详见 pipeline当前支持的推理任务与默认模型)。此方法未指定模型,pipeline使用任务对应的预定义默认模型进行推理。
from openmind import pipeline

# 当环境中只有一种框架,若不指定framework参数,将默认基于当前框架进行推理
classifier = pipeline("sentiment-analysis")
# 当环境中有多种框架,若指定framework参数为"ms"时,将基于MindSpore框架进行推理
classifier = pipeline("sentiment-analysis", framework="ms")

在仅指定任务类型时,pipeline()会自动下载预定义默认预训练模型及分词器,本示例中的预训练模型和分词器用于情感分析,随后使用classifier对输入文本进行分析。

classifier("Welcome to the openMind library!")

'''
输出:
[{'label': 'POSITIVE', 'score': 0.999705970287323}]
'''

当输入文本不止一条时,可以把所有输入放入到列表中,一次性传给pipeline()classifier也将所有结果存储在一个字典列表内并返回:

results = classifier(["Welcome to the openMind library!", "Have a great experience using it!"])
for result in results:
    print(f"label: {result['label']}, with score: {round(result['score'], 4)}")

'''
输出:
label: POSITIVE, with score: 0.9997
label: POSITIVE, with score: 0.9998
'''
4 模型训练

openMind Library提供了一个Trainer类来实现训练模型所需功能。开发者可根据特定任务需求,将模型、框架、数据集等作为参数对象传递给Trainer进行训练,流程如下图所示:

分享一个AI开发者的强力助手:openMind Library_PyTorch

结语

魔乐社区致力于打造一个开放、共享的人工智能生态社区,鼓励每一位开发者分享自己的经验和成果。随着AI技术的不断进步,openMind Library也在不断地更新和完善,以适应不断变化的技术需求。我们期待与全球的AI开发者一起,共同探索AI的无限可能,共创美好的智能未来。

相关链接: https://modelers.cn/docs/zh/openmind-library/overview.html

社群交流

分享一个AI开发者的强力助手:openMind Library_开发者_02

标签:pipeline,框架,AI,模型,Library,开发者,openMind
From: https://blog.51cto.com/u_17007567/11992331

相关文章

  • 异步实例化预制体Object.InstantiateAsync配合Async/Await使用
    Unity2022.3.20之后,可以使用异步克隆,正如前面一篇文章《Unity2022.3.20f1新功能,异步实例化预制体Object.InstantiateAsync》说明的那样,常规的使用携程方式异步克隆,但如今await/async写法如此简单方便,肯定就不想放IEnumerator里头去实现了,怎么办呢?实现一个,代码如下:publicGame......
  • UNO 已知问题 在后台线程触发 SKXamlCanvas 的 Invalidate 且在 PaintSurface 事件抛
    本文记录一个UNO已知问题,在UNO里面可以利用SKXamlCanvas对接Skia绘制到应用里面。如果此时在后台线程里面调用SKXamlCanvas的Invalidate触发界面的重新刷新,但在具体的执行绘制PaintSurface事件里面对外抛出异常,将会导致应用炸掉背景:我准备在UNO里面将Microsoft......
  • AMD EPYC(霄龙)系列100-000000506、100-000001287、100-000001289、100-000001285 AI处
    AMDEPYC(霄龙)7003系列处理器为主流数据中心服务器树立性能和能效新标杆。相对于前两代产品,新的AMDEPYC7003系列处理器通过改进的工艺实现了基础及Boost频率的提升,并通过架构革新实现了19%的IPC提升。同时,AMD也在IODie中集成了新的安全处理器(SecureProcessor);能够在不影响性能......
  • DataGrip或者intellijIDEA 远程链接数据库的时候下载驱动失败 出现错误:https://downlo
    一、问题本人使用DataGrip版本:2023.1在链接数据库的时候出现这个错误,无法完全加载驱动,是因为这里的maven仓库下载驱动失败,这时候需要自己手动下载驱动二、怎么解决需要手动更改下载的镜像网址,改成阿里云的镜像网址仓库服务(aliyun.com)这三个仓库地址,可以选择其中一个......
  • 明天见!2024WAIC产业数据要素流通与应用论坛诚邀莅临
    7月6日下午,2024WAIC产业数据要素流通与应用论坛将于在上海世博中心430会议室举办。诚邀您莅临,聚焦数字科技最新成果,强化高水平数字化支撑,见证多项重磅成果发布,共同推动数据要素市场发展!  重磅嘉宾亮相  ......
  • 从产业区块链到产业数据空间,构建数据价值释放关键引擎 | 林乐博士在2024WAIC产业数据
    7月6日,2024WAIC零数科技产业数据要素流通与应用论坛将于在上海世博中心430会议室成功举办。零数科技创始人兼CEO林乐博士代表主办方致辞,并表示,数据市场已全面启航,数据流通基础设施是构建数据价值释放关键引擎;从产业区块链,到产业数据空间,再到金融数据空间,零数科技正式推出零数可信数......
  • [2024-9-12]如何在Z-Library中免费下载书籍讲解流程
    无不良引导,共享知识,书籍乃进步阶梯。一、登录官网https://z-lib.io/按要求进行注册。二、下载Discordhttps://discord.com/经过我的测试网页版应该是没有注册功能的,先下载再注册。三、免费下载书籍搜索图书,点击索取此书。 然后接受邀请,转到help,帮助内容如下:1)H......
  • 数据要素市场如何发展?2024WAIC零数科技这场论坛干货满满!
    7月6日,2024WAIC零数科技产业数据要素流通与应用论坛于上海世博中心430会议室成功举办。本次论坛由中国发展战略学研究会数字经济战略专委会主办,中国发展战略学研究会数字经济战略专委会、上海零数科技有限公司联合承办。作为2024WAIC重要分论坛之一,论坛以“激活数据要素×,筑基新质......
  • 安防监控视频平台LntonAIServer对比度检测算法:提升视频监控质量的关键
    LntonAIServer对比度检测算法是安防监控视频平台中的一种高级功能,用于确保视频图像质量的一致性和清晰度。以下是对这一算法的详细分析:1.算法定义与重要性 -定义:对比度检测算法用于评估图像各部分之间的差异程度。 -重要性:对比度对于视频内容的清晰度和细节表现至关重......
  • golang 中的 sync.WaitGroup
    sync.WaitGroup是Go标准库中的一个同步原语,用于协调多个goroutine的执行,确保它们在主线程或其他goroutine继续执行之前完成任务。sync.WaitGroup的用法1.创建WaitGroup实例在开始goroutine执行之前,需要创建一个WaitGroup实例。这个实例将用于跟踪正在运行的goro......