Ich lerne TensorFlow (sowie allgemeine Deep Learning). Ich frage mich, wann wir die Input-Trainingsdaten in Chargen aufteilen müssen. Und wie bestimmen wir die Losgröße? Gibt es eine Faustregel? Vielen Dank!TensorFlow: wie man bestimmt, ob wir den Trainingsdatensatz in Chargen brechen wollen
Antwort
Im Allgemeinen werden Deep Learning-Algorithmen auf GPUs ausgeführt, die über begrenzten Speicher verfügen und daher nur eine begrenzte Anzahl von Eingabedatenbeispielen (im allgemein als Stapelgröße definierten Algorithmus) geladen werden können.
Im Allgemeinen verringert eine größere Batchgröße die Gesamtberechnungszeit (da die internen Matrixmultiplikationen parallel in der GPU ausgeführt werden, wird also bei großen Batchgrößen die Zeit beim Lesen/Schreiben von Gradienten und möglicherweise bei einigen anderen Operationen gespeichert) .
Ein weiterer wahrscheinlicher Nutzen der großen Losgröße ist: In Multi-Class-Klassifikationsproblemen, wenn die Anzahl der Klassen groß ist, eine größere Chargengröße macht Algorithmus besser verallgemeinert (vermeiden technisch Überanpassung) über die verschiedenen Klassen (dabei ist es eine Standardtechnik, eine gleichmäßige Verteilung von Klassen in einem Stapel zu halten.
Bei der Entscheidung über die Batch-Größe gibt es noch einige andere Faktoren, die ins Spiel kommen: Lernrate und Art der Optimierungsmethode.
Ich hoffe, dies beantwortet Ihre Frage in gewissem Umfang!
- 1. Wie werden Trainingsdaten "Chargen" an Mitarbeiter in Tensorflow verteilt?
- 2. Tensorflow Splitting Trainingsdaten zu Chargen
- 3. Wie man Trainingsdatensatz von OpenNLP Modellen erhält?
- 4. Trainingsdatensatz
- 5. Tensorflow: Verwenden Sie tf.parse_example für JPEG-Chargen
- 6. Wie man den Datentyp einer Variablen bestimmt
- 7. Wie kann ich elementare Bedingungen für Chargen in TensorFlow berechnen?
- 8. Daten in Chargen in Tensorflow zur Klassifizierung aufteilen
- 9. Wie bestimmt man den ersten Wochentag in iOS?
- 10. Wie bestimmt man den Eigenschaftswerttyp innerhalb eines Knotens in neo4j?
- 11. Wie man Notenfrequenzen bestimmt?
- 12. Reagieren - wie bestimmt man, ob die Komponente zustandslos/funktional ist?
- 13. wie man bestimmt, ob Breite und Länge genau sind
- 14. Trainingsdatensatz in FANN
- 15. Wie bestimmt man den iOS-Verbindungstyp (Edge, 3G, 4G, Wifi)?
- 16. Ist es zulässig, vorhergesagte Daten in den Trainingsdatensatz einzugeben?
- 17. Prozessdaten in Chargen Nicht genügend Arbeitsspeicher Ausnahmen
- 18. Ruby win32ole - wie man den OLE-Klassentyp bestimmt, ob die OLE-Klasse eine Methode unterstützt
- 19. Regex: Wie bestimmt man, ob ein String den gesamten Satz eines bestimmten Teilstrings enthält?
- 20. Wie erhält man die Anzahl der Chargen in vorbereiteter Anweisung?
- 21. iPhone SDK: Wie bestimmt man den Tastaturtyp innerhalb einer UIKeyboardDidShowNotification?
- 22. Wie bestimmt Windows (speziell Vista), ob meine Anwendung hängt?
- 23. Wie wähle ich den richtigen Trainingsdatensatz für die Prognose?
- 24. Funken Streaming fehlgeschlagen Chargen
- 25. wir haben 2 Tabellen: "Halle" & "Trainer"; wir wollen
- 26. Wie lasen Bilder und Etiketten zu Chargen im Tensorflow aus separaten Dateien mit geteilten Schlüsseln?
- 27. Wie erstellt man einen Trainingsdatensatz für die Bildverarbeitung
- 28. Sortieren Array nach Chargen in Ruby
- 29. Wie bestimmt man die Drehrichtung in CSS3-Übergängen?
- 30. Ground Truth und Trainingsdatensatz