python里的device
时间: 2023-07-04 21:20:26 浏览: 37
在 PyTorch 中,`device` 是一个很重要的概念,它指定了张量(tensor)和模型(model)在哪个设备上进行计算。PyTorch 支持 CPU 和 GPU 两种设备。当我们创建一个张量或模型时,可以通过指定 `device` 参数来控制它们在哪个设备上进行计算。例如:
```python
import torch
# 在 CPU 上创建张量
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
# 在 GPU 上创建张量
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
x = x.to(device)
# 在 GPU 上创建模型
class MyModel(torch.nn.Module):
def __init__(self):
super(MyModel, self).__init__()
self.linear = torch.nn.Linear(3, 1)
def forward(self, x):
x = self.linear(x)
return x
model = MyModel().to(device)
```
在上面的示例中,我们首先在 CPU 上创建了一个张量 `x`,然后使用 `to` 方法将它转移到 GPU 上。我们还使用 `torch.cuda.is_available()` 函数来判断当前设备是否支持 GPU 计算。接着,我们定义了一个简单的线性模型 `MyModel`,并使用 `to` 方法将它移动到 GPU 上。这样,我们就可以在 GPU 上训练模型并进行计算,从而加速计算过程。