Я пытаюсь тренировать модель с Pytorch. Если я запускаю модель локально на своей машине, я не могу заставить модель перейти на тренировку l oop. Однако, если я запускаю Google Colab, он входит в тренинг l oop с точно таким же кодом. Я проверил длину моего загрузчика данных "train", и она равна 500. Вот моя функция поезда:
def train(lr, train, test, epochs, verbosity, model, out_f):
"""
Train a model using the specified parameters
:param lr: Learning rate for the optimizer
:param train: Training DataLoader
:param test: Testing DataLoader
:param verbosity: How often to calculate and print test accuracy
:return model: trained model
"""
loss_function = nn.CrossEntropyLoss()
optimizer = optim.Adam(params=model.parameters(), lr=lr)
model = model.to(device)
model.train()
for epoch in range(0, epochs):
open(out_f, "w+").close() # Clear out previous log files
print(len(train))
for i, data in enumerate(train):
print("inside")
sents, x, y = data
optimizer.zero_grad()
x = x.squeeze(1)
x = x.to(device)
y = y.to(device)
output = model.forward(x)
_, predicted = torch.max(output[0].detach(), 1)
loss = loss_function(output[0], y)
loss.backward()
optimizer.step()
return model
train = загрузчик данных пользовательского набора данных. Мой набор данных состоит из предложений, их векторного представления (x) и их метки (y). Я бегу на Windows 10 с Python 3.7.6. Я скачал pytorch с помощью следующей команды:
pip install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html