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

wordpress极致性能技术优化seo

wordpress极致性能,技术优化seo,wordpress微信h5登录,南京网络科技网站建设mxnet深度学习(NDArray) MXNet里面的3个主要的概念: NDArray#xff1a;NDArray提供了矩阵和张量(tensor)运算在CPU和GPU上#xff0c;通过使用并行运算的技术。 Symbol:Symbol使得定义一个神经网络变得更加简单#xff0c;并且自动提供差异化(用于区别别的神经网络)。 … mxnet深度学习(NDArray) MXNet里面的3个主要的概念: NDArrayNDArray提供了矩阵和张量(tensor)运算在CPU和GPU上通过使用并行运算的技术。 Symbol:Symbol使得定义一个神经网络变得更加简单并且自动提供差异化(用于区别别的神经网络)。 KVStore: KVStore提供数据同步在有多个GPU和CPU的机器上。 NDArray(Numpy风格的可以在CPU和GPU运算的张量计算模块) NDArray与numpy.ndarray相似但是它多了以下两点: 1.多个设备支持:所有的操作可以支持GPU和CPU。 2.自动并行:所有的操作都是以并行的方式进行的。 创建和初始化 我们可以创建NDArray在CPU和GPU上: import mxnet as mxa mx.nd.empty((2, 3)) # create a 2-by-3 matrix on cpub mx.nd.empty((2, 3), mx.gpu()) # create a 2-by-3 matrix on gpu 0c mx.nd.empty((2, 3), mx.gpu(2)) # create a 2-by-3 matrix on gpu 2c.shape # get shape (2L, 3L)c.context # get device info gpu(2)它们可以初始化通过不同的方式 a mx.nd.zeros((2, 3)) # create a 2-by-3 matrix filled with 0b mx.nd.ones((2, 3)) # create a 2-by-3 matrix filled with 1b[:] 2 # set all elements of b to 2 我们可以把值从一个NDArray到另一个即使它们在不同的设备上 a mx.nd.ones((2, 3))b mx.nd.zeros((2, 3), mx.gpu())a.copyto(b) # copy data from cpu to gpu 我们可以把NDArray转换成numpy.ndarray a mx.nd.ones((2, 3))b a.asnumpy()type(b) type numpy.ndarrayprint b [[ 1. 1. 1.][ 1. 1. 1.]] 反之亦然 import numpy as npa mx.nd.empty((2, 3))a[:] np.random.uniform(-0.1, 0.1, a.shape)print a.asnumpy() [[-0.06821112 -0.03704893 0.06688045][ 0.09947646 -0.07700162 0.07681718]]/pre基础操作元素级操作是默认的NDArray执行的是元素级的操作(这和matlab里面和我们线性代数里面学的不一样) a mx.nd.ones((2, 3)) * 2b mx.nd.ones((2, 3)) * 4print b.asnumpy() [[ 4. 4. 4.][ 4. 4. 4.]]c a bprint c.asnumpy() [[ 6. 6. 6.][ 6. 6. 6.]]d a * bprint d.asnumpy() [[ 8. 8. 8.][ 8. 8. 8.]]如果两个NDArray在不同的设备上我们需要显示的把他们移到同一个设备上。下面的代码显示了在GPU 0操作的例子 a mx.nd.ones((2, 3)) * 2b mx.nd.ones((2, 3), mx.gpu()) * 3c a.copyto(mx.gpu()) * bprint c.asnumpy() [[ 6. 6. 6.][ 6. 6. 6.]]加载和保存下面有两个方式去保存(加载)数据从磁盘上。第一个方式是pickle,NDArray是pickle compatible,意味着你可以简单的把NDArray进行pickle,就像在numpy.ndarray里面一样。 import mxnet as mximport pickle as pkl a mx.nd.ones((2, 3)) * 2data pkl.dumps(a)b pkl.loads(data)print b.asnumpy() [[ 2. 2. 2.][ 2. 2. 2.]]第二个方式是直接把一列NDArray以二进制的格式存到磁盘中(这时就不用pickle了) a mx.nd.ones((2,3))*2b mx.nd.ones((2,3))*3mx.nd.save(mydata.bin, [a, b])c mx.nd.load(mydata.bin)print c[0].asnumpy() [[ 2. 2. 2.][ 2. 2. 2.]]print c[1].asnumpy() [[ 3. 3. 3.][ 3. 3. 3.]]我们还可以存一个字典(dict) mx.nd.save(mydata.bin, {a:a, b:b})c mx.nd.load(mydata.bin)print c[a].asnumpy() [[ 2. 2. 2.][ 2. 2. 2.]]print c[b].asnumpy() [[ 3. 3. 3.][ 3. 3. 3.]]另外如果设置了分布式系统比如S3和HDFS我们可以直接去保存和加载它们(一般都没有用) mx.nd.save(s3://mybucket/mydata.bin, [a,b])mx.nd.save(hdfs///users/myname/mydata.bin, [a,b])/pre用自动并行运算 NDArray可以自动并行执行操作。这是需要的当我们需要使用多个资源如CPU,GPU,和CPU-to-GPU的内存带宽。   举个栗子如果我们写a1在b1的后面a是在CPU而b是在GPU然后我们接下去想并行执行它们来提高效率。此外在CPU和GPU之间进行数据拷贝的开销是很昂贵的所以我们希望把它们和其他的运算一起并行计算。然而,通过眼睛来找可以并行运算的语句是比较累人的。在下面的例子里面a1和c*3是可以被并行执行的但是a1和b*3必须顺序执行。a mx.nd.ones((2,3)) b a c a.copyto(mx.cpu()) a 1 b * 3 c * 3幸运的是MXNet在确保运行正确的情况下可以自动解决依赖问题。换句话说我们可以写程序就像一个单一的线程MXNet将会自动派遣它们到多个设备如具有多个GPU的显卡和多台机器上。这是通过惰性评估来实现的。任何我们写的操作都是通过一个中间引擎来发行的然后返回。举个栗子如果我们运行a1它在执行加法操作后立即返回这个引擎。这个异步性允许我们发出更多的操作给引擎所以它可以决定读写依赖并找到最好的并行执行它们的方式。实际的计算是当我们想把结果拷贝到其它地方的时候完成的比如print a.asnumpy() (复制到终端)或者mx.nd.save([a])。因此如果我们想去写高效的并行的代码我们只需要延缓请求结果的时间。
http://www.pierceye.com/news/238105/

相关文章:

  • 淘宝客网站设计台州建设银行官方网站
  • 婚纱网站建设规划书2023全国企业公司大黄页
  • 网站seo的关键词排名怎么做的wordpress 在线留言
  • 建一个c2c网站要多少钱小程序云开发文档
  • asp网站合法上虞网站设计
  • 网站 用什么数据库蛋糕店网站建设方案
  • 网站上的动效是用ae做的网站开发实训小结
  • wordpress建站怎么上传网站没有备案信息该怎么做
  • 沈阳网站推广有什么技巧软件开发工具通常也称为什么工具
  • 黑龙江龙采做网站如何网站建设制作解决方案
  • 百度推广自己做网站吗网页设计软件下载网站
  • wordpress内核源码分析南宁网站优化推广
  • 物流网站做那个好服务器怎么安装WordPress
  • 网站开发怎么兼容浏览器中国优秀设计网站有哪些内容
  • 黄冈网站官方登录平台做网站的条件
  • 潍坊网站建设推广公司网站建设类的手机软件
  • 建设小学网站建设网站代理
  • 怎么查看网站根目录网站建设费记什么科目
  • 文昌市规划建设管理局网站网站与个人网站
  • 昆明网站建设推荐q479185700上墙现在最火的推广平台有哪些
  • 长兴县城乡建设局网站wordpress的留言功能
  • 建设企业网站地址asp.net 4.0网站开...
  • 制作个人网站步骤提升学历励志语录
  • 福州建站服务管理页面布局标准格式
  • 做一个公司网站一般需要多少钱营销型网站功能表
  • 为什么菜市场不可以做网站河南阿里巴巴网站建设
  • asp.net动态的网站开发手机海报制作免费软件
  • 网站建设前准备龙岗网站优化公司案例
  • 做流量哪个网站好滨州j建设局网站投诉电话
  • 空白网站怎么建wordpress 邮箱订阅