Ich bin ein praktischer Forscher und teste gerne praktikable Lösungen, daher neige ich dazu, viele Experimente durchzuführen. Wenn ich beispielsweise eine Ähnlichkeitsbewertung zwischen Dokumenten berechne, möchte ich möglicherweise viele Maßnahmen ausprobieren. Tatsächlich muss ich für jede Maßnahme möglicherweise mehrere Läufe durchführen, um die Wirkung einiger Parameter zu testen.
Bisher habe ich die Läufeingaben und ihre Ergebnisse verfolgt, indem ich die Ergebnisse in Dateien mit möglichst vielen Informationen zu den Eingaben geschrieben habe. Das Problem ist, dass das Abrufen eines bestimmten Ergebnisses manchmal zu einer Herausforderung wird, selbst wenn ich versuche, die Eingabeinformationen zum Dateinamen hinzuzufügen. Ich habe versucht, eine Tabelle mit Links zu Ergebnissen zu verwenden, aber das macht keinen großen Unterschied.
Welche Tools / Prozesse verwenden Sie für die Buchführung Ihrer Experimente?
quelle
Antworten:
Vielleicht möchten Sie sich http://deeplearning.net/software/jobman/intro.html ansehen
Es wurde für tiefes Lernen entwickelt (ich denke), aber es ist anwendungsunabhängig. Es ist effektiv eine API-Version des SeanEasters-Ansatzes
quelle
Ich bin kürzlich auf ein ähnliches Problem gestoßen: Wie man das Extrahieren einer Vielzahl von Funktionen aus einem großen Datensatz verwaltet, ohne vorher zu wissen, wie sie alle aussehen würden. (Selbst die wiederholte Berechnung von Mittelwerten wäre rechenintensiv.) Wie würde ich Vorhersagen basierend auf verschiedenen Funktionssätzen verwalten? Das heißt, wenn ich eine neue Funktion hinzufügen würde, wie würde ich wissen, welche Modelle für neue Funktionen trainiert werden sollen? Es könnte schnell zu einem großen Durcheinander werden.
Meine aktuelle Lösung besteht darin, alles in einer lokalen NoSQL-Datenbank (MongoDB) zu verfolgen. Zum Beispiel könnte ich eine Sammlung haben
features
, deren Eintrag einen Namen hat, eine Beschreibung, wie das Feature berechnet wurde, die Python-Datei, in der die Extraktion ausgeführt wurde usw.Ebenso enthält eine Sammlung
models
Modelle, die auf den Daten ausgeführt werden. Jeder Eintrag kann einen Namen, eine Liste von Funktionen haben, die zum Trainieren des Modells verwendet wurden, seine möglichen Parameter, vorhergesagte Werte in einem Testsatz, Metriken für die Leistung des Modells usw.Aus meiner Sicht hat dies eine Reihe von Vorteilen:
Aus Ihrer Frage geht hervor, dass Sie diesen Ansatz an den Workflow Ihres Problems anpassen können. Installieren Sie Mongo oder eine andere Datenbank Ihrer Wahl und speichern Sie dann jeden Versuchslauf, seine Eingaben, seine Ergebnisse und alles andere, was Sie im Verlauf des Projekts verfolgen möchten. Dies sollte zumindest viel einfacher abzufragen sein als eine Tabelle.
quelle