CNN lernt nicht (PyTorch)?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ohne Cuda ist es vielleicht zu langsam

SamanthaI 
Fragesteller
 09.06.2021, 20:43

Mit cuda ist es immer mitten in der ersten oder zweiten Epoche abgestürzt. Nun war es in der 20. Epoche

0
mompf03231  09.06.2021, 20:44
@SamanthaI

Bist du dir sicher, dass 20 Epochen in dem Fall ausreichen um eine ernsthafte Verbesserung zu beobachten? Mit CPU dauert sowas ewig

0
SamanthaI 
Fragesteller
 09.06.2021, 20:54
@mompf03231

Okay. Das wusste ich nicht. Die Werte waren nur alle bei 100. 000000,75.000000,50.000000 oder 0.000000 Und vielleicht noch ein paar anderen Zahlen wie 25.000000. Das hat mich auch gewundert ist das normal?

Nach wie vielen Epochen ändern sich die Werte den so ungefähr bei CPU?

Und ist es normal, dass das mit Gpu so oft abstürzt? Oder denkst du, dass da ein Fehler sein könnte?

0
mompf03231  09.06.2021, 20:56
@SamanthaI

Kommt natürlich auf die Aufgabe an, aber eigentlich kann man das mit einer CPU komplett vergessen solange es nicht transfer learning ist, mit einem vortrainierten modell. Warum sie so oft abstürzt weiß ich nicht. Hast du die richtige CUDA version installiert? Kommt irgendein fehler?

1
SamanthaI 
Fragesteller
 09.06.2021, 21:09
@mompf03231

Segmentation fault (core dumped).

Selten auch vorher CUDA out of memory. Tried to allocate..... (zu wenig dedizierter Speicher). Ich hätte generell 2 GiB.

Hm, weiß ich leider nicht. Ich installiere Cuda mal neu und probiere es dann nochmal

0
SamanthaI 
Fragesteller
 09.06.2021, 21:10
@SamanthaI

Die Meldung mit dem segmentation fault aber immer, wenn die Daten getestet werden.

0
mompf03231  09.06.2021, 21:12
@SamanthaI

2 GB VRAM ist für Machine Learning deutlich zu wenig, 8 ist das Minimum und damit kommt man häufig nicht hin. Probiers mal auf Google Colab, da kriegst du kostenlos GPUs mit 14 bis 16 GB VRAM

1
SamanthaI 
Fragesteller
 09.06.2021, 22:50
@mompf03231

Okay, das mit Google colab funktioniert super vielen dank :D

1
SamanthaI 
Fragesteller
 10.06.2021, 15:37
@SamanthaI

Hi, ich habe nochmal eine Frage: Ist es normal dass da überall 0.000000 als Loss steht? Ich habe beim Starten nicht hingeschaut, aber in der 9. Bis 20. Epoche war das so.. Bei dem gleichen Script, hab nur die Batchsize hochgestellt und ein bisschen was an dem Datei auslesen und drn Pfaden verändert.

0
mompf03231  10.06.2021, 20:11
@SamanthaI

Das weiß ich nicht, schau mal dort nach wo der code her ist, z. b. in den github issues

1

Also du benutzt ein relativ dickes netzwerk, ohne CUDA kannste da eigentlich direkt aufgeben. CPUs kann man am anfang benutzen, für ganz kleine projekte. Aber sobald dein Netzwerk grösser wird, oder Conv2D Netze benutzt, brauchst du ne grafikkarte

Woher ich das weiß:eigene Erfahrung – Ich programmiere seit vielen Jahren alles Mögliche
SamanthaI 
Fragesteller
 10.06.2021, 15:50

Danke. Mit was für Projekten fängt man denn normal an? Das wäre jetzt mein erstes neuronales Netz..

0
EinTyppie  11.06.2021, 21:52
@SamanthaI

Uff dann wäre was mit Conv Layern doch bisschen krass.

Es gibt haufenweise beginner projekte, guck auf youtube nach "Machine Learning beginner projects"

1
SamanthaI 
Fragesteller
 11.06.2021, 22:46
@EinTyppie

oh, ich glaube es funktioniert gerade sogar halbwegs.. Mal schauen wie das in ein paar Stunden aussieht :D Aber das schaue ich mir auf jeden Fall mal an, vielen Dank :D

0