最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

CPU 于GPU 在深度學習過程中使用的效率差別

2023-03-25 23:05 作者:bili_12437954536  | 我要投稿

以下是一個簡單的深度學習模型,使用CPU和GPU訓練并記錄訓練時間的Python代碼。在此示例中,我們將使用PyTorch框架。



import torch
import time

# 定義模型
class Model(torch.nn.Module):
??? def __init__(self):
??????? super(Model, self).__init__()
??????? self.linear1 = torch.nn.Linear(784, 256)
??????? self.linear2 = torch.nn.Linear(256, 128)
??????? self.linear3 = torch.nn.Linear(128, 10)
??????? self.relu = torch.nn.ReLU()
??????? self.softmax = torch.nn.Softmax(dim=1)

??? def forward(self, x):
??????? x = self.linear1(x)
??????? x = self.relu(x)
??????? x = self.linear2(x)
??????? x = self.relu(x)
??????? x = self.linear3(x)
??????? x = self.softmax(x)
??????? return x

# 定義數據集
train_data = torch.randn(50000, 784)
train_label = torch.randint(0, 10, (50000,))

# CPU 訓練
start_time = time.time()
model_cpu = Model()
loss_fn = torch.nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model_cpu.parameters(), lr=0.001)
for epoch in range(10):
??? optimizer.zero_grad()
??? outputs = model_cpu(train_data)
??? loss = loss_fn(outputs, train_label)
??? loss.backward()
??? optimizer.step()
print("CPU訓練用時:", time.time() - start_time, "秒")

# GPU 訓練
if torch.cuda.is_available():
??? start_time = time.time()
??? train_data = train_data.cuda()
??? train_label = train_label.cuda()
??? model_gpu = Model().cuda()
??? loss_fn = torch.nn.CrossEntropyLoss()
??? optimizer = torch.optim.Adam(model_gpu.parameters(), lr=0.001)
??? for epoch in range(10):
??????? optimizer.zero_grad()
??????? outputs = model_gpu(train_data)
??????? loss = loss_fn(outputs, train_label)
??????? loss.backward()
??????? optimizer.step()
??? print("GPU訓練用時:", time.time() - start_time, "秒")
else:
??? print("GPU不可用")

在這個示例中,我們首先定義了一個簡單的神經網絡模型,該模型具有三個線性層和兩個激活函數(ReLU和Softmax)。我們還創(chuàng)建了一個隨機的訓練數據集和相應的標簽。然后我們訓練模型,首先使用CPU訓練模型,然后使用GPU訓練模型(如果可用)。最后,我們記錄了每種情況下的訓練時間并打印出來。

CPU 于GPU 在深度學習過程中使用的效率差別的評論 (共 條)

分享到微博請遵守國家法律
双鸭山市| 五台县| 苏尼特右旗| 游戏| 安龙县| 喀什市| 靖宇县| 阿鲁科尔沁旗| 霸州市| 百色市| 保康县| 遵义市| 那曲县| 安福县| 黄平县| 梓潼县| 武清区| 青岛市| 长葛市| 伽师县| 驻马店市| 田阳县| 合川市| 贵港市| 阜南县| 洛扎县| 太谷县| 大悟县| 商丘市| 北川| 麟游县| 乌拉特后旗| 从化市| 广东省| 津南区| 新郑市| 渝北区| 金寨县| 汝南县| 日土县| 长沙市|