Se salvo il mio modello utilizzando la tensorflow.saved_model.save
funzione nel formato SavedModel, come posso recuperare quali Tensorflow Ops vengono utilizzati in questo modello in seguito. Poiché il modello può essere ripristinato, queste operazioni sono memorizzate nel grafico, la mia ipotesi è nel saved_model.pb
file. Se carico questo protobuf (quindi non l'intero modello), la parte della libreria del protobuf li elenca, ma questo non è documentato e etichettato come funzionalità sperimentale per ora. I modelli creati in Tensorflow 1.x non avranno questa parte.
Quindi qual è un modo rapido e affidabile per recuperare un elenco di operazioni usate (come MatchingFiles
o WriteFile
) da un modello in formato SavedModel?
In questo momento posso congelare l'intera cosa, come tensorflowjs-converter
fa. Poiché controllano anche le operazioni supportate. Questo attualmente non funziona quando nel modello è presente un LSTM, vedere qui . C'è un modo migliore per farlo, dato che gli Ops sono sicuramente lì dentro?
Un modello di esempio:
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')
Attesi in uscita tutti gli Op, contenenti in questo caso almeno:
ReadFile
come descritto qui- ...
saved_model
variabile nel tuo ultimo esempio? Il risultato tf.saved_model.load('/path/to/model')
o il caricamento del protobuf del file saved_model.pb.
saved_model.pb
, ètf.GraphDef
unSavedModel
messaggio o un messaggio protobuf? Se haitf.GraphDef
chiamatogd
, puoi ottenere l'elenco delle operazioni usate consorted(set(n.op for n in gd.node))
. Se hai un modello caricato, puoi farlosorted(set(op.type for op in tf.get_default_graph().get_operations()))
. Se è unSavedModel
, puoi ottenerlotf.GraphDef
da (ad esempiosaved_model.meta_graphs[0].graph_def
).