Class: TensorStream::Pbtext
- Inherits:
-
Serializer
- Object
- Serializer
- TensorStream::Pbtext
- Includes:
- OpHelper, StringHelper
- Defined in:
- lib/tensor_stream/graph_serializers/pbtext.rb
Overview
Parses pbtext files and loads it as a graph
Instance Method Summary collapse
Methods included from OpHelper
#_op, #cons, #format_source, #fp_type?, #i_cons, #i_op, #i_var, #int_type?, #reduced_shape, #shape_eval, #shape_full_specified, #shapes_fully_specified_and_equal
Methods included from StringHelper
#camelize, #constantize, #symbolize_keys, #underscore
Methods inherited from Serializer
Instance Method Details
#get_string(tensor_or_graph, session = nil, graph_keys = nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/tensor_stream/graph_serializers/pbtext.rb', line 7 def get_string(tensor_or_graph, session = nil, graph_keys = nil) graph = tensor_or_graph.is_a?(Tensor) ? tensor_or_graph.graph : tensor_or_graph @lines = [] node_keys = graph_keys.nil? ? graph.node_keys : graph.node_keys.select { |k| graph_keys.include?(k) } node_keys.each do |k| node = if block_given? yield graph, k else graph.get_tensor_by_name(k) end @lines << "node {" @lines << " name: #{node.name.to_json}" if node.is_a?(TensorStream::Operation) @lines << " op: #{camelize(node.operation.to_s).to_json}" node.inputs.each do |input| next unless input @lines << " input: #{input.name.to_json}" end # type pb_attr("T", "type: #{sym_to_protobuf_type(node.data_type)}") case node.operation.to_s when "const" pb_attr("value", tensor_value(node)) when "variable_v2" pb_attr("shape", shape_buf(node, "shape")) end (node) end @lines << "}" end @lines << "versions {" @lines << " producer: 26" @lines << "}" @lines.flatten.join("\n") end |