Загрузить загрузчик данных Pytorch в графический процессорPython

Программы на Python
Ответить
Anonymous
 Загрузить загрузчик данных Pytorch в графический процессор

Сообщение Anonymous »

Есть ли способ загрузить DataLoader pytorch (

Код: Выделить всё

torch.utils.data.Dataloader
) полностью в мой графический процессор?
Теперь я загружаю каждый пакет отдельно в свой графический процессор.

Код: Выделить всё

CTX = torch.device('cuda')

train_loader = torch.utils.data.DataLoader(
train_dataset,
batch_size=BATCH_SIZE,
shuffle=True,
num_workers=0,
)

net = Net().to(CTX)
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=LEARNING_RATE)

for epoch in range(EPOCHS):
for inputs, labels in test_loader:
inputs = inputs.to(CTX)        # this is where the data is loaded into GPU
labels = labels.to(CTX)

optimizer.zero_grad()

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

print(f'training accuracy: {net.validate(train_loader, device=CTX)}/{len(train_dataset)}')
print(f'validation accuracy: {net.validate(test_loader, device=CTX)}/{len(test_dataset)}')
где функция Net.validate() задается

Код: Выделить всё

def validate(self, val_loader, device=torch.device('cpu')):
correct = 0
for inputs, labels in val_loader:
inputs = inputs.to(device)
labels = labels.to(device)
outputs = torch.argmax(self(inputs), dim=1)
correct += int(torch.sum(outputs==labels))
return correct
Я хотел бы повысить скорость, загрузив весь загрузчик набора данных в свой графический процессор, вместо того, чтобы загружать каждый пакет отдельно. Итак, я хотел бы сделать что-то вроде

Код: Выделить всё

train_loader.to(CTX)
Есть ли для этого эквивалентная функция? Потому что torch.utils.data.DataLoader не имеет этого атрибута .to().
Я работаю с NVIDIA GeForce RTX 2060 с установленным CUDA Toolkit 10.2. .

Подробнее здесь: https://stackoverflow.com/questions/653 ... r-into-gpu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»