Gibt es eine Möglichkeit, alle Variablen zu finden, von denen eine bestimmte Operation (normalerweise ein Verlust) abhängt? Ich möchte dies verwenden, um dann diese Sammlung in optimizer.minimize()
oder tf.gradients()
mit verschiedenen set().intersection()
Kombinationen zu übergeben.Finden Sie alle Variablen, von denen ein Tensorflow abhängig ist
Bisher habe ich op.op.inputs
gefunden und versucht, eine einfache BFS auf das, aber ich die Chance nie auf Variable
Objekte zurückgegeben durch tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)
oder slim.get_variables()
Es scheint eine Entsprechung zwischen entsprechenden ‚Tensor.op._id zu sein and
Variables.op._id` Felder, aber ich bin mir nicht sicher, ob ich mich darauf verlassen sollte.
Oder sollte ich das vielleicht gar nicht machen? I könnte natürlich meine disjoint Mengen von Variablen akribisch beim Erstellen meiner Grafik, aber dann wäre es leicht zu etwas zu verpassen, wenn ich das Modell ändern.
könnte es ein Problem mit dieser unendlich looping ... Ich habe es versucht, und es hing. Ich fügte ein 'set' hinzu, um zu verfolgen, welche' Op's bereits in der 'Queue' waren, und sie kehrte sofort zurück – eqzx
Du hast recht! Der ursprüngliche Code würde fehlschlagen, wenn der Graph einen Zyklus enthält. Ich habe es aktualisiert, um ein "besuchtes" Set zu verwenden. – mrry