Setelah membaca dokumen , saya menyimpan model TensorFlow
, berikut kode demo saya:
# Create some variables.
v1 = tf.Variable(..., name="v1")
v2 = tf.Variable(..., name="v2")
...
# Add an op to initialize the variables.
init_op = tf.global_variables_initializer()
# Add ops to save and restore all the variables.
saver = tf.train.Saver()
# Later, launch the model, initialize the variables, do some work, save the
# variables to disk.
with tf.Session() as sess:
sess.run(init_op)
# Do some work with the model.
..
# Save the variables to disk.
save_path = saver.save(sess, "/tmp/model.ckpt")
print("Model saved in file: %s" % save_path)
tapi setelah itu, saya temukan ada 3 file
model.ckpt.data-00000-of-00001
model.ckpt.index
model.ckpt.meta
Dan saya tidak dapat memulihkan model dengan memulihkan model.ckpt
file, karena tidak ada file seperti itu. Ini kode saya
with tf.Session() as sess:
# Restore variables from disk.
saver.restore(sess, "/tmp/model.ckpt")
Jadi kenapa ada 3 file?
tensorflow
GoingMyWay
sumber
sumber
Jawaban:
Coba ini:
Metode penyimpanan TensorFlow menyimpan tiga jenis file karena menyimpan struktur grafik secara terpisah dari nilai variabel . The
.meta
File menggambarkan struktur grafik disimpan, sehingga Anda perlu mengimpor sebelum memulihkan pos pemeriksaan (jika tidak tidak tahu apa variabel nilai pos pemeriksaan disimpan sesuai dengan).Atau, Anda dapat melakukan ini:
Meskipun tidak ada file bernama
model.ckpt
, Anda masih merujuk ke pos pemeriksaan yang disimpan dengan nama itu saat memulihkannya. Darisaver.py
kode sumber :sumber
00000
dan00001
angka? dalamvariables.data-?????-of-?????
filefile meta : menjelaskan struktur grafik yang disimpan, termasuk GraphDef, SaverDef, dan sebagainya; kemudian terapkan
tf.train.import_meta_graph('/tmp/model.ckpt.meta')
, akan memulihkanSaver
danGraph
.file indeks : itu adalah tabel tetap string-string (tensorflow :: table :: Table). Setiap kunci adalah nama tensor dan nilainya adalah BundleEntryProto berseri. Setiap BundleEntryProto mendeskripsikan metadata tensor: file "data" mana yang berisi konten tensor, offset ke file tersebut, checksum, beberapa data tambahan, dll.
file data : ini adalah koleksi TensorBundle, simpan nilai semua variabel.
sumber
Saya memulihkan embeddings kata yang terlatih dari tutorial tensorflow Word2Vec.
Jika Anda telah membuat beberapa pos pemeriksaan:
misalnya file yang dibuat terlihat seperti ini
coba ini
saat memanggil restore_session ():
sumber
Jika Anda melatih CNN dengan putus sekolah, misalnya, Anda dapat melakukan ini:
sumber