我是靠谱客的博主 英勇楼房,最近开发中收集的这篇文章主要介绍pytorch中数据在CPU与GPU之间的切换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据在CPU与GPU之间来回切换的pytorch方法:

 

数据从CPU放到GPU,即数据从CPU到GPU的迁移,使用以下语句:

data.to("cuda")

 

数据 从GPU到CPU,使用以下语句:

data.to("cpu")

 

data通常会有两种数据类型:

1. Tensor

2. Module

 

to函数:转换数据类型/设备

1. tensor.to(*args, **kwargs)

2. module.to(*args, **kwargs)

 

举例:

1. tensor的to函数使用

a = torch.ones((2, 2))

a = a.to(torch.float64)

 

b = torch.ones((3, 3))

b = b.to("cuda")

 

2. module的to函数使用

fn = torch.nn.Linear((2,2))

fn.to(torch.float64)

 

gpu = torch.device("cuda")

fn.to(gpu)

 

张量与模型to函数的区别:

张量不执行inplace,模型执行inplace。也就是说,张量的to函数之后会重新构建一个新的张量,而module无需构建新的张量。

 

张量的cuda方法

b.cuda()

此方法也可以将张量迁移到GPU当中(与b.to("cuda")作用相同 ),但它是pytorch0.4.0之前的,现在已经弃用了。

最后

以上就是英勇楼房为你收集整理的pytorch中数据在CPU与GPU之间的切换的全部内容,希望文章能够帮你解决pytorch中数据在CPU与GPU之间的切换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部