pytorch一:简介

31 篇文章 ¥9.90 ¥99.00
本文介绍了PyTorch和TensorFlow两大深度学习框架,PyTorch采用动态图,允许在运行时构建计算图,支持Python的条件语句,而TensorFlow则使用静态图,构建过程不可变,需要预先定义所有可能情况,可能占用更多显存。文章通过对比两种框架中if条件语句的实现方式,展示了动态图的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几乎所有的深度学习框架都是基于计算图计算的,而计算图又可分为静态图和动态图,静态图先定义再运行,一次定义多次运行,而动态图是在运行过程中被定义的,在运行的时候构建,可以多次构建多次运行。PyTorch和TensorFlow都是基于计算图的深度学习框架,PyTorch使用的是动态图,而TensorFlow使用的是静态图。

静态图一定创建就不能修改,而且静态图定义的时候,使用了特殊的语法,就像新学一门语言。这意味着你无法使用if、while等常用的Python语句。因此静态图框架不得不为这些操作专门设计语法,同时在构件图的时候必须把所有可能出现的情况都包含进去,这也导致了静态图过于庞大,可能占用过高的显存。动态图框架就没有这个问题,它可以使用Python的if、while等条件语句,最终创建的计算图取决于你执行的条件分支。

我们来看看if条件语句在TensorFlow和Pytorch中的两种实现方式,第一个利用PyTorch动态图的方式实现。

import torch as t
from torch.autograd import Variable

N,D,H = 3,4,5
x = Variable(t.randn(N,D))
w1 = Variable(t.randn(D,H))
w2 = Variable(t.randn(D,H))

z = 10
if z>0:
    y = x.mm(w1)
else:
    y = x.mm(w2)

第二个利用TensorFlow静态图的方式实现。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值