Ich las den Code für die logistische Funktion unter http://deeplearning.net/tutorial/logreg.html gegeben. Ich bin verwirrt über den Unterschied zwischen inputs
& givens
Variablen für eine Funktion. Die Funktionen, die Fehler gemacht durch ein Modell auf einem mini berechnen sind:Zweck der "geben" Variablen in Theano.Funktion
test_model = theano.function(inputs=[index],
outputs=classifier.errors(y),
givens={
x: test_set_x[index * batch_size: (index + 1) * batch_size],
y: test_set_y[index * batch_size: (index + 1) * batch_size]})
validate_model = theano.function(inputs=[index],
outputs=classifier.errors(y),
givens={
x: valid_set_x[index * batch_size:(index + 1) * batch_size],
y: valid_set_y[index * batch_size:(index + 1) * batch_size]})
Warum nicht/konnte nicht ein nur x machen & y Eingangsgrößen geteilt und lassen Sie sie definiert werden, wenn eine tatsächliche Modellinstanz erstellt wird ?
dies ist sehr hilfreich und verdeutlicht die Ideen, die ich von diesen Konzepten hatte, danke! – eickenberg
@nouiz - Danke, lass mich sehen, wenn ich verstehe: – user1245262
@nouiz - Danke, lassen Sie mich sehen, wenn ich verstehe: 1. Verwendung von 'gegeben' ist Theano Speicherverwaltung zwischen CPU und GPU (s) zu verbessern. 2. Ein 'gegebenes' erzeugt (?) Eine gemeinsame Variable * nur wenn * es in eine GPU gelegt werden kann. 3. Im Gegensatz zu Shared-Variablen behalten bestimmte Variablen den Status nicht bei - ich kann keine Updates für sie innerhalb der Funktion erstellen. Wenn sie sich außerhalb der Funktion ändern, hat dies keine Auswirkungen auf nachfolgende Aufrufe dieser Funktion ....... Haben Ich habe irgendwelche Kommissions- oder Unterlassungsfehler begangen? ... Thx. (Sorry - versehentlich eingegebener 1. Kommentar und dann zu lange Bearbeitung) – user1245262