使用cuda写一个深度神经网络的demo
时间: 2023-02-23 13:26:52 浏览: 108
好的,这是一个使用PyTorch框架写一个深度神经网络的示例代码:
```python
import torch
import torch.nn as nn
import torch.nn.functional as F
class NeuralNet(nn.Module):
def __init__(self, input_size, hidden_size, num_classes):
super(NeuralNet, self).__init__()
self.fc1 = nn.Linear(input_size, hidden_size)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(hidden_size, num_classes)
def forward(self, x):
out = self.fc1(x)
out = self.relu(out)
out = self.fc2(out)
return out
# 实例化模型
model = NeuralNet(input_size=3072, hidden_size=100, num_classes=10).cuda()
# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.001)
# 训练模型
for epoch in range(100):
# 准备输入数据
inputs = torch.randn(64, 3072).cuda()
labels = torch.randint(10, (64,)).cuda()
# 前向传播
outputs = model(inputs)
loss = criterion(outputs, labels)
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
if (epoch+1) % 10 == 0:
print (f'Epoch [{epoch+1}/100], Loss: {loss.item()}')
```
请注意,为了使用CUDA加速,您需要在确保已安装CUDA驱动程序和PyTorch GPU版本的情况下将所有张量转换为CUDA张量,并使用`.cuda()`方法将模型实例转换为CUDA模型。
阅读全文