class_docstr: Tuple used by RnnNade to store state.
  
  Stores three elements `(b_enc, b_dec, rnn_state)`, in that order:
    b_enc: NADE encoder bias terms (`b` in [1]), sized
        `[batch_size, num_hidden]`.
    b_dec: NADE decoder bias terms (`c` in [1]), sized `[batch_size, num_dims]`.
    rnn_state: The RNN cell's state.
class_docstr_tok: ["Tuple","used","by","RnnNade","to","store","state",".","Stores","three","elements","`","(","b_enc",",","b_dec",",","rnn_state",")","`",",","in","that","order",":","b_enc",":","NADE","encoder","bias","terms","(","`","b","`","in","[","1","]",")",",","sized","`","[","batch_size",",","num_hidden","]","`",".","b_dec",":","NADE","decoder","bias","terms","(","`","c","`","in","[","1","]",")",",","sized","`","[","batch_size",",","num_dims","]","`",".","rnn_state",":","The","RNN","cell","'s","state","."]
code: def dtype(self):
      (b_enc, b_dec, rnn_state) = self
      if not b_enc.dtype == b_dec.dtype == rnn_state.dtype:
          raise TypeError(
              "Inconsistent internal state: %s vs %s vs %s"
              % (
                  str(b_enc.dtype),
                  str(b_dec.dtype),
                  str(rnn_state.dtype),
              )
          )
      return b_enc.dtype
  
file_path: magenta/magenta/models/pianoroll_rnn_nade/pianoroll_rnn_nade_graph.py
imports: import collections
  import magenta
  from magenta.common import Nade
  from magenta.contrib import seq2seq
  from magenta.models.shared import events_rnn_graph
  import tensorflow.compat.v1
  import tf_slim
label_desc: Use image node_id 1 for calling the RnnNadeStateTuple obj's underlying member method code with example usage: obj.dtype() and returns: b_enc