首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小胡学编程

    PyTorch3:计算torch.autograph

    计算 ---- 一个深度学习模型是由“计算”所构成的。 计算是一个有向无环。数据是的节点,运算是的边。 image.png 上图所示的这张计算的数学表达式为 。 静态先创建计算,然后执行计算3. chain rule 运算规则 ---- 假如我们想对 求导,可以设 则:z对x的导数等于z对y求导乘上y对x求导 4. 这是因为动态计算的特点是使用完毕后会被释放,当我们对 b 求导的话,对 b 求导的计算在使用完毕后就被释放了。 retain_graph 为保存计算,create_graph 为创建计算,两者的作用是相同的,都可以保存当前计算

    1.5K31发布于 2020-08-06
  • 来自专栏NebulaGraph 技术文章

    计算 on nLive:Nebula 的计算实践

    计算之 nebula-plato [计算 on nLive:Nebula 的计算实践] nebula-plato 的分享主要由计算系统概述、Gemini 计算系统介绍、Plato 计算系统介绍以及 计算系统 的划分 [计算 on nLive:Nebula 的计算实践] 计算系统概述部分,着重讲解下图的划分、分片、存储方式等内容。 [计算 on nLive:Nebula 的计算实践] 取节点 2 的邻居,节点 2 的邻居是范围是 2~6,这样对应的邻居就是 1、3、4、5,这就是 CSR。 DataFrame): Unit = { val encodedDF = convertStringId2LongId(df) val pageRankConfig = PRConfig(3, 郝彤:因为不同的计算系统设计不同,内存使用量也就不一样。即便是同一个计算系统,不同的算法对于内存的需求也存在些差异,可以先通过 2、3 种不同数据进行测试,以便评估出最佳的资源配置。

    2.3K40编辑于 2022-02-22
  • 来自专栏Python与算法之美

    动态计算

    Pytorch底层最核心的概念是张量,动态计算以及自动微分。 本节我们将介绍 Pytorch的动态计算。 包括: 动态计算简介 计算图中的Function 计算和反向传播 叶子节点和非叶子节点 计算在TensorBoard中的可视化 一,动态计算简介 ? 第一层含义是:计算的正向传播是立即执行的。无需等待完整的计算创建完毕,每条语句都会在计算图中动态添加节点和边,并立即执行正向传播得到计算结果。 第二层含义是:计算在反向传播后立即销毁。 下次调用需要重新构建计算3,y2和y1根据其自身梯度以及关联的backward方法, 分别计算出其对应的自变量x的梯度,x.grad将其收到的多个梯度值累加。

    2.5K30发布于 2020-07-20
  • 来自专栏AI派

    TensorFlow修炼之道(3)——计算和会话(Graph&Session)

    文章内容:TensorFlow 和会话 计算计算图中,节点表示计算单位,边表示计算用到和产生的数据。 在 TensorFlow 中,系统会自动维护一个默认的计算,可以通过 tf.get_default_graph 方法来获取当前默认的计算。 import tensorflow as tf a = tf.constant([1.0, 2.0], name="a") # 通过 a.graph 可以获取张量 a 所属的计算,由于没有手动指定,所以它应该与默认的计算是一个 tf.convert_to_tensor([1, 2, 3]) <tf.Tensor 'Const:0' shape=(3,) dtype=int32> 会话 创建会话 会话(Session)拥有并管理 traceback): You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [3]

    2.1K40发布于 2018-04-11
  • 来自专栏GiantPandaCV

    回炉重造:计算

    如图,一个(2x3)的矩阵「W」和一个(3x2)的矩阵「X」运算出来的结果Y1是(2x2) 那么Y可以被表示为 那后续还有一系列相关操作,比如我们可以假设 这一系列运算,都是我们拿输入X一层,一层的前向计算 有的,那就是我们需要说的计算 计算 我们借用「」的结构就能很好的表示整个前向和后向的过程。形式如下 ? 我们再来看一个更具体的例子 ? (这幅摘自Paddle教程。 因此池化层需要将梯度传递到前面一层,而自身是不需要计算梯度优化参数。 静态 在tf1时代,其运行机制是静态,也就是「符号式编程」,tensorflow也是按照上面计算的思想,把整个运算逻辑抽象成一张「数据流」 ? 在静态图里我们可以优化到同一层级,乘法和加法同时做到 总结 这篇文章讲解了计算的提出,框架内部常见算子的反向传播方法,以及动静态的主要区别。

    3.3K20发布于 2020-08-10
  • 来自专栏技术成长

    的排序计算和传播计算

    图片的排序计算一种流行的拓扑排序算法是Kahn算法,具体步骤如下:统计每个顶点的入度(即有多少个顶点指向该顶点)。将入度为0的顶点加入到一个队列中。 重复步骤3和步骤4,直到队列为空。处理有环的拓扑排序问题:如果一个图存在环,那么无法进行拓扑排序。在Kahn算法中,如果最后还存在入度不为0的顶点,那么说明图中存在环。 Markdown格式输出结果:拓扑排序的结果为:顶点1 -> 顶点2 -> 顶点3 -> ... -> 顶点n图中存在环。的传播计算一种常见的传播模型是SIR模型,该模型描述了病毒传播的过程。 预测信息在网络中的传播路径可以基于以下的算法:广度优先搜索 (BFS):该算法从某个指定的节点出发,在图中逐级扩展搜索,以找到特定节点或满足特定条件的节点。 DFS通常比BFS更适用于探索的整个结构,而不仅仅是在最短路径上进行搜索。PageRank算法:PageRank算法是一种将节点排名按照重要性进行排序的算法。

    84861编辑于 2023-10-29
  • 来自专栏技术成长

    的社区计算和嵌入计算

    图片的社区计算社区发现是指在一个图中,将节点分割成若干个互不相交的子集,使得子集内节点之间的连接更加密集,而子集之间的连接较为稀疏。 以上是一种用于发现社区的算法,但并不是唯一的方法,还有许多其他的社区发现算法可以应用于不同的情况和结构。的嵌入计算嵌入是将一个映射到低维空间中的过程。 MDS可以用于对的邻接矩阵计算节点的向量表示。局部线性嵌入(LLE):LLE是一种非线性降维方法,它通过将每个节点表示为其邻居节点的线性组合的方式来进行降维。 Isomap可以用于计算图中节点的向量表示。图卷积神经网络(GCN):GCN是一种基于深度学习的嵌入方法,它通过在每个节点上应用卷积操作来学习节点的向量表示。 注意力网络(GAT):GAT是一种使用注意力机制的嵌入方法,它能够自适应地学习每个节点与其邻居节点之间的关系。GAT可以通过多层注意力操作来计算节点的向量表示。

    93792编辑于 2023-10-30
  • 来自专栏TechBlog

    PyTorch: 计算与动态机制

    文章目录 计算 PyTorch的动态机制 计算 计算是用来描述运算的有向无环 计算有两个主要元素: 结点 Node 边 Edge 结点表示数据:如向量,矩阵,张量 边表示运算:如加减乘除卷积等 用计算图表示:y = (x+ w) * (w+1) a = x + w b = w + 1 y = a * b 计算与梯度求导 y = (x+ w) * (w+1) a = x + w 计算与梯度求导 y = (x+ w) * (w+1) 叶子结点 :用户创建的结点称为叶子结点,如 X 与 W is_leaf: 指示张量是否为叶子结点 叶子节点的作用是标志存储叶子节点的梯度,而清除在反向传播过程中的变量的梯度 根据计算搭建方式,可将计算分为动态和静态 动态 运算与搭建同时进行 灵活 易调节 例如动态 PyTorch: 静态 先搭建, 后运算 高效 不灵活。 静态 TensorFlow

    2.9K10编辑于 2022-11-13
  • 来自专栏全栈程序员必看

    L3-023 计算(链式求导+bfs拓扑|dfs)「建议收藏」

    计算”(computational graph)是现代深度学习系统的基础执行引擎,提供了一种表示任意数学表达式的方法,例如用有向无环图表示的神经网络。 例如,下图就是一个函数 ( 的计算。 现在给定一个计算,请你根据所有输入变量计算函数值及其偏导数(即梯度)。 例如,给定输入,,上述计算获得函数值 (;并且根据微分链式法则,上图得到的梯度 ∇。 如果你注意观察,可以发现在计算图中,计算函数值是一个从左向右进行的计算,而计算偏导数则正好相反。 输入格式: 输入在第一行给出正整数 N(≤),为计算图中的顶点数。 题目保证只有一个输出顶点(即没有出边的顶点,例如上图最右边的 -),且计算过程不会超过双精度浮点数的计算精度范围。 输出格式: 首先在第一行输出给定计算的函数值。

    31820编辑于 2022-09-22
  • 来自专栏技术成长

    的度计算和相似度计算

    图片的度计算对于一个无向,节点的度数表示该节点连接的边的数量。 可以通过以下公式计算某个节点的度数:度数 = 与节点相连的边的数量对于一个有向,节点的出度表示从该节点出发的边的数量,入度表示指向该节点的边的数量。 可以通过以下公式计算某个节点的出度和入度:出度 = 从节点出发的边的数量入度 = 指向节点的边的数量的相似度计算一种用于计算节点相似度的算法是节点结构相似度算法。 该算法基于两个节点之间的结构相似性来计算节点的相似度。首先,将每个节点的邻居节点及其边的类型记录下来,构建节点的邻接矩阵。对于两个节点i和j,分别计算它们的邻居节点集合Ni和Nj。 计算节点i的邻居节点与节点j的邻居节点的交集大小,记为A。计算节点i的邻居节点与节点j的邻居节点的并集大小,记为B。计算节点j的邻居节点与节点i的邻居节点的交集大小,记为C。

    1.7K61编辑于 2023-10-29
  • 来自专栏AI系统

    AI框架跟计算什么关系?PyTorch如何表达计算

    本节将会以AI概念落地的时候,遇到的一些问题与挑战,因此引出了计算的概念来对神经网络模型进行统一抽象。接着展开什么是计算计算的基本构成来深入了解诶计算。 因此派生出了目前主流的深度学习框架都选择使用计算来抽象神经网络计算。图片计算的定义我们会经常遇到有些 AI 框架把统一的描述称为数据流,有些称为计算,这里可以统称为计算。 $$ x_{mat} = \begin{bmatrix} 1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9 \end{bmatrix} $$x_mat = [[1, 2, 3], [4 下面是针对形状为 (3, 2, 5) 的三维张量进行表示。图片虽然张量通常用索引来指代轴,但是始终要记住每个轴的含义。 每个算子接受的输入输出不同,如Conv算子接受3个输入Tensor,1个输出Tensor下面以简单的一个卷积、一个激活的神经网络模型的正向和反向为例,其前向的计算公式为:$$ f(x) = ReLU(Conv

    1.7K30编辑于 2023-07-23
  • 来自专栏腾讯技术工程官方号的专栏

    娓娓道来模型、查询、计算学习知识

    实践中,的多阶查询效率比传统关系型系统的join操作在性能上高出2~3个数量级。 近邻分布多阶邻居查询也用来获取近邻分布,进而更精准地刻画用户自身特定属性。 多阶查询往往最大阶数为3,因为4阶及以上查询结果将非常庞大难以处理。此外,高阶的邻居同源点的关联强度也随着阶数的增长而不断下降。因此,从经验的角度看,多阶邻居查询一般最多到3阶。 每个顶点最多往外搜索的深度为3。正如前面多阶查询所说,搜索深度大于等于4时,搜索空间容易过于巨大。(以上数据经验之谈,仅供参考) 2.3 子查询 子的概念是相对一个更大的来定义的。 3 计算 计算主要指基于全结构计算点边或点边子集属性的过程。如PageRank描述点的中心性,点边介数(Betweenness)则是描述点边的连通重要性。 自2010年谷歌首次提出点中心编程框架Pregel(开源对应Giraph系统)之后,GraphLab通过共享内存将Pregel的性能提升了2~3倍,PowerGraph随后基于的幂率分布进行优化并提出

    4.2K33发布于 2021-01-26
  • 来自专栏进击的Coder

    计算演算:反向传播

    计算 谈及计算,有人可能又要为烦人的计算公式头疼了,所以本文用了一种思考数学表达式的轻松方法——计算。以非常简单的e=(a+b)×(b+1)为例,从计算角度看它一共有3步操作:两次求和和一次乘积。 为了让大家对计算有更清晰的理解,这里我们把它分开计算,并绘制图像。 我们可以把这个等式分成3个函数: ? 在计算图中,我们把每个函数连同输入变量一起放进节点中。 为了计算图中的偏导数,我们先来复习这两个求和规则和乘积规则: ? 已知a=2,b=1,那么相应的计算就是: ? 如上图所示,X到Y有3条路径,Y到Z也有3条路径,如果要计算∂Z/∂X,我们要计算的是3×3=9条路径的偏导数的和: ? 这还只是9条,随着模型变得越来越复杂,相应的计算复杂度也会呈指数级上升。 虽然你以前可能没想过从计算的角度来进行理解,但这样一看,其实前向模式求导和我们刚开始学微积分时接触的内容差不多。 另一方面,反向模式求导则是从计算的最后开始,到输入结束。

    2K21发布于 2019-09-04
  • 来自专栏AI科技大本营的专栏

    TensorFlow中的计算

    2 计算的基本组成 TensorFlow的计算粒度比较细,由节点和有向边组成(后来也加入了层)。相比之下,腾讯的开源机器学习平台Angel,其计算的粒度较粗,由层(Layer)组成。 前向图中的节点,根据功能主要分为计算节点(Operation)、存储节点(Variable)和数据节点(Placeholder)3类。 3 计算的运行 TensorFlow中可以定义多个计算,不同计算图上的张量和运算相互独立,因此每一个计算都是一个独立的计算逻辑。 一个Session可以运行多个计算,一个计算也可以在多个Session中运行。 重复(2)和(3),直至可执行队列为空。 对于步骤(3)来说,可执行队列中的节点在资源允许的情况下,是可以并行执行。TensorFlow有灵活的硬件调度机制,来高效利用资源。

    2.7K10发布于 2019-10-13
  • 来自专栏人工智能

    随机计算:连续案例

    所有这些情况都会将您的计算变成一个随机的 - 先前的确定性节点现在变成随机的。 如何通过这些节点进行反向传播并不明显。 在这个系列中,我想概述可能的方法。 考虑大致的推理目标: [图片] 或强化学习目标: [图片] 在下面,我将使用以下符号为目标: [图片] 在这种情况下,(随机)计算(SCG)可以用下面的形式表示[1]: [图片] 这里的 θ,双圈是一组可调参数 为了使用这样的来估计F(θ),你只需要用你的θ,计算x的分布,从中得到尽可能多的样本,为每个样本计算f(x),然后对它们进行平均。 我们如何最大限度地提高呢? 基本上,这个想法是这样的:如果一些随机变量可以被分解成其他随机变量的组合,那么我们能够转换我们的随机计算,使得我们不需要通过随机反向传播,并且将随机性注入到模型中作为独立 噪声? [p3.png] Gen Rep 1是一个广义的重新参数化,只有第一时刻变成白色, Gen Rep 2 - 只有第二个 仿真清楚地表明,基于分数函数的梯度和第一次广义的重新参数化不能收敛,这与我们的方差分析是一致的

    2K00发布于 2017-12-19
  • 来自专栏Python与算法之美

    三种计算

    Tensorflow底层最核心的概念是张量,计算以及自动微分。 本篇我们介绍计算。 有三种计算的构建方式:静态计算,动态计算,以及Autograph. 在TensorFlow1.0时代,采用的是静态计算,需要先使用TensorFlow的各种算子创建计算,然后再开启一个会话Session,显式执行计算。 二,静态计算 在TensorFlow1.0中,使用静态计算分两步,第一步定义计算,第二部在会话中执行计算。 TensorFlow1.0静态计算范例 ? 在TensorFlow1.0中,使用静态计算分两步,第一步定义计算,第二部在会话中执行计算。 而动态计算已经不区分计算的定义和执行了,而是定义后立即执行。 在TensorFlow1.0中,使用计算分两步,第一步定义计算,第二步在会话中执行计算

    2.1K20发布于 2020-07-20
  • 来自专栏Python与算法之美

    TensorFlow基础:创建计算

    本节介绍TensorFlow与创建计算的几个函数: g = tf.Graph() #创建新的计算g g.as_default() #将计算g设置为当前使用的计算 g0 = tf.get_default_graph () # 获取默认的计算 tf.reset_default_graph() #清空默认的计算 示范1: import tensorflow as tf # 初始化一个计算对象g 示范2: import tensorflow as tf #获取默认的计算对象句柄g0 g0 = tf.get_default_graph() #在g0中添加节点定义计算 with g0.as_default 示范3: import tensorflow as tf #清空默认的计算 tf.reset_default_graph() # 直接用Operator定义的节点将添加到默认计算图中 a = tf.constant 推荐使用示范1的方式定义计算,不用每次都 tf.reset_default_graph()。

    1.8K10发布于 2020-07-20
  • 来自专栏王的机器

    张量求导和计算

    怎样有效的计算它们? 解决问题 1 需要了解张量求导 (第一节),解决问题 2 需要了解计算(第二节)。要理解张量请参考《张量 101》。 本节只用两层神经网络来说明一些核心问题,比如正向传播、反向传播、计算等等。 计算就是将计算形式化图形的方法,由输入结点、输出结点、函数 (从输入到输出的) 三部分组成。 每个一节点来表示一个变量,可以是标量、向量、矩阵或张量。 步骤 3 ? 步骤 4 ? 上面四个步骤看懂之后,结合本节的神经网络实例,再理解下面六张的解释就容易了 (点击看大图)。 ? ? ? ? ? ? 现实中 X 通常是个二维矩阵,一个维度是特征数,一个维度是数据数,因此规则 5 和 6 最普适,是规则 3 和 4 的推广。 计算核心 ?

    3.4K41发布于 2019-07-05
  • 来自专栏AI系统

    【AI系统】计算原理

    本文将会以 AI 概念落地的时候,遇到的一些问题与挑战,因此引出了计算的概念来对神经网络模型进行统一抽象。接着展开什么是计算计算的基本构成来深入了解诶计算。 因此派生出了目前主流的 AI 框架都选择使用计算来抽象神经网络计算计算的定义我们会经常遇到有些 AI 框架把统一的描述称为数据流,有些称为计算,这里可以统称为计算。 下面是针对形状为 (3, 2, 5) 的三维张量进行表示。虽然张量通常用索引来指代轴,但是始终要记住每个轴的含义。 每个算子接受的输入输出不同,如 Conv 算子接受 3 个输入 Tensor,1 个输出 Tensor下面以简单的一个卷积、一个激活的神经网络模型的正向和反向为例,其前向的计算公式为:反向计算微分的时候 PyTorch 计算动态计算在 Pytorch 的计算图中,同样由节点和边组成,节点表示张量或者函数,边表示张量和函数之间的依赖关系。其中 Pytorch 中的计算是动态

    67210编辑于 2024-12-06
  • 来自专栏技术成长

    计算数据库的概念

    图片计算数据库的概念计算计算是一种针对数据进行分析和计算的方法。数据由节点和边构成,节点代表实体或对象,边代表节点之间的关系或连接。 计算可以应用于多个领域,如社交网络分析、生物网络分析、推荐系统等。在计算中,一般会使用模型来表示数据,模型使用的形式来表示实体间的关系,并使用算法对进行分析。 算法可以用于查询、聚类、关联分析、路径搜索等任务,常见的算法包括最短路径算法、PageRank算法、社区发现算法等。计算通常需要处理大规模的数据,因此需要高效的计算引擎来支持大规模的并行计算。 传统的计算数据库技术在处理大规模数据时面临存储、计算和通信等方面的挑战。高性能计算挑战:由于数据的特点,如高度联通性和复杂的结构,需要开发具有高性能并行计算能力的算法和技术。 计算需要进行大量的迭代计算和消息传递,同时还要考虑负载均衡和容错等问题,以实现高效的计算。灵活查询挑战:实际应用中,对数据的查询和分析通常是复杂和灵活的。

    1.2K61编辑于 2023-10-24
领券