Wie um zu überprüfen, ob pytorch ist mit der GPU?
Ich würde gerne wissen, ob pytorch
ist mit meiner GPU. Es ist möglich, zu erkennen, mit nvidia-smi
wenn es keine Aktivität von der GPU während des Prozesses, aber ich möchte etwas geschrieben python
Skript.
Gibt es eine Möglichkeit, dies zu tun ?
InformationsquelleAutor vinzee | 2018-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist zur Arbeit zu gehen :
Dieser sagt mir, die GPU
GeForce GTX 950M
wird vonPyTorch
.läuft
torch.cuda.current_device()
war hilfreich für mich. Es zeigte sich, dass meine Grafikkarte ist leider zu alt: "Gefunden GPU0 GeForce GTX 760, die von cuda-Fähigkeit 3.0. PyTorch nicht mehr unterstützt diese GPU, weil es zu alt ist."torch.cuda.is_available()
InformationsquelleAutor vinzee
Nachdem Sie den start der Ausbildung Schleife, und dann, wenn Sie wollen, um manuell beobachten Sie es aus dem terminal, ob Ihr Programm ist die Nutzung der GPU-Ressourcen und in welchem Umfang, dann können Sie verwenden:
Aktualisieren Sie die Statistiken für jede 2 Sekunden, bis Sie drücken Sie Strg+c
Können, können Sie auch überprüfen, ob Ihre installation von PyTorch erkennt Ihre CUDA-installation korrekt tun:
True
status bedeutet, dass PyTorch richtig konfiguriert ist und ist mit der GPU, allerdings haben Sie sich zu bewegen/platzieren Sie die Tensoren mit den notwendigen Anweisungen in Ihrem code.Wenn Sie möchten, tun Sie dies in Python-code, dann schauen Sie in diesem Modul:
https://github.com/jonsafari/nvidia-ml-py oder im pypi hier: https://pypi.python.org/pypi/nvidia-ml-py/
InformationsquelleAutor kmario23
Als es noch nicht vorgeschlagen worden hier, ich bin das hinzufügen einer Methode mit
Fackel.Gerät
, das ist Recht praktisch, auch beim initialisieren Tensoren auf die richtigedevice
.Ausgabe:
Wie oben erwähnt, mit
device
es möglich ist,:Bewegen Tensoren zu den jeweiligen
device
:Oder erstellen Sie einen tensor direkt auf die
device
:Wodurch das Umschalten zwischen CPU-und GPU-bequem, ohne änderung des eigentlichen Codes.
Wenn Sie nicht getan haben, alle Berechnungen vor das ist vollkommen normal. Es ist auch eher unwahrscheinlich, dass Sie kann erkennen die GPU Modell innerhalb PyTorch aber nicht auf ihn zugreifen. Versuchen Sie dabei einige Berechnungen auf der GPU, und Sie sollten sehen, dass die Werte sich ändern.
Ich erstelle ein .py-Skript basiert auf diesem tutorial - analyticsvidhya.com/blog/2018/02/pytorch-tutorial. Besonders beim kopieren und einfügen der Abschnitt beginnend mit
## neural network in pytorch
, dann füge ich deinen code am Ende. Es zeigt immer noch " device: cuda; und 0Gb für Zugeordnet und Zwischengespeichert. Habe auch versucht einzufügen, die am Ende der for-Schleifefor i in range(epoch):
nach dem back-propagation, noch alle 0GBSind Sie sicher, dass alle tensor mit
torch.rand(10).to(device)
odertorch.rand(10, device=device)
? Ein Hinweis: der obige code verwendetround
, Rundung auf eine Stelle nach dem Komma. So kleine Mengen kann nur auf null gerundet. Sie können ändern, die Präzision Sie Runden oder erstellen Sie einfach größer Tensoren. Wenn das nicht Ihr problem lösen, ich schlage vor, Sie erstellen eine neue Frage, wo Sie fügen Sie die notwendigen Details des genauen setup und system.Sie müssen konsistent sein, Sie können keine Operationen auf allen Geräten. Jede operation, wie
my_tensor_on_gpu * my_tensor_on_cpu
fehl.InformationsquelleAutor blue-phoenox
Auf der office-Website und Holen Sie sich die start-Seite, überprüfen Sie die GPU für PyTorch wie folgt:
Referenz: PyTorch|Get Start
InformationsquelleAutor TimeSeam
Zu überprüfen, ob es eine GPU zur Verfügung:
Wenn die obige Funktion zurück
False
, haben Sie entweder keine GPU oder die Nvidia-Treiber noch nicht installiert wurden, so das Betriebssystem nicht sehen, die GPU oder die GPU verborgen, durch die Umgebungs-variableCUDA_VISIBLE_DEVICES
. Wenn der Wert vonCUDA_VISIBLE_DEVICES
-1 ist, dann werden alle Ihre Geräte werden ausgeblendet. Sie können überprüfen, dass der Wert im code mit dieser Zeile: `os.environ['CUDA_VISIBLE_DEVICES']Wenn die obige Funktion zurück
True
bedeutet nicht unbedingt, dass Sie mit der GPU. In Pytorch Sie können reservieren Tensoren auf Geräte, wenn Sie Sie erstellen. Standardmäßig Tensoren zugeteilt, um diecpu
. Um zu überprüfen, wo Sie Ihren tensor zugeordnet ist, tun:Beachten Sie, dass Sie nicht funktionieren kann auf Tensoren zugeordnet, die in verschiedenen Geräten. Um zu sehen, wie die Verteilung der tensor der GPU, siehe hier: https://pytorch.org/docs/stable/notes/cuda.html
InformationsquelleAutor Jadiel de Armas
Erstellen Sie einen tensor auf der GPU wie folgt:
Nicht beenden, öffnen Sie ein weiteres terminal und prüfen Sie, ob der python-Prozess ist mit der GPU-Nutzung:
nvidia-smi
von der Befehlszeile ausGut, technisch gesehen kann man immer analysieren, die Ausgabe aller Kommandozeilen-tools, einschließlich
nvidia-smi
.InformationsquelleAutor litesaber
FWIW: Wenn Sie sind hier, weil Ihre pytorch gibt immer
false
fürtorch.cuda.is_available()
das ist wahrscheinlich, weil Sie Ihre installierte pytorch version ohne GPU-Unterstützung. (ZB: Sie codiert in laptop dann testen auf dem server). Lösung zu deinstallieren und installieren Sie pytorch wieder mit dem richtigen Befehl aus pytorch downloads Seite. Siehe auch diese pytorch Problem.InformationsquelleAutor mithunpaul