Nếu tôi lưu mô hình của mình bằng cách sử dụng tensorflow.saved_model.save
chức năng ở định dạng SavingModel, làm thế nào tôi có thể truy xuất Ops Tensorflow nào được sử dụng trong mô hình này sau đó. Khi mô hình có thể được khôi phục, các hoạt động này được lưu trữ trong biểu đồ, tôi đoán là trong saved_model.pb
tệp. Nếu tôi tải protobuf này (không phải toàn bộ mô hình) thì phần thư viện của protobuf liệt kê những thứ này, nhưng hiện tại nó không được ghi lại và được gắn thẻ như một tính năng thử nghiệm. Các mô hình được tạo trong Tensorflow 1.x sẽ không có phần này.
Vậy đâu là cách nhanh chóng và đáng tin cậy để lấy danh sách các Hoạt động đã sử dụng (Thích MatchingFiles
hoặc WriteFile
) từ một mô hình ở định dạng SavingModel?
Ngay bây giờ tôi có thể đóng băng toàn bộ, như thế tensorflowjs-converter
. Vì họ cũng kiểm tra các hoạt động được hỗ trợ. Điều này hiện không hoạt động khi một LSTM trong mô hình, xem tại đây . Có cách nào tốt hơn để làm điều này không, vì Ops chắc chắn ở trong đó?
Một mô hình ví dụ:
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')
Dự kiến trong đầu ra tất cả các Ops, chứa trong trường hợp này ít nhất là:
ReadFile
như được mô tả ở đây- ...
saved_model
biến trong ví dụ cuối cùng của bạn? Kết quả tf.saved_model.load('/path/to/model')
hoặc tải protobuf của tệp save_model.pb.
saved_model.pb
nó là gìtf.GraphDef
, hoặc là mộtSavedModel
tin nhắn protobuf? Nếu bạn có một cuộctf.GraphDef
gọigd
, bạn có thể nhận được danh sách các op được sử dụng vớisorted(set(n.op for n in gd.node))
. Nếu bạn có một mô hình được tải, bạn có thể làmsorted(set(op.type for op in tf.get_default_graph().get_operations()))
. Nếu nó là mộtSavedModel
, bạn có thể lấytf.GraphDef
từ nó (ví dụsaved_model.meta_graphs[0].graph_def
).