PyTorch kann mit `` hoge.to (device)
`usw. problemlos zwischen CPU- und GPU-Modus für Tensoren wechseln, aber ich weiß oft nicht, ob es sich bei diesem Datensatz oder Modell um CPU oder GPU handelt. Überprüfen Sie es daher. Ich werde aufschreiben, wie es geht.
Voraussetzung ist der Datensatz und die Modellvorbereitung
IMAGE_SIZE=224
BATCH_SIZE=20
TRAIN = 'train'
DATA_DIR = 'dataset/predata/'
DEVICE = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
data_transforms = {
TRAIN: transforms.Compose([
transforms.Resize(IMAGE_SIZE),
transforms.ToTensor(),
])
}
#Datenvorverarbeitung
image_datasets = {x: datasets.ImageFolder(os.path.join(DATA_DIR, x), data_transforms[x]) for x in [TRAIN]}
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x],
batch_size=BATCH_SIZE, shuffle=True, num_workers=4) for x in [TRAIN]}
is_Wenn Sie cuda verwenden, wird es als Bool-Typ zurückgegeben.[Hier](https://discuss.pytorch.org/t/how-to-check-if-model-is-on-cuda/180/2?u=kazuki_hamaguchi)(1)Mit Bezug auf
```python
data, label = iter(dataloaders[TRAIN]).next()
data = data.to(DEVICE)
label = label.to(DEVICE)
print(data.is_cuda)
print(label.is_cuda)
model = model.to(DEVICE)
print(next(model.parameters()).is_cuda)
Sie können dies damit überprüfen.
Was passiert mit dem Modus vor und nach dem Beenden der lokalen Variablen? Es könnte interessant sein, dies zu überprüfen
(1) How to check if Model is on cuda
Recommended Posts