PyTorch peut facilement basculer entre les modes cpu et gpu pour les tenseurs avec `` hoge.to (périphérique) '', etc., mais je ne sais souvent pas si cet ensemble de données ou ce modèle est cpu ou gpu, alors vérifiez-le. Je vais écrire comment faire.
Comme condition préalable, l'ensemble de données et la préparation du modèle
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(),
])
}
#Prétraitement des données
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_Si vous utilisez cuda, il sera renvoyé sous forme de type booléen.[ici](https://discuss.pytorch.org/t/how-to-check-if-model-is-on-cuda/180/2?u=kazuki_hamaguchi)(1)En référence à
```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)
Vous pouvez le vérifier avec ceci.
Qu'arrivera-t-il au mode avant et après la sortie de la variable locale? Il pourrait être intéressant de vérifier
(1) How to check if Model is on cuda
Recommended Posts