Ich versuche ein Ensemble von vielen trainierten Modellen zu erstellen. Alle Modelle haben die gleiche Grafik und unterscheiden sich nur durch ihre Gewichte. Ich erstelle das Modelldiagramm mit tf.get_variable
. Ich habe mehrere verschiedene Checkpoints (mit unterschiedlichen Gewichtungen) für die gleiche Graphenarchitektur und möchte für jeden Checkpoint ein Instanzmodell erstellen.Wie erstelle ich Ensemble im Tensorflow?
Wie kann ich viele Checkpoints laden, ohne die zuvor geladenen Gewichte zu überschreiben?
Da ich meine Grafiken mit tf.get_variable
erstellt habe, ist die einzige Möglichkeit, mehrere Diagramme zu erstellen, indem Sie das Argument reuse = True
übergeben. Wenn ich jetzt versuche, die Namen meiner Graphvariablen zu ändern, die die Erstellungsmethode in einen neuen Bereich einschließen (damit sie mit anderen erstellten Graphen nicht gemeinsam genutzt werden können), wird das nicht funktionieren, da sich die neuen Namen von den gespeicherten unterscheiden Gewichte und ich kann es nicht laden.
Ich habe es noch nicht ausprobiert, aber hier einige Referenzcode: https://github.com/eske/seq2seq/blob/master/translate/__main__.py#L190 Kurz gesagt, der Autor schafft als viele Sessions so viele Checkpoints und innerhalb jeder Session stellt er den entsprechenden Checkpoint wieder her. – tnq177
Einige weitere relevante Referenz-Code: https://github.com/Hvass-Labs/TensorFlow-Tutorials/blob/master/05_Ensemble_Learning.ipynb – Deepank
@cesarsalgado: Ich habe das gleiche Problem. Ich verwende Inception-v4 in tf-slim. Wie hast du es gelöst? – Jame