- 博客(16)
- 收藏
- 关注
原创 实现多子图和有状态模型的服务部署
概述MindSpore支持一个模型导出生成多张子图,拥有多个子图的模型一般也是有状态的模型,多个子图之间共享权重,通过多个子图配合实现性能优化等目标。例如,在鹏程·盘古模型网络场景,基于一段语句,经过多次推理产生一段语句,其中每次推理产生一个词。不同输入长度将会产生两个图,第一为输入长度为1024的全量输入图,处理首次长度不定文本,只需执行一次,第二图为输入长度为1的增量输入图,处理上一次新增的字,第二个图将执行多次。相对于优化之前仅有全量图执行多次,可实现推理服务性能的5-6倍提升。为此,MindSpo
2021-12-14 09:49:51 1180
原创 通过配置模型提供Servable
通过配置模型提供Servable概述MindSpore Serving当前仅支持Ascend 310、Ascend 910和Nvidia GPU环境。MindSpore Serving的Servable提供推理服务,包含两种类型。一种是推理服务来源于单模型,一种是推理服务来源于多模型组合,多模型组合正在开发中。模型需要进行配置以提供Serving推理服务。本文将说明如何对单模型进行配置以提供Servable,以下所有Servable配置说明针对的是单模型Servable,Serving客户端简称客户
2021-12-14 09:47:21 1555
原创 访问开启SSL/TLS的Serving服务
SSL/TLS是一个安全通信协议,可以用来验证客户端或服务器的身份,加密所有的数据,保证通信的安全。数字证书用来标识服务器或客户端的身份,私钥用来解密数据和对信息摘要进行签名。我们可以用openssl来生成服务器与客户端相关的私钥和证书。下面举个例子展示如何生成证书并进行单双向认证:单向认证仅客户端验证服务器的身份,所以我们需要服务器的证书和私钥。可以执行下面的openssl命令来生成相关证书。代码如下:生成根证书 用来签发服务器或客户端的证书openssl req -x509 -nodes -
2021-12-13 21:17:46 1002
原创 基于gRPC接口访问MindSpore Serving服务
概述MindSpore Serving提供gRPC接口访问Serving服务。在Python环境下,我们提供mindspore_serving.client 模块用于填写请求、解析回复。gRPC服务端当前支持Ascend和Nvidia GPU平台,客户端运行不依赖特定硬件环境。接下来我们通过add和ResNet-50样例来详细说明gRPC Python客户端接口的使用。add样例样例来源于add example ,add Servable提供的add_common方法提供
2021-12-13 21:17:16 269
原创 基于MindSpore Serving部署分布式推理
概述分布式推理是指推理阶段采用多卡进行推理,针对超大规模神经网络模型参数个数过多、模型无法完全加载至单卡中进行推理的问题,可利用多卡进行分布式推理。本文介绍部署分布式推理服务的流程,分布式推理服务的架构如图所示:Main进程提供客户端访问的接口,管理Distributed Worker并进行任务管理与分发;Distributed Worker进程根据模型配置自动调度Agent完成分布式推理;每一个Agent进程包含一个分布式模型的切片,占用一个device,加载模型执行推理。上图
2021-12-13 21:16:48 986
原创 基于MindSpore Serving部署推理服务
概述MindSpore Serving是一个轻量级、高性能的服务模块,旨在帮助MindSpore开发者在生产环境中高效部署在线推理服务。当用户使用MindSpore完成模型训练后,导出MindSpore模型,即可使用MindSpore Serving创建该模型的推理服务。本文以一个简单的Add网络为例,演示MindSpore Serving如何使用。环境准备运行示例前,需确保已经正确安装了MindSpore Serving,并配置了环境变量导出模型.在export_model目录下,使用add_
2021-12-13 21:16:13 762
原创 使用MindSpore Reinforcement实现深度Q学习
摘要为了使用MindSpore Reinforcement实现强化学习算法,用户需要:1.提供算法配置,将算法的实现与其部署细节分开;2.基于Actor-Learner-Environment抽象实现算法;3.创建一个执行已实现的算法的会话对象。本教程展示了使用MindSpore Reinforcement API实现深度Q学习(DQN)算法。注:为保证清晰性和可读性,仅显示与API相关的代码,不相关的代码已省略。指定DQN的Actor-Learner-Environment抽象DQN算法需要
2021-12-13 21:08:10 1145
原创 实现一个端云联邦的图像分类应用(x86)
联邦学习可分为云云联邦学习(cross-silo)和端云联邦学习(cross-device)。在云云联邦学习场景中,参与联邦学习的客户是不同的组织(例如,医疗或金融)或地理分布的数据中心,即在多个数据孤岛上训练模型。而在端云联邦学习场景中参与的客户为大量的移动或物联网设备。本框架将介绍如何在MindSpore端云联邦框架上使用网络LeNet实现一个图片分类应用。首先要下载数据集:该数据集包含62个不同类别的手写数字和字母(数字0~9、26个小写字母、26个大写字母),图像大小为28 x&nb
2021-12-13 21:06:05 1000 1
原创 MindSpore Federated--端侧部署
编译出包1.配置编译环境。2.开启联邦编译选项,在mindspore根目录进行编译,编译包含aarch64和aarch32的AAR包代码如下:export MSLITE_ENABLE_FL=onbash build.sh -A on -j32获取生成的Android AAR包。如下:mindspore-lite-maven-{version}.zip运行时要注意运行依赖:所以要构建运行依赖:将文件mindspore-lite-maven-{version}.zip解压后,所得到的目录结
2021-12-13 21:04:06 1719
原创 MindSpore Federated---云侧部署
MindSpore Federated Learning Server集群物理架构如图所示:如上图所示,在联邦学习云侧集群中,有两种角色的MindSpore进程:Federated Learning Scheduler和Federated Learning Server:Federated Learning SchedulerScheduler的作用主要有两点:协助集群组网:在集群初始化阶段,由Scheduler负责收集Server信息,并达成集群一致性。`开放管理面:支持用户通过RESTful
2021-12-13 21:01:41 639
原创 MindSpore数据的加载及处理
作为一个菜鸟进行minds pore研究的时候,很多地方都不明白,所以我建议用jupyterlab来进行操作,以避免产生错误,一步步的写下这些文章,来见证自己的成长。准备数据集阶段MindSpore提供了部分常用数据集和标准格式数据集的加载接口,我们可以直接使用mindspore.dataset中对应的数据集加载类进行数据加载。其代码如下:!mkdir ./datasets #####文件夹的创建!wget -N https://mindspore-website.obs.cn-north-4
2021-12-10 14:30:26 1323
原创 MindSpore——模型溯源
模型溯源、数据溯源和对比看板同训练看板一样属于可视化组件中的重要组成部分,在对训练数据的可视化中,通过对比看板观察不同标量趋势图发现问题,再使用溯源功能定位问题原因,给于我们在数据增强和深度神经网络中提供高效调优的能力。我们从对比分析进入溯源和对比看板。模型溯源模型溯源可视化用于展示所有训练的模型参数信息选择上图的模型参数得出如上图一般的溯源功能区。展示的模型溯源功能区,图像化展示了模型的参数信息。用户可以通过选择列的特定区域,展示区域范围内的模型信息。如上图所示模型列表》展示所有模型信息
2021-12-10 14:18:35 2457
原创 MindSpore——张量可视设计
特性背景张量可视能够帮助用户直观查看训练过程中的Tensor值,既支持以直方图的形式呈现Tensor的变化趋势,也支持查看某次step的具体Tensor值。Tensor包括权重值、梯度值、激活值等。总体设计Tensor可视主要是解析由MindSpore的TensorSummary算子记录的Tensor数据生成的Summary文件,并把结果返回给前端展示。MindInsight解析时会遵循proto文件(Google Protocol Buffer,是一种高效便捷的结构化数据存储方式)来解析Tenso
2021-12-10 14:14:57 263
原创 MindSpore——可视总体设计
训练可视功能主要包括训练看板、模型溯源、数据溯源等功能,训练看板中又包括标量、参数分布图、计算图、数据图、数据抽样、张量等子功能。本文主要介绍MindInsight训练可视功能的逻辑架构、代码组织和数据模型。训练可视逻辑架构在架构上,训练可视功能的逻辑架构分为两部分:训练信息收集架构,训练信息分析及展示架构。如下图:信息收集架构信息收集功能在MindSpore中,包括训练信息收集API模块和训练信息持久化模块。信息收集API包括:基于summary算子的训练信息收集API。这部分API主要包
2021-12-10 14:13:58 552
原创 MindSpore——异构并行
概述异构并行训练方法是通过分析图上算子内存占用和计算密集度,将内存消耗巨大或适合CPU逻辑处理的算子切分到CPU子图,将内存消耗较小计算密集型算子切分到硬件加速器子图,框架协同不同子图进行网络训练,使得处于不同硬件且无依赖关系的子图能够并行进行执行的过程。计算流程MindSpore异构并行训练典型的计算流程如下图所示:用户设置网络执行的后端代码如下:from mindspore import contextcontext.set_context(device_target=“Ascend”);
2021-12-10 14:11:11 681
原创 MindSpore使用Delegate支持第三方AI框架接入
第三方框架可以是用户自己实现,也可以是业内其他开源的框架,一般都具备在线构图的能力,即可以将多个算子构建成一张子图发放给设备执行。新增自定义Delegate类自定义Delegate要继承自deleate类。可以在构造函数中完成对第三方框架调度硬件设备有关config的初始化,如NPU指定频率、CPU指定线程数等。代码如下:class XXXDelegate : public Delegate {public:XXXDelegate() = default;~XXXDelegate() = de
2021-12-09 17:04:02 694
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人