pycharm使用gpu跑项目

2021/6/25小学期作业

​ 本次作业主题在于论文复现,论文主题为Per_FedAVG,第一天完成了环境的大致搭建,第二天找到了一个FedAVG的模型代码跑了一下,效率极其低下,查阅得知,可以设置GPU来跑模型,记录如何设置作为大作业参考。

建立一个test.py运行就行
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, TensorDataset
from torchvision import datasets, transforms


# 假设我们有一个简单的模型
class SimpleModel(nn.Module):
    def __init__(self):
        super(SimpleModel, self).__init__()
        self.fc = nn.Linear(784, 10)  # 假设输入是28x28的图像,输出是10个类别

    def forward(self, x):
        x = x.view(-1, 784)  # 展平图像
        x = self.fc(x)
        return x

    # 检查是否支持GPU


device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print('Using device:', device)

# 假设我们有一些模拟数据
# 在实际中,你会从数据集(如MNIST)中加载数据
inputs = torch.randn(64, 1, 28, 28)  # 64个样本,1个通道,28x28的图像
labels = torch.randint(0, 10, (64,))  # 64个标签,范围从0到9

# 将数据移动到GPU
inputs, labels = inputs.to(device), labels.to(device)

# 创建数据集和数据加载器
dataset = TensorDataset(inputs, labels)
dataloader = DataLoader(dataset, batch_size=64, shuffle=True)

# 实例化模型,并将其移动到GPU
model = SimpleModel().to(device)

# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# 训练循环
num_epochs = 5
for epoch in range(num_epochs):
    for inputs, labels in dataloader:
        # 前向传播
        outputs = model(inputs)
        loss = criterion(outputs, labels)

        # 反向传播和优化
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

    print(f'Epoch [{epoch + 1}/{num_epochs}], Loss: {loss.item()}')

# 假设我们有一个测试样本,并在GPU上运行模型
test_input = torch.randn(1, 1, 28, 28).to(device)
test_output = model(test_input)

# 将结果从GPU移回CPU(如果需要)
test_output_cpu = test_output.cpu()

# 注意:在实际应用中,我们通常不会在每次预测后都将结果移回CPU
# 这里只是为了演示如何将数据从GPU移回CPU

终端显示sing device: cpu就是没有加载上

首先确定安装了NAVIDIA,在搜索框里可以搜索到,然后,点开该控制面板可以查看到相关信息。也可以简单点的,我们可以使用 ctrl+ shift+ esc呼出任务管理器,然后点开 性能,查看“GPU0”的版本。

  1. C:\Program Files\NVIDIA Corporation\NVSMI添加到path,再打开cmd命令窗口,输入nvidia-smi查看GPU驱动版本。

  2. 在anaconda prompt中输入conda activate perfedavg激活你对应的python环境,再输入命令conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia 注意这是最新版本要跟得上。如果还是不行,可以打开anaconda的可视化界面,直接在环境里面搜索pytorch,会有一个-gpu版本,apply就可以。

  3. 依次输入命令:

    python #进入环境
    import torch
    print(torch.cuda.is_available())#输出true则证明安装正确。
    

4.要是不行,可以直接重装环境:重装教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值