【笔试面试】Pytorch为何称之为动态图模型?

顾名思义,动态图就是可变化的图,静态图就是不可变的图。所以很容易产生如下疑问:

  • 这里的是指什么?
  • 可变不可变又是怎么实现的?各自有什么优势?

带着疑问看了些资料,简单整理了一下。

深度学习框架的“图”指的是什么?

这里的图其实指的是计算图,一种用来描述运算的有向无环图。包含两个主要元素:

  • 节点(Node):节点表示数据,如向量、矩阵、张量。
  • 边(Edge):边表示运算,如加减乘除卷积等。

示例:
在这里插入图片描述
其中, x , y , z , g x,y,z,g x,y,z,g 分别为节点, + , ∗ +,* +, 为节点之间的操作,即边。

那么,动态图,也就是动态计算图又是啥东西呢?

网上资料最经典的说法:

  • 动态图就是运算和搭建同时进行,每次都重新搭建计算图。
  • 静态图就是搭好了就不变了,每次计算都用那个图。

总是看完了还是一脸呆滞,不论背景抛直接抛概念容易让人半知半解。
像 TensorFlow(旧版)、caffe 这些深度学习框架其实都是静态图模型,用着用着很多人就发现静态图总是还不够灵活,想在计算图中实现 i f , e l s e if,else if,else 类似的功能很困难,所以才有了动态图模型的需求。
静态图的计算过程是固定的,而动态图可以结合输入改变计算图结构,实现更复杂的功能。
所以优缺点也显而易见:

优点缺点
动态图灵活,且方便debug每次都要重新建图,效率低
静态图效率高不够灵活
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值