本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Pytorch – .to()和.cuda()的区别
原文链接:https://www.stubbornhuang.com/2202/
发布于:2022年07月11日 9:49:45
修改于:2022年07月11日 9:49:45

1 Pytorch中.to()和.cuda()的区别
如果需要指定的设备是GPU则.to()和.cuda()没有区别,如果设备是cpu,则不能使用.cuda()。也就是说.to()既可以指定CPU也可以指定GPU,而.cuda()只能指定GPU。
1.1 .cuda()
1.单GPU
os.environ['CUDA_VISIBLE_DEVICE']='0'
model.cuda()
2.多GPU
os.environment['CUDA_VISIBLE_DEVICES'] = '0,1,2,3'
device_ids = [0,1,2,3]
model = torch.nn.Dataparallel(model, device_ids =device_ids)
model = model.cuda()
1.2 .to()
1.CPU或者单GPU
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)
2.多GPU
device_ids = [0,1,2,3]
output_device = 0
model = nn.DataParallel(model,device_ids=device_ids)
model.to(output_device)
可以将上述代码进行封装
class DataParallel(Module):
def __init__(self, module, device_ids=None, output_device=None, dim=0):
super(DataParallel, self).__init__()
if not torch.cuda.is_available():
self.module = module
self.device_ids = []
return
if device_ids is None:
device_ids = list(range(torch.cuda.device_count()))
if output_device is None:
output_device = device_ids[0]
当前分类随机文章推荐
- Pytorch - 使用torchsummary/torchsummaryX/torchinfo库打印模型结构、输出维度和参数信息 阅读99次,点赞0次
- Pytorch - nn.Transformer、nn.TransformerEncoderLayer、nn.TransformerEncoder、nn.TransformerDecoder、nn.TransformerDecoder参数详解 阅读119次,点赞0次
- Pytorch - pad_sequence、pack_padded_sequence、pack_sequence、pad_packed_sequence参数详解与使用 阅读81次,点赞0次
- Pytorch - 内置的CTC损失函数torch.nn.CTCLoss参数详解与使用示例 阅读98次,点赞0次
- Pytorch - 手动调整学习率以及使用torch.optim.lr_scheduler调整学习率 阅读51次,点赞0次
- Pytorch - 多GPU训练方式nn.DataParallel与nn.parallel.DistributedDataParallel的区别 阅读17次,点赞0次
- Pytorch - 使用opencv-python解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读1519次,点赞0次
- Pytorch - torch.stack参数详解与使用 阅读96次,点赞0次
- Pytorch - 使用Pyav解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读2615次,点赞0次
- Python - list/numpy/pytorch tensor相互转换 阅读1117次,点赞0次
全站随机文章推荐
- 资源分享 - Ray Tracing in One Weekend英文高清PDF下载 阅读1994次,点赞0次
- 资源分享 - ShaderX3 - Advanced Rendering with DirectX and OpenGL 英文高清PDF下载 阅读1514次,点赞0次
- Linux - 编译Crypto++加密库 阅读374次,点赞0次
- MindSpore - LeNet5的MindSpore实现 阅读431次,点赞0次
- Python - 使用python-opencv裁剪原视频为与视频高同宽的视频 阅读1030次,点赞0次
- 资源分享 - Game AI Pro 3 - Collected Wisdom of Game AI Professionals 英文高清PDF下载 阅读1397次,点赞0次
- 资源分享 - C++程序设计语言(第1- 3部分),原书第4版 高清PDF下载 阅读1360次,点赞1次
- Python - 不定长函数参数列表 阅读1489次,点赞0次
- WordPress - 非管理员登录后台直接重定向到指定页面 阅读364次,点赞0次
- C++ - 阿拉伯数字字符串转换为中文读法的中文字符串,支持小数点 阅读671次,点赞0次
评论
153