Если я сохраню свою модель с помощью функции tensorflow.saved_model.save
в формате SavedModel, как я могу узнать, какие операции Tensorflow используются в этой модели впоследствии. Поскольку модель может быть восстановлена, эти операции хранятся в графике, я думаю, в файле saved_model.pb
. Если я загружаю этот protobuf (то есть не всю модель), библиотечная часть protobuf перечисляет их, но это пока не задокументировано и не помечено как экспериментальная функция. Модели, созданные в Tensorflow 1.x, не будут иметь этой части.
Так что же является быстрым и надежным способом получения списка используемых операций (например, MatchingFiles
или WriteFile
) из модели в формате SavedModel?
Прямо сейчас я могу заморозить все это, как это делает tensorflowjs-converter
. Как они также проверяют на поддерживаемые операции. В настоящее время это не работает, когда в модели присутствует LSTM, см. здесь . Есть ли лучший способ сделать это, поскольку Ops определенно там?
Пример модели:
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')
Ожидается при выводе всех Ops, содержащих в этом случае, по крайней мере:
ReadFile
как описано здесь - ...