国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

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 在深度學習過程中使用的效率差別的評論 (共 條)

分享到微博請遵守國家法律
巨鹿县| 图木舒克市| 溧阳市| 钦州市| 手游| 蚌埠市| 尉氏县| 蒙阴县| 阳朔县| 咸丰县| 广饶县| 呼玛县| 乌海市| 库尔勒市| 轮台县| 沙坪坝区| 保山市| 犍为县| 井冈山市| 迁安市| 白河县| 汉寿县| 徐汇区| 紫云| 梁河县| 新郑市| 山西省| 黄山市| 吴堡县| 江门市| 通州区| 汉川市| 高碑店市| 富锦市| 来宾市| 辉南县| 武宣县| 台东县| 胶州市| 蕉岭县| 达日县|