Diskussion zum Artikel "Neuronale Netze leicht gemacht (Teil 5): Parallele Berechnungen mit OpenCL" - Seite 4
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ist es möglich, ein LSTM-Netzwerk mit OpenCL zu erstellen? Wenn ja, welche Version von NeuroNet.mqh ist besser? Mit der Version aus diesem Artikel bekomme ich den Fehler "Error of execution kernel CaclOutputGradient: 0". Und mit der Version aus Artikel 7 scheint es, dass OpenCL überhaupt nicht verwendet wird, wenn man defNeuronLSTM Neuronen erstellt. Und defNeuronLSTMOCL ist nicht implementiert.
Ich verstehe, danke. Bitte klären Sie auch: recentAverageSmoothingFactor = 10000 - er ist starr eingestellt. Sollte er durch die Anzahl der Werte in der Trainingsstichprobe geändert werden?
Wenn die Stichprobe kleiner ist, sollten Sie ihn verringern. Es ist sinnvoll, ihn zu erhöhen, wenn Sie den Fehler über die gesamte Stichprobe sehen wollen.
Ich verwende einen starren Wert, um die Leistung des Netzwerks unter verschiedenen Marktbedingungen zu bewerten.
Dmitry, ich kann nicht verstehen, warum die Werte im Array nicht aktualisiert werden. Es treten keine Fehler auf - die Methode wird nicht mit false verlassen. Können Sie das selbst überprüfen?
Dmitry, ich kann nicht verstehen, warum die Werte im Array nicht aktualisiert werden. Es treten keine Fehler auf - die Methode wird nicht mit false verlassen. Können Sie dies selbst überprüfen?
Alexey, die Update-Methode erbt von der CArrayDouble-Klasse und schreibt Daten in das Array, übergibt sie aber nicht an den GPU-Puffer.
Wenn die getGradient-Methode aufgerufen wird, liest sie gleichzeitig Daten aus dem GPU-Puffer, wodurch die zuvor vorgenommenen Änderungen überschrieben werden.
Alexei, die Aktualisierungsmethode erbt von der Klasse CArrayDouble und schreibt Daten in das Array, übergibt sie aber nicht an den GPU-Puffer.
Wenn die Methode getGradient aufgerufen wird, liest sie gleichzeitig Daten aus dem GPU-Puffer, wodurch die zuvor vorgenommenen Änderungen überschrieben werden.
Ich danke Ihnen für diese Artikel! Es war sehr interessant, die Ideen zu diesem System zu verfolgen.
Ich interessiere mich sehr für das LSTM-Modul. Gibt es eine Möglichkeit, Open-CL für LSTM-Netze zu verwenden?
Ich habe versucht, das LSTM-EA so zu modifizieren, dass es mit Open-CL funktioniert, aber ohne Erfolg.
Mit freundlichen Grüßen
Pontus
Hallo, Sie brauchen die .cl-Datei nicht zu installieren. Du lädst sie einfach in das Hauptprogramm als String