当前位置: 首页 > news >正文

网站建设公司ttmwlapp推广之家

网站建设公司ttmwl,app推广之家,深圳新星公司官网,微网站开发外包内容介绍#xff1a; AI编译框架分为两种运行模式#xff0c;分别是动态图模式以及静态图模式。MindSpore默认情况下是以动态图模式运行#xff0c;但也支持手工切换为静态图模式。两种运行模式的详细介绍如下#xff1a; 动态图模式#xff1a; 动态图的特点是计算图的…内容介绍 AI编译框架分为两种运行模式分别是动态图模式以及静态图模式。MindSpore默认情况下是以动态图模式运行但也支持手工切换为静态图模式。两种运行模式的详细介绍如下 动态图模式 动态图的特点是计算图的构建和计算同时发生Define by run其符合Python的解释执行方式在计算图中定义一个Tensor时其值就已经被计算且确定因此在调试模型时较为方便能够实时得到中间结果的值但由于所有节点都需要被保存导致难以对整个计算图进行优化。 在MindSpore中动态图模式又被称为PyNative模式。由于动态图的解释执行特性在脚本开发和网络流程调试过程中推荐使用动态图模式进行调试。 具体内容 1. 导包 import numpy as np import mindspore as ms from mindspore import nn, Tensor 2. 使用set_context进行动态图模式的配置 ms.set_context(modems.PYNATIVE_MODE) 3. 模型构建 class Network(nn.Cell):def __init__(self):super().__init__()self.flatten nn.Flatten()self.dense_relu_sequential nn.SequentialCell(nn.Dense(28*28, 512),nn.ReLU(),nn.Dense(512, 512),nn.ReLU(),nn.Dense(512, 10))def construct(self, x):x self.flatten(x)logits self.dense_relu_sequential(x)return logitsmodel Network() 4. 输入输出 input Tensor(np.ones([64, 1, 28, 28]).astype(np.float32)) output model(input) print(output) 5. 使用set_context进行运行静态图模式的配置 ms.set_context(modems.GRAPH_MODE) 6. 构建模型 class Network(nn.Cell):def __init__(self):super().__init__()self.flatten nn.Flatten()self.dense_relu_sequential nn.SequentialCell(nn.Dense(28*28, 512),nn.ReLU(),nn.Dense(512, 512),nn.ReLU(),nn.Dense(512, 10))def construct(self, x):x self.flatten(x)logits self.dense_relu_sequential(x)return logitsmodel Network() 7. 输入输出 input Tensor(np.ones([64, 1, 28, 28]).astype(np.float32)) output model(input) print(output) 静态图模式的使用场景 MindSpore编译器重点面向Tensor数据的计算以及其微分处理。因此使用MindSpore API以及基于Tensor对象的操作更适合使用静态图编译优化。其他操作虽然可以部分入图编译但实际优化作用有限。另外静态图模式先编译后执行的模式导致其存在编译耗时。因此如果函数无需反复执行那么使用静态图加速也可能没有价值。 静态图模式开启方式 通常情况下由于动态图的灵活性我们会选择使用PyNative模式来进行自由的神经网络构建以实现模型的创新和优化。但是当需要进行性能加速时我们需要对神经网络部分或整体进行加速。MindSpore提供了两种切换为图模式的方式分别是基于装饰器的开启方式以及基于全局context的开启方式。 基于装饰器的开启方式 MindSpore提供了jit装饰器可以通过修饰Python函数或者Python类的成员函数使其被编译成计算图通过图优化等技术提高运行速度。此时我们可以简单的对想要进行性能优化的模块进行图编译加速而模型其他部分仍旧使用解释执行方式不丢失动态图的灵活性。无论全局context是设置成静态图模式还是动态图模式被jit修饰的部分始终会以静态图模式进行运行。 在需要对Tensor的某些运算进行编译加速时可以在其定义的函数上使用jit修饰器在调用该函数时该模块自动被编译为静态图。需要注意的是jit装饰器只能用来修饰函数无法对类进行修饰。jit的使用示例如下 8. 模型构建 class Network(nn.Cell):def __init__(self):super().__init__()self.flatten nn.Flatten()self.dense_relu_sequential nn.SequentialCell(nn.Dense(28*28, 512),nn.ReLU(),nn.Dense(512, 512),nn.ReLU(),nn.Dense(512, 10))def construct(self, x):x self.flatten(x)logits self.dense_relu_sequential(x)return logits 9. 使用修饰函数输入输出 input Tensor(np.ones([64, 1, 28, 28]).astype(np.float32))ms.jit # 使用ms.jit装饰器使被装饰的函数以静态图模式运行 def run(x):model Network()return model(x)output run(input) print(output) 10. 通过调用jit将函数转换为以静态图方式执行 class Network(nn.Cell):def __init__(self):super().__init__()self.flatten nn.Flatten()self.dense_relu_sequential nn.SequentialCell(nn.Dense(28*28, 512),nn.ReLU(),nn.Dense(512, 512),nn.ReLU(),nn.Dense(512, 10))def construct(self, x):x self.flatten(x)logits self.dense_relu_sequential(x)return logitsinput Tensor(np.ones([64, 1, 28, 28]).astype(np.float32))def run(x):model Network()return model(x)run_with_jit ms.jit(run) # 通过调用jit将函数转换为以静态图方式执行 output run(input) print(output) 11. 当我们需要对神经网络的某部分进行加速时可以直接在construct方法上使用jit修饰器在调用实例化对象时该模块自动被编译为静态图。示例如下 class Network(nn.Cell):def __init__(self):super().__init__()self.flatten nn.Flatten()self.dense_relu_sequential nn.SequentialCell(nn.Dense(28*28, 512),nn.ReLU(),nn.Dense(512, 512),nn.ReLU(),nn.Dense(512, 10))ms.jit # 使用ms.jit装饰器使被装饰的函数以静态图模式运行def construct(self, x):x self.flatten(x)logits self.dense_relu_sequential(x)return logitsinput Tensor(np.ones([64, 1, 28, 28]).astype(np.float32)) model Network() output model(input) print(output) 12. 基于context的开启方式 context模式是一种全局的设置模式。 ms.set_context(modems.GRAPH_MODE) # 使用set_context进行运行静态图模式的配置class Network(nn.Cell):def __init__(self):super().__init__()self.flatten nn.Flatten()self.dense_relu_sequential nn.SequentialCell(nn.Dense(28*28, 512),nn.ReLU(),nn.Dense(512, 512),nn.ReLU(),nn.Dense(512, 10))def construct(self, x):x self.flatten(x)logits self.dense_relu_sequential(x)return logitsmodel Network() input Tensor(np.ones([64, 1, 28, 28]).astype(np.float32)) output model(input) print(output) 静态图加速的核心思想是将计算图的构建和实际计算分开也就是编译和运行分开。在构建阶段MindSpore会根据完整的计算流程对原始的计算图进行优化和调整编译得到更省内存和计算量更少的计算图。这种编译后图的结构不再改变的特性使得我们能够更好地利用硬件资源提升模型的执行效率。
http://www.pierceye.com/news/459180/

相关文章:

  • 厦门市建设安全管理协会网站网站登录模板下载
  • 江苏启安建设集团有限公司网站wordpress图标字体不显示不出来
  • 网络营销网站规划建设实训作业免费云空间
  • 杭州建设网站官网想学做宝宝食谱上什么网站
  • 用自己服务器做网站乡镇信息公开网站建设制度
  • 网站建设平台简介电子商务网站模版
  • 广州做网站怎么样安监网站如何做紧急预案备案
  • 自己做的网站怎样才有网址浏览oa软件多少钱一套
  • 旅游电子商务网站的建设深圳华强北赛格大厦最新消息
  • 视觉设计网站建设有没有做.net面试题的网站
  • 上海资格证报名网站惠州抖音seo
  • 网页设计作品html辽宁做网站和优化哪家好
  • 做门户网站 cms山东济南网站建设优化
  • 网站美工怎么做wordpress论坛化插件
  • 怎样建设自己的视频网站首页电子商务网站开发教程论文6
  • 推荐一个做照片书的网站湛江网站建设招聘
  • 厦门建网站网址ai自动设计logo
  • 蓝色织梦cms企业网站模板全站源码招聘类网站如何做
  • 郑州建设银行网站wordpress数据库怎么设置
  • 电子商务网站实例php网站建设哪家好
  • 网站开发课程报告心得简单的网页设计作品欣赏
  • 网站建设用什么系统华为弹性云做网站
  • 莱芜高端网站建设报价网站色彩策划
  • 房地产项目网站做网站互联网公司有哪些
  • 凡科做网站友情链接怎么做wordpress广告位设置
  • org已经备案的网站wap网站建设服务
  • 企业网站模板免费下载企业网站模板免费完整版的网站模板
  • 外贸网站建设公司价格怎样做触屏版手机网站
  • 南宁站建好就够用秦皇岛微信推广平台
  • 物流公司做网站有用吗河北省住房和城乡建设网站