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

个人网站首页布局设计静态页面网站

个人网站首页布局设计,静态页面网站,龙岩天宫山,网站建设汕头背景介绍 AI编译框架分为两种运行模式#xff0c;分别是动态图模式以及静态图模式。MindSpore默认情况下是以动态图模式运行#xff0c;但也支持手工切换为静态图模式。两种运行模式的详细介绍如下#xff1a; 动态图模式 动态图的特点是计算图的构建和计算同时发生…背景介绍 AI编译框架分为两种运行模式分别是动态图模式以及静态图模式。MindSpore默认情况下是以动态图模式运行但也支持手工切换为静态图模式。两种运行模式的详细介绍如下 动态图模式 动态图的特点是计算图的构建和计算同时发生Define by run其符合Python的解释执行方式在计算图中定义一个Tensor时其值就已经被计算且确定因此在调试模型时较为方便能够实时得到中间结果的值但由于所有节点都需要被保存导致难以对整个计算图进行优化。 在MindSpore中动态图模式又被称为PyNative模式。由于动态图的解释执行特性在脚本开发和网络流程调试过程中推荐使用动态图模式进行调试。 如需要手动控制框架采用PyNative模式可以通过以下代码进行网络构建 import numpy as np import mindspore as ms from mindspore import nn, Tensor ms.set_context(modems.PYNATIVE_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) [[-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342][-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342][-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342][-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342][-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342]...[-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342][-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342][-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342][-0.00134926 -0.13563682 -0.02863023 -0.05452826 0.03290743 -0.12423715-0.0582641 -0.10854103 -0.08558805 0.06099342]]静态图模式 相较于动态图而言静态图的特点是将计算图的构建和实际计算分开Define and run。有关静态图模式的运行原理可以参考静态图语法支持。 在MindSpore中静态图模式又被称为Graph模式在Graph模式下基于图优化、计算图整图下沉等技术编译器可以针对图进行全局的优化获得较好的性能因此比较适合网络固定且需要高性能的场景。 如需要手动控制框架采用静态图模式可以通过以下代码进行网络构建 import numpy as np import mindspore as ms from mindspore import nn, Tensor 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) [[ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159][ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159][ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159][ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159]...[ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159][ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159][ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159][ 0.05363735 0.05117104 -0.03343301 0.06347139 0.07546629 0.032630910.02790363 0.06269836 0.01838502 0.04387159]]静态图模式的使用场景 MindSpore编译器重点面向Tensor数据的计算以及其微分处理。因此使用MindSpore API以及基于Tensor对象的操作更适合使用静态图编译优化。其他操作虽然可以部分入图编译但实际优化作用有限。另外静态图模式先编译后执行的模式导致其存在编译耗时。因此如果函数无需反复执行那么使用静态图加速也可能没有价值。 有关使用静态图来进行网络编译的示例请参考网络构建。 静态图模式开启方式 通常情况下由于动态图的灵活性我们会选择使用PyNative模式来进行自由的神经网络构建以实现模型的创新和优化。但是当需要进行性能加速时我们需要对神经网络部分或整体进行加速。MindSpore提供了两种切换为图模式的方式分别是基于装饰器的开启方式以及基于全局context的开启方式。 基于装饰器的开启方式 MindSpore提供了jit装饰器可以通过修饰Python函数或者Python类的成员函数使其被编译成计算图通过图优化等技术提高运行速度。此时我们可以简单的对想要进行性能优化的模块进行图编译加速而模型其他部分仍旧使用解释执行方式不丢失动态图的灵活性。无论全局context是设置成静态图模式还是动态图模式被jit修饰的部分始终会以静态图模式进行运行。 在需要对Tensor的某些运算进行编译加速时可以在其定义的函数上使用jit修饰器在调用该函数时该模块自动被编译为静态图。需要注意的是jit装饰器只能用来修饰函数无法对类进行修饰。jit的使用示例如下 import numpy as np import mindspore as ms from mindspore import nn, Tensorclass 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))ms.jit # 使用ms.jit装饰器使被装饰的函数以静态图模式运行 def run(x):model Network()return model(x)output run(input) print(output) [[-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ][-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ][-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ][-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ]...[-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ][-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ][-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ][-0.12126954 0.06986676 -0.2230821 -0.07087803 -0.01003947 0.010633920.10143848 -0.0200909 -0.09724037 0.0114444 ]]除使用修饰器外也可使用函数变换方式调用jit方法示例如下 import numpy as np import mindspore as ms from mindspore import nn, Tensorclass 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) [[ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383][ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383][ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383][ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383]...[ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383][ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383][ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383][ 0.11027216 -0.09628229 0.0457969 0.05396656 -0.06958974 0.0428197-0.1572069 -0.14151613 -0.04531277 0.07521383]]当我们需要对神经网络的某部分进行加速时可以直接在construct方法上使用jit修饰器在调用实例化对象时该模块自动被编译为静态图。示例如下 import numpy as np import mindspore as ms from mindspore import nn, Tensorclass 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) [[ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828][ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828][ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828][ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828]...[ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828][ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828][ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828][ 0.10522258 0.06597593 -0.09440921 -0.04883489 0.07194916 0.1343117-0.06813788 0.01986085 0.0216996 -0.05345828]]基于context的开启方式 context模式是一种全局的设置模式。代码示例如下 import numpy as np import mindspore as ms from mindspore import nn, Tensor 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) [[ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826][ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826][ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826][ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826]...[ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826][ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826][ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826][ 0.08501796 -0.04404321 -0.05165704 0.00357929 0.00051521 0.009464560.02748473 -0.19415936 -0.00278988 0.04024826]]静态图的语法约束 在Graph模式下Python代码并不是由Python解释器去执行而是将代码编译成静态计算图然后执行静态计算图。因此编译器无法支持全量的Python语法。MindSpore的静态图编译器维护了Python常用语法子集以支持神经网络的构建及训练。详情可参考静态图语法支持。 JitConfig配置选项 在图模式下可以通过使用JitConfig配置选项来一定程度的自定义编译流程目前JitConfig支持的配置参数如下 jit_level: 用于控制优化等级。exec_mode: 用于控制模型执行方式。jit_syntax_level: 设置静态图语法支持级别详细介绍请见静态图语法支持。 静态图高级编程技巧 使用静态图高级编程技巧可以有效地提高编译效率以及执行效率并可以使程序运行的更加稳定。详情可参考静态图高级编程技巧。
http://www.pierceye.com/news/698991/

相关文章:

  • 网站正在建设中图片南召seo快速排名价格
  • 网站怎么上线东莞网站seo优化托管
  • 网站建设免费的服务器关键词云图
  • 深圳网站建设哪家便宜彩票网站怎么做推广
  • 阿凡达网站建设西安免费做网站公司
  • 佛山的网站建设公司打鱼网站开发
  • 洛阳外贸网站推广easyui 网站设计
  • 租赁网站空间东营市建设
  • 网络课程网站模板wordpress 编辑器 插件
  • 绝对大气漂亮的响应式网站后台模板什么是网络营销与概念
  • 网站搜索功能模块wordpress 搜索模版
  • 怎么可以创建网站体育设施建设网站
  • 中航建设集团网站wordpress实现分页
  • 企业网站现状舟山seo网络优化招聘
  • 棋牌网站开发工程师网络彩票建立网站
  • 上海正规建设网站私人订制网站建设中 显示
  • 网站建设广告宣传素材论坛网站制作教程
  • 苏州怎么做网站如何做公司自己的网站
  • 网站内容通过服务器会不会被更改旅游网站建设流程是什么意思
  • 建立中文网站的英文免费网站空间
  • 外国人做家具的网站免费自己做网站软件
  • 品牌网站建设毛尖2新加坡二手手机网站大全
  • 服装集团网站建设wordpress rss格式
  • 如何进行网站分析设计说明的英文
  • 仕德伟做的网站图片怎么修做网站深圳
  • 六安电商网站建设哪家好中国电力工程造价信息网
  • 如何做优化网站排alexa优化装修网线
  • 现在视频做网站晚了吗做网站的论文摘要
  • 环保公司网站模板那个公司可以做网站
  • 英雄联盟网站源码开发设计公司