[PYTHON] [PyTorch] Vérifiez si le modèle et l'ensemble de données sont en mode cuda

introduction

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.

Méthode de confirmation

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.

à la fin

Qu'arrivera-t-il au mode avant et après la sortie de la variable locale? Il pourrait être intéressant de vérifier

Matériel de référence

(1) How to check if Model is on cuda

Recommended Posts

[PyTorch] Vérifiez si le modèle et l'ensemble de données sont en mode cuda
Faire de n'importe quelle clé la clé primaire dans le modèle Django
Assurez-vous que le prétraitement au moment de la création du modèle de prédiction et de la prédiction est aligné
Le modèle linéaire généralisé (GLM) et le réseau neuronal sont les mêmes (1)
Enregistrez le modèle pystan et les résultats dans un fichier pickle
Le modèle linéaire généralisé (GLM) et le réseau neuronal sont les mêmes (2)
Pliez le jeu de données Pytorch en couches
Pour vérifier si la clé spécifiée se trouve dans le compartiment spécifié dans Boto 3
Jetez quelque chose dans Kinesis avec python et assurez-vous qu'il est dans
Déployer et utiliser le modèle de prédiction créé en Python sur SQL Server
Quels sont le "pipeline" et "{...}" dans le pipeline Jenkins Pipeline {...} (pour les débutants Groovy, pour les langages expérimentés)
J'ai implémenté le modèle VGG16 avec Keras et essayé d'identifier CIFAR10