TensorFlow: wenn Sie die Variablen aus, die von mehreren Prüfpunkten

Ich habe die folgende situation:

  • Habe ich 2 Modelle geschrieben in 2 separaten scripts:

  • Modell besteht aus den Variablen a1, a2, und a3, und ist geschrieben in A.py

  • Modell B besteht aus Variablen b1, b2, und b3, und ist geschrieben in der B. py

In jedem A.py und B.py, ich habe eine tf.train.Saver das spart den checkpoint aller lokalen Variablen, und nennen wir die checkpoint-Dateien ckptA und ckptB bzw.

Möchte ich nun zu einem Modell C, verwendet a1 und b1. Ich kann es so machen, dass die exakt gleiche variable Namen für a1 verwendet wird, in A und C mithilfe der var_scope (und das gleiche für b1).

Die Frage ist, wie kann ich laden a1 und b1 aus ckptA und ckptB in Modell C? Zum Beispiel würde das folgende funktionieren?

saver.restore(session, ckptA_location)
saver.restore(session, ckptB_location)

Würde ein Fehler ausgelöst, wenn Sie versuchen, die Wiederherstellung derselben Sitzung zweimal? Würde es beklagen, dass es keine reservierten "slots" für die zusätzlichen Variablen (b2, b3, a2, a3), oder würde es einfach wieder die Variablen, die es können, und nur meckern, wenn es einige andere Variablen in C, die noch nicht initialisiert sind?

Ich versuche, code zu schreiben, um dies zu testen, aber ich würde gerne sehen, einen kanonischen Ansatz für dieses problem, da trifft man diese oft, wenn Sie versuchen, wieder zu verwenden, einige vor-trainiert-GEWICHTE.

Dank!

InformationsquelleAutor Evan Pu | 2016-03-01
Schreibe einen Kommentar