Код в основном обучает обычный набор данных изображений MNIST, но он тренируется на GPU.Мне нужно изменить эту опцию, чтобы код обучал модель на моем ноутбуке.Мне нужно заменить .cuda()
во второй строке на эквивалент в CPU.
Я знаю, что в Интернете есть много примеров того, как обучать нейронные сети с использованием базы данных MNIST, но что особенного в этом коде, это то, что он выполняет оптимизацию с использованием ПИД-регулятора (обычно используется в промышленности), и мне нужнокод как часть моего исследования.
net = Net(input_size, hidden_size, num_classes)
net.cuda()
net.train()
#Loss and Optimizer
criterion = nn.CrossEntropyLoss()
optimizer = PIDOptimizer(net.parameters(), lr=learning_rate, weight_decay=0.0001, momentum=0.9, I=I, D=D)
# Train the Model
for epoch in range(num_epochs):
train_loss_log = AverageMeter()
train_acc_log = AverageMeter()
val_loss_log = AverageMeter()
val_acc_log = AverageMeter()
for i, (images, labels) in enumerate(train_loader):
# Convert torch tensor to Variable
images = Variable(images.view(-1, 28*28).cuda())
labels = Variable(labels.cuda())
Может понадобиться выполнить код без использования опции .cuda()
, предназначенной для обучения с использованием графического процессора.Необходимо запустить его на моем ПК.
Вот исходный код на случай необходимости.
https://github.com/tensorboy/PIDOptimizer
Большое спасибо, сообщество!