【PyTorch】cuda()与to(device)的区别

简介: 【PyTorch】cuda()与to(device)的区别

问题

PyTorch中的Tensor要想在GPU中运行,可以有两种实现方式,其一是x.cuda(),其二是x.to(device)。两种方式均能实现GPU上运行,那么二者的区别是什么呢?

方法

import torch
device = 'cuda' if torch.cuda.is_available() else 'cpu'
a = torch.randn([3, 224, 224])
# (1) cuda()方式代码扩展性差,如果机器不支持GPU,则需要修改代码后才能在CPU上运行;
a.cuda()
# (2) to(device)方式代码扩展性好,即使没有GPU,也可以运行代码,不用做任何修改;
a.to(device)

结语

推荐使用to(device)的方式,主要原因在于这样的编程方式更加易于扩展,而cuda()必须要求机器有GPU,否则需要修改所有代码,to(device)的方式则不受此限制,device既可以是CPU也可以是GPU;


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
1月前
|
机器学习/深度学习 并行计算 PyTorch
百度搜索:蓝易云【Pytorch和CUDA版本对应关系】
请注意,上述版本对应关系只是示例,并非详尽无遗。实际上,PyTorch的每个版本通常会支持多个CUDA版本,而具体支持的CUDA版本也可能因操作系统、硬件配置等因素而有所不同。因此,在使用PyTorch时,建议参考PyTorch官方文档或社区支持的信息,以获取最准确和最新的PyTorch与CUDA版本对应关系。
133 2
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
|
8月前
|
并行计算 PyTorch 算法框架/工具
【pytorch】解决pytorch:Torch not compiled with CUDA enabled
【pytorch】解决pytorch:Torch not compiled with CUDA enabled
2865 0
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习框架:Pytorch与Keras的区别与使用方法
深度学习框架:Pytorch与Keras的区别与使用方法
|
10天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】16. Pytorch中神经网络模型的构造方法:Module、Sequential、ModuleList、ModuleDict的区别
【从零开始学习深度学习】16. Pytorch中神经网络模型的构造方法:Module、Sequential、ModuleList、ModuleDict的区别
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
Pytorch 与 Tensorflow:深度学习的主要区别(1)
Pytorch 与 Tensorflow:深度学习的主要区别(1)
45 2
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习:Pytorch 与 Tensorflow 的主要区别(2)
深度学习:Pytorch 与 Tensorflow 的主要区别(2)
33 0
|
1月前
|
机器学习/深度学习 并行计算 算法框架/工具
Anaconda+Cuda+Cudnn+Pytorch(GPU版)+Pycharm+Win11深度学习环境配置
Anaconda+Cuda+Cudnn+Pytorch(GPU版)+Pycharm+Win11深度学习环境配置
271 3
|
7月前
|
并行计算 Ubuntu PyTorch
Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10(下)
Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10(上)
195 0
|
7月前
|
并行计算 Ubuntu PyTorch
Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10(上)
Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10
212 0