当前位置:实例文章 » Python实例» [文章]《Python深度学习基于Pytorch》学习笔记

《Python深度学习基于Pytorch》学习笔记

发布人:shili8 发布时间:2024-01-30 16:06 阅读次数:52

Python深度学习基于Pytorch 学习笔记在学习Python深度学习基于Pytorch的过程中,我发现Pytorch是一个非常强大的深度学习框架,它提供了丰富的工具和库,可以帮助我们快速构建和训练深度学习模型。下面是我在学习过程中的一些笔记和代码示例。

1. 安装Pytorch首先,我们需要安装Pytorch。可以通过以下命令来安装Pytorch:

pip install torch torchvision


2. 创建一个简单的神经网络模型接下来,我们可以创建一个简单的神经网络模型。下面是一个简单的全连接神经网络模型的代码示例:

import torchimport torch.nn as nnimport torch.nn.functional as Fclass SimpleNet(nn.Module):
 def __init__(self):
 super(SimpleNet, self).__init__()
 self.fc1 = nn.Linear(784,128)
 self.fc2 = nn.Linear(128,10)

 def forward(self, x):
 x = x.view(-1,784)
 x = F.relu(self.fc1(x))
 x = self.fc2(x)
 return F.log_softmax(x, dim=1)


在这个代码示例中,我们定义了一个名为SimpleNet的神经网络模型,它包含两个全连接层。在forward方法中,我们首先将输入的数据x进行reshape,然后经过第一个全连接层和激活函数ReLU,最后经过第二个全连接层和log_softmax函数得到输出。

3. 加载数据集和训练模型接下来,我们可以加载数据集并训练我们的模型。下面是一个简单的代码示例:

import torchvisionimport torchvision.transforms as transformstransform = transforms.Compose(
 [transforms.ToTensor(),
 transforms.Normalize((0.5,0.5,0.5), (0.5,0.5,0.5))])

trainset = torchvision.datasets.MNIST(root='./data', train=True,
 download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
 shuffle=True, num_workers=2)

net = SimpleNet()

criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

for epoch in range(2): # loop over the dataset multiple times running_loss =0.0 for i, data in enumerate(trainloader,0):
 inputs, labels = data optimizer.zero_grad()

 outputs = net(inputs)
 loss = criterion(outputs, labels)
 loss.backward()
 optimizer.step()

 running_loss += loss.item()
 if i %2000 ==1999: # print every2000 mini-batches print('[%d, %5d] loss: %.3f' %
 (epoch +1, i +1, running_loss /2000))
 running_loss =0.0print('Finished Training')


在这个代码示例中,我们首先定义了数据集的transform,然后加载了MNIST数据集,并创建了一个数据加载器trainloader。接着我们创建了一个SimpleNet的实例net,并定义了损失函数和优化器。然后我们进行了多次的训练迭代,每次迭代中都计算了损失并更新了模型参数。

通过这些学习笔记和代码示例,我对Python深度学习基于Pytorch有了更深入的理解,我相信在接下来的学习和实践中,我能够更好地应用Pytorch来构建和训练深度学习模型。

相关标签:pythonpytorch
其他信息

其他资源

Top