-1

Ich möchte die Schichten mit Ausnahme der ersten drei Schichten in der Inception v3 model mit TensorFlow in Python 3 auch die Gewichte dieser drei Schichten zu ändern, um neu initialisieren und re -Verbinden Sie nur die drei ersten Schichten des Netzwerks. Wenn dies nicht innerhalb des Anfangsmodells möglich ist, gibt es ein anderes Netzwerk (in TensorFlow) mit dem dies getan werden könnte?Einfrieren Teil der Ebenen in Inception V3 in TensorFlow mit Python 3

Antwort

0

Dies kann in jedem Netzwerk erfolgen. Um die unteren Schichten während des Trainings einzufrieren, ist die einfachste Lösung der Optimierer die Liste von Variablen zu geben, zu trainieren, ohne die Variablen aus den unteren Schichten:

train_vars = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, 
           scope="hidden[34]|outputs") 
training_op = optimizer.minimize(loss, var_list=train_vars) 

Die erste Zeile die Liste aller trainierbar Variablen bekommt in den versteckten Schichten 3 und 4 und in der Ausgabeschicht. Dies lässt die Variablen in den ausgeblendeten Ebenen 1 und 2 aus. Der obige Ausschnitt nimmt an, dass die Ebenen die Variablenbereiche hidden1, ... hidden4 und outputs haben; Inception Modell verwendet eine andere Bezeichnung: Conv2d_2a_*, Conv2d_2b_*, AvgPool_1a_*, ...

Verwandte Themen