首页 Paddle框架 帖子详情
动态图是默认使用GPU吗
收藏
快速回复
Paddle框架 问答深度学习 1411 8
动态图是默认使用GPU吗
收藏
快速回复
Paddle框架 问答深度学习 1411 8

笔记本已经安装了cuda

with fluid.dygraph.guard() 在不设置place=fluid.CUDAPlace(0)的情况下是默认使用GPU吗

0
收藏
回复
全部评论(8)
时间顺序
f
fengzifei
#2 回复于2020-10

代码1:
use_gpu=False
place=flulid.CUDAPlace(0) if use_gpu else flulid.CPUPlace()
with flulid.dygraph.guard(place):
pass

代码2:
use_gpu=True
place=flulid.CUDAPlace(0) if use_gpu else flulid.CPUPlace()
with flulid.dygraph.guard(place):
pass

代码3
with flulid.dygraph.guard():
pass

代码1计算很慢
代码2和3计算速度一样,是不是如果本地有cuda动态图默认使用gpu???

 

0
回复
skywalk163
#3 回复于2020-10

是的,动态图可以自己判断,有gpu就优先用gpu,不用写place

1
回复
AIStudio810258
#4 回复于2020-10
是的,动态图可以自己判断,有gpu就优先用gpu,不用写place

太好,自适应就省得老改脚本了

0
回复
AIStudio810258
#5 回复于2020-10

方便一个项目跑模型,一个项目改脚本,毕竟只能开一个gpu~~

0
回复
AIStudio810258
#6 回复于2020-10

但是多个gpu时默认就用一个了吧~~

0
回复
skywalk163
#7 回复于2020-12
但是多个gpu时默认就用一个了吧~~

这就涉及单机多卡的操作了,只需要加一个多卡的spawn包裹语句就行了。

    import paddle.distributed as dist
    if __name__ == '__main__':
        dist.spawn(train)
0
回复
skywalk163
#8 回复于2020-12

另外飞桨2.0可以省略这句话了: 

with flulid.dygraph.guard():

这样写出来的代码更加流畅 

0
回复
AIStudio810258
#9 回复于2020-12
另外飞桨2.0可以省略这句话了:  [代码] 这样写出来的代码更加流畅 

嗯,这个真是方便了。原来因为这个封装个类好麻烦

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户