// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/protobuf/meta_graph.proto

package org.tensorflow.proto.framework;

public interface TensorInfoOrBuilder extends
    // @@protoc_insertion_point(interface_extends:tensorflow.TensorInfo)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * For dense `Tensor`s, the name of the tensor in the graph.
   * </pre>
   *
   * <code>string name = 1;</code>
   */
  java.lang.String getName();
  /**
   * <pre>
   * For dense `Tensor`s, the name of the tensor in the graph.
   * </pre>
   *
   * <code>string name = 1;</code>
   */
  com.google.protobuf.ByteString
      getNameBytes();

  /**
   * <pre>
   * There are many possible encodings of sparse matrices
   * (https://en.wikipedia.org/wiki/Sparse_matrix).  Currently, TensorFlow
   * uses only the COO encoding.  This is supported and documented in the
   * SparseTensor Python class.
   * </pre>
   *
   * <code>.tensorflow.TensorInfo.CooSparse coo_sparse = 4;</code>
   */
  boolean hasCooSparse();
  /**
   * <pre>
   * There are many possible encodings of sparse matrices
   * (https://en.wikipedia.org/wiki/Sparse_matrix).  Currently, TensorFlow
   * uses only the COO encoding.  This is supported and documented in the
   * SparseTensor Python class.
   * </pre>
   *
   * <code>.tensorflow.TensorInfo.CooSparse coo_sparse = 4;</code>
   */
  org.tensorflow.proto.framework.TensorInfo.CooSparse getCooSparse();
  /**
   * <pre>
   * There are many possible encodings of sparse matrices
   * (https://en.wikipedia.org/wiki/Sparse_matrix).  Currently, TensorFlow
   * uses only the COO encoding.  This is supported and documented in the
   * SparseTensor Python class.
   * </pre>
   *
   * <code>.tensorflow.TensorInfo.CooSparse coo_sparse = 4;</code>
   */
  org.tensorflow.proto.framework.TensorInfo.CooSparseOrBuilder getCooSparseOrBuilder();

  /**
   * <pre>
   * Generic encoding for CompositeTensors.
   * </pre>
   *
   * <code>.tensorflow.TensorInfo.CompositeTensor composite_tensor = 5;</code>
   */
  boolean hasCompositeTensor();
  /**
   * <pre>
   * Generic encoding for CompositeTensors.
   * </pre>
   *
   * <code>.tensorflow.TensorInfo.CompositeTensor composite_tensor = 5;</code>
   */
  org.tensorflow.proto.framework.TensorInfo.CompositeTensor getCompositeTensor();
  /**
   * <pre>
   * Generic encoding for CompositeTensors.
   * </pre>
   *
   * <code>.tensorflow.TensorInfo.CompositeTensor composite_tensor = 5;</code>
   */
  org.tensorflow.proto.framework.TensorInfo.CompositeTensorOrBuilder getCompositeTensorOrBuilder();

  /**
   * <code>.tensorflow.DataType dtype = 2;</code>
   */
  int getDtypeValue();
  /**
   * <code>.tensorflow.DataType dtype = 2;</code>
   */
  org.tensorflow.proto.framework.DataType getDtype();

  /**
   * <pre>
   * The static shape should be recorded here, to the extent that it can
   * be known in advance.  In the case of a SparseTensor, this field describes
   * the logical shape of the represented tensor (aka dense_shape).
   * </pre>
   *
   * <code>.tensorflow.TensorShapeProto tensor_shape = 3;</code>
   */
  boolean hasTensorShape();
  /**
   * <pre>
   * The static shape should be recorded here, to the extent that it can
   * be known in advance.  In the case of a SparseTensor, this field describes
   * the logical shape of the represented tensor (aka dense_shape).
   * </pre>
   *
   * <code>.tensorflow.TensorShapeProto tensor_shape = 3;</code>
   */
  org.tensorflow.proto.framework.TensorShapeProto getTensorShape();
  /**
   * <pre>
   * The static shape should be recorded here, to the extent that it can
   * be known in advance.  In the case of a SparseTensor, this field describes
   * the logical shape of the represented tensor (aka dense_shape).
   * </pre>
   *
   * <code>.tensorflow.TensorShapeProto tensor_shape = 3;</code>
   */
  org.tensorflow.proto.framework.TensorShapeProtoOrBuilder getTensorShapeOrBuilder();

  public org.tensorflow.proto.framework.TensorInfo.EncodingCase getEncodingCase();
}
