2017-04-26 5 views
1

Ich habe zwei Tensorflow-Graphen. Eine für das Training und die andere für die Evaluation. Sie teilen viele Variablennamen. Wenn ich ein Modell auswerte, möchte ich alle Variablenwerte vom Zugdiagramm in das Testdiagramm kopieren. Offensichtlich kann ich es über tf.train.Saver tun, aber diese Lösung scheint mir nicht sehr passend zu sein, besonders die Tatsache, dass wir die Platte dafür verwenden müssen.Kopieren von Variablen aus einem TensorFlow-Graph in einen anderen

Antwort

3

Wenn Sie über mehrere Diagramme sprechen, ich nehme an, Sie meinen so etwas wie:

g1 = tf.Graph() 
with g1.as_default(): 
    # add your stuff 

g2 = tf.Graph() 
with g2.as_default(): 
    # add other stuff 

Wenn dies richtig ist, dann sind Sie sicher, dass Sie benötigen zwei Graphen wirklich? Kannst du nicht einen Graphen haben, der aus zwei verbundenen Komponenten besteht?

mehrere Grafiken zu verwenden ist discouraged (S. 47), weil:

  • Mehrere Graphen mehrere Sitzungen benötigen, jeder wird versuchen, alle verfügbaren Ressourcen standardmäßig verwenden
  • keine Daten zwischen ihnen passieren kann, ohne sie durch python/numpy vorbei, die nicht in
  • Es ist besser verteilt funktioniert getrennt Subgraphen innerhalb eines Graphen haben

Dies gibt Ihnen auch eine Lösung, wie Sie Variablen in einer nicht verteilten Einstellung übergeben.

+0

Das Problem ist das folgende. Ich habe ein Modell. Ich habe zwei Instanzen davon, eine nimmt die Eingabe aus der Warteschlange, die andere aus einer anderen Warteschlange. Eine Warteschlange ist für den Zugverband, die andere für das Testset. Gibt es eine Möglichkeit, Eingaben auszutauschen, ohne feed_dict zu verwenden? –

+0

Soweit ich weiß, ist die explizite Verwendung von feed_dict auch nicht ratsam, stattdessen sollten Warteschlangen verwendet werden. –

+0

@KonstantinSolomatov Wenn Sie ein weniger abstraktes Beispiel liefern, werde ich versuchen, ein wenig später zu schauen. In Bezug auf Warteschlangen vs Feeds: Sie haben Recht. Dies ist aus Leistungsgründen. Feeds sind meist zum Spielen und Experimentieren. –

Verwandte Themen