分享一个AI开发者的强力助手:openMind Library
在人工智能的浪潮中,深度学习开发套件 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也在不断地更新和完善,以适应不断变化的技术需求。我们期待与全球的AI开发者一起,共同探索AI的无限可能,共创美好的智能未来。
相关链接: https://modelers.cn/docs/zh/openmind-library/overview.html
社群交流

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
前端 Vuer,为自己的项目搭建一个 Playwright 测试环境吧,给自己多一点安全感!
本文由体验技术团队Kagol 原创 亲爱的朋友: 你是否担心修改完一个 bug,引发了多个 bug? 是否因为担心重构代码之后,影响到现有功能,从而一直不敢对现有代码进行优化,只能不断用 if/else 叠加功能? 你是否担心增加的新特性影响到其他模块的功能,从而花大量时间反复进行手工测试,确保万无一失,却依然在上线前,胆战心惊、如履薄冰? 如果你有以上困扰,推荐大家使用一款 E2E 测试神器:Playwright,新手友好,即使是初学者也能轻松学会! Playwright 是由微软开发的一款强大的自动化测试工具,旨在为现代Web应用程序提供全面的端到端(E2E)测试解决方案。它支持主流浏览器,包括 Google Chrome、Microsoft Edge、Mozilla Firefox 和 Apple Safari,并且能够在 Windows、macOS 和 Linux 平台上运行。 除了执行测试用例,Playwright 还支持录制测试用例并生成对应的代码,能大大降低编写测试用例的成本,这也是我选择 Playwright 的重要原因之一。 接下来我就带大家一起上手 Playwrig...
- 下一篇
React Native 0.75.3 发布
React Native 0.75.3 现已发布,具体更新内容如下: Changed Infra:删除 resolution 并添加 commander 作为 monorepo 的 devDependency(cf7b9b9486) CLI:将 CLI 升级到 14.1.0(6a08c38263) Fixed TypeScript:允许转换属性的只读数组类型(c16defaff2) Android specific Autolinking:修复纯 C++ TurboModules 的自动链接问题(833c3a2cf5) Renderer:如果不绘制边框,则不要使用 mGapBetweenPaths(8501b6396b) Image:使 getUri 和 isResource open(8c81ffa60a) RGNP:删除对gradle-tooling-api-builders- serviceOf failure的不必要依赖(1067798a7e) iOS specific Infra:为 visionOS 模拟器构建时包含 x86_64 slice(05dec917f2) Inf...
相关文章
文章评论
共有0条评论来说两句吧...