Jika saya menyimpan model saya menggunakan tensorflow.saved_model.save
fungsi dalam format SavedModel, bagaimana saya bisa mengambil Tensorflow Ops mana yang digunakan dalam model ini sesudahnya. Karena model dapat dipulihkan, operasi ini disimpan dalam grafik, tebakan saya ada di saved_model.pb
file. Jika saya memuat protobuf ini (jadi bukan seluruh model) bagian perpustakaan dari protobuf mencantumkan ini, tetapi ini tidak didokumentasikan dan ditandai sebagai fitur eksperimental untuk saat ini. Model yang dibuat di Tensorflow 1.x tidak akan memiliki bagian ini.
Jadi apa cara cepat dan andal untuk mengambil daftar Operasi yang digunakan (Suka MatchingFiles
atau WriteFile
) dari model dalam format SavedModel?
Saat ini aku bisa membekukan semuanya, seperti tensorflowjs-converter
halnya. Karena mereka juga memeriksa Operasi yang didukung. Ini saat ini tidak berfungsi ketika LSTM ada dalam model, lihat di sini . Apakah ada cara yang lebih baik untuk melakukan ini, karena Ops pasti ada di sana?
Contoh model:
class FileReader(tf.Module):
@tf.function(input_signature=[tf.TensorSpec(name='filename', shape=[None], dtype=tf.string)])
def read_disk(self, file_name):
input_scalar = tf.reshape(file_name, [])
output = tf.io.read_file(input_scalar)
return tf.stack([output], name='content')
file_reader = FileReader()
tf.saved_model.save(file_reader, 'file_reader')
Diharapkan dalam output semua Ops, mengandung dalam hal ini setidaknya:
ReadFile
seperti yang dijelaskan di sini- ...
saved_model
variabel dalam contoh terakhir Anda? Hasil tf.saved_model.load('/path/to/model')
atau memuat protobuf dari file Saved_model.pb.
saved_model.pb
itutf.GraphDef
, atauSavedModel
pesan protobuf? Jika Anda memilikitf.GraphDef
disebutgd
, Anda bisa mendapatkan daftar ops digunakan dengansorted(set(n.op for n in gd.node))
. Jika Anda memiliki model yang dimuat, Anda dapat melakukannyasorted(set(op.type for op in tf.get_default_graph().get_operations()))
. Jika itu adalahSavedModel
, Anda dapat memperolehnyatf.GraphDef
(missaved_model.meta_graphs[0].graph_def
.).