title: How can I filter tf.data.Dataset by specific values?
body: <p>I create a dataset by reading the TFRecords, I map the values and I want to filter the dataset for specific values, but since the result is a dict with tensors, I am not able to get the actual value of a tensor or to check it with <code>tf.cond()</code> / <code>tf.equal</code>. How can I do that?</p>
  
  <pre><code>def mapping_func(serialized_example):
      feature = { 'label': tf.FixedLenFeature([1], tf.string) }
      features = tf.parse_single_example(serialized_example, features=feature)
      return features
  
  def filter_func(features):
      # this doesn't work
      #result = features['label'] == 'some_label_value'
      # neither this
      result = tf.reshape(tf.equal(features['label'], 'some_label_value'), [])
      return result
  
  def main():
      file_names = ["/var/data/file1.tfrecord", "/var/data/file2.tfrecord"]
      dataset = tf.contrib.data.TFRecordDataset(file_names)
      dataset = dataset.map(mapping_func)
      dataset = dataset.shuffle(buffer_size=10000)
      dataset = dataset.filter(filter_func)
      dataset = dataset.repeat()
      iterator = dataset.make_one_shot_iterator()
      sample = iterator.get_next()
  </code></pre>