Python tensorflow.Examples() Examples
The following are 30
code examples of tensorflow.Examples().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
tensorflow
, or try the search function
.
Example #1
Source File: batcher.py From TransferRL with MIT License | 6 votes |
def fill_example_queue(self): """Reads data from file and processes into Examples which are then placed into the example queue.""" input_gen = self.text_generator(data.example_generator(self._data_path, self._single_pass)) while True: try: (article, abstract) = input_gen.next() # read the next example from file. article and abstract are both strings. except StopIteration: # if there are no more examples: tf.logging.info("The example generator for this example queue filling thread has exhausted data.") if self._single_pass: tf.logging.info("single_pass mode is on, so we've finished reading dataset. This thread is stopping.") self._finished_reading = True break else: raise Exception("single_pass mode is off but the example generator is out of data; error.") abstract_sentences = [sent.strip() for sent in data.abstract2sents(abstract)] # Use the <s> and </s> tags in abstract to get a list of sentences. if abstract_sentences is None or len(abstract_sentences) == 0: continue example = Example(article, abstract_sentences, self._vocab, self._hps) # Process into an Example. self._example_queue.put(example) # place the Example in the example queue.
Example #2
Source File: batcher.py From pointer-generator with Apache License 2.0 | 6 votes |
def text_generator(self, example_generator): """Generates article and abstract text from tf.Example. Args: example_generator: a generator of tf.Examples from file. See data.example_generator""" while True: e = example_generator.next() # e is a tf.Example try: article_text = e.features.feature['article'].bytes_list.value[0] # the article text was saved under the key 'article' in the data files abstract_text = e.features.feature['abstract'].bytes_list.value[0] # the abstract text was saved under the key 'abstract' in the data files except ValueError: tf.logging.error('Failed to get article or abstract from example') continue if len(article_text)==0: # See https://github.com/abisee/pointer-generator/issues/1 tf.logging.warning('Found an example with empty article text. Skipping it.') else: yield (article_text, abstract_text)
Example #3
Source File: batcher.py From pointer-generator with Apache License 2.0 | 6 votes |
def fill_example_queue(self): """Reads data from file and processes into Examples which are then placed into the example queue.""" input_gen = self.text_generator(data.example_generator(self._data_path, self._single_pass)) while True: try: (article, abstract) = input_gen.next() # read the next example from file. article and abstract are both strings. except StopIteration: # if there are no more examples: tf.logging.info("The example generator for this example queue filling thread has exhausted data.") if self._single_pass: tf.logging.info("single_pass mode is on, so we've finished reading dataset. This thread is stopping.") self._finished_reading = True break else: raise Exception("single_pass mode is off but the example generator is out of data; error.") abstract_sentences = [sent.strip() for sent in data.abstract2sents(abstract)] # Use the <s> and </s> tags in abstract to get a list of sentences. example = Example(article, abstract_sentences, self._vocab, self._hps) # Process into an Example. self._example_queue.put(example) # place the Example in the example queue.
Example #4
Source File: batcher.py From unified-summarization with MIT License | 6 votes |
def text_generator(self, example_generator): """Generates article and abstract text from tf.Example. Args: example_generator: a generator of tf.Examples from file. See data.example_generator""" while True: e = example_generator.next() # e is a tf.Example try: article_text = e.features.feature['article'].bytes_list.value[0] # the article text was saved under the key 'article' in the data files abstract_text = e.features.feature['abstract'].bytes_list.value[0] # the abstract text was saved under the key 'abstract' in the data files extract_ids_str = e.features.feature['extract_ids'].bytes_list.value[0] except ValueError: tf.logging.error('Failed to get article or abstract from example') continue if len(article_text)==0: # See https://github.com/abisee/pointer-generator/issues/1 tf.logging.warning('Found an example with empty article text. Skipping it.') else: yield (article_text, abstract_text, extract_ids_str)
Example #5
Source File: batcher.py From unified-summarization with MIT License | 6 votes |
def fill_example_queue(self): """Reads data from file and processes into Examples which are then placed into the example queue.""" input_gen = self.text_generator(data.example_generator(self._data_path, self._single_pass)) while True: try: (article, abstract, extract_ids) = input_gen.next() # read the next example from file. article and abstract are both strings. except StopIteration: # if there are no more examples: tf.logging.info("The example generator for this example queue filling thread has exhausted data.") if self._single_pass: tf.logging.info("single_pass mode is on, so we've finished reading dataset. This thread is stopping.") self._finished_reading = True break else: raise Exception("single_pass mode is off but the example generator is out of data; error.") article_sentences = [sent.strip() for sent in data.document2sents(article)] abstract_sentences = [sent.strip() for sent in data.document2sents(abstract)] # Use the <s> and </s> tags in abstract to get a list of sentences. extract_ids = extract_ids.split(',') extract_ids = [int(i) for i in extract_ids] example = Example(article_sentences, extract_ids, abstract_sentences, self._vocab, self._hps) # Process into an Example. self._example_queue.put(example) # place the Example in the example queue.
Example #6
Source File: batcher.py From MAX-Text-Summarizer with Apache License 2.0 | 6 votes |
def text_generator(self, example_generator): """Generates article and abstract text from tf.Example. Args: example_generator: a generator of tf.Examples from file. See data.example_generator""" while True: e = next(example_generator) # e is a tf.Example try: article_text = e.features.feature['article'].bytes_list.value[ 0].decode() # the article text was saved under the key 'article' in the data files # abstract_text = e.features.feature['abstract'].bytes_list.value[0].decode() # the abstract text was saved under the key 'abstract' in the data files except ValueError: tf.logging.error('Failed to get article or abstract from example') continue if len(article_text) == 0: # See https://github.com/abisee/pointer-generator/issues/1 tf.logging.warning('Found an example with empty article text. Skipping it.') else: # yield (article_text, abstract_text) yield (article_text)
Example #7
Source File: batcher.py From MAX-Text-Summarizer with Apache License 2.0 | 6 votes |
def fill_example_queue(self): """Reads data from file and processes into Examples which are then placed into the example queue.""" input_gen = self.text_generator(data.example_generator(self._data_path, self._single_pass)) while True: try: # (article, abstract) = next(input_gen) # read the next example from file. article and abstract are both strings. (article) = next(input_gen) # read the next example from file. article and abstract are both strings. except StopIteration: # if there are no more examples: tf.logging.info("The example generator for this example queue filling thread has exhausted data.") if self._single_pass: tf.logging.info( "single_pass mode is on, so we've finished reading dataset. This thread is stopping.") self._finished_reading = True break else: raise Exception("single_pass mode is off but the example generator is out of data; error.") # abstract_sentences = [sent.strip() for sent in data.abstract2sents(abstract)] # Use the <s> and </s> tags in abstract to get a list of sentences. example = Example(article, article, self._vocab, self._hps) # Process into an Example. self._example_queue.put(example) # place the Example in the example queue.
Example #8
Source File: beam_prepare_embedding_inputs.py From exoplanet-ml with Apache License 2.0 | 6 votes |
def _write_subset(dataset_name, name, values): """Writes the tf.Examples in a subset to TFRecord files.""" if name == "train": num_shards = FLAGS.num_shards_train elif name == "val": num_shards = FLAGS.num_shards_val elif name == "test": num_shards = FLAGS.num_shards_test else: raise ValueError("Unrecognized subset name: {}".format(name)) # Write the tf.Examples in TFRecord format. utils.write_to_tfrecord( values, output_dir=os.path.join(FLAGS.output_dir, dataset_name), output_name=name, value_name="example", value_coder=beam.coders.ProtoCoder(tf.train.Example), num_shards=num_shards, stage_name_suffix=dataset_name)
Example #9
Source File: preprocessing.py From training_results_v0.5 with Apache License 2.0 | 6 votes |
def shuffle_tf_examples(gather_size, records_to_shuffle): '''Read through tf.Record and yield shuffled, but unparsed tf.Examples Args: gather_size: The number of tf.Examples to be gathered together records_to_shuffle: A list of filenames Returns: An iterator yielding lists of bytes, which are serialized tf.Examples. ''' dataset = read_tf_records(gather_size, records_to_shuffle, num_repeats=1) batch = dataset.make_one_shot_iterator().get_next() sess = tf.Session() while True: try: result = sess.run(batch) yield list(result) except tf.errors.OutOfRangeError: break
Example #10
Source File: batcher.py From RLSeq2Seq with MIT License | 6 votes |
def text_generator(self, example_generator): """Generates article and abstract text from tf.Example. Args: example_generator: a generator of tf.Examples from file. See data.example_generator""" cnt = 0 while True: e = example_generator.next() # e is a tf.Example try: article_text = e.features.feature['article'].bytes_list.value[0] # the article text was saved under the key 'article' in the data files abstract_text = e.features.feature['abstract'].bytes_list.value[0] # the abstract text was saved under the key 'abstract' in the data files except ValueError: tf.logging.error('Failed to get article or abstract from example') continue if len(article_text)==0: # See https://github.com/abisee/pointer-generator/issues/1 tf.logging.warning('Found an example with empty article text. Skipping it.') else: if self._single_pass and cnt < self._decode_after: #skip already decoded docs cnt +=1 continue yield (article_text, abstract_text)
Example #11
Source File: batcher.py From RLSeq2Seq with MIT License | 6 votes |
def fill_example_queue(self): """Reads data from file and processes into Examples which are then placed into the example queue.""" input_gen = self.text_generator(data.example_generator(self._data_path, self._single_pass)) while True: try: (article, abstract) = input_gen.next() # read the next example from file. article and abstract are both strings. except StopIteration: # if there are no more examples: tf.logging.info("The example generator for this example queue filling thread has exhausted data.") if self._single_pass: tf.logging.info("single_pass mode is on, so we've finished reading dataset. This thread is stopping.") self._finished_reading = True break else: raise Exception("single_pass mode is off but the example generator is out of data; error.") abstract_sentences = [sent.strip() for sent in data.abstract2sents(abstract)] # Use the <s> and </s> tags in abstract to get a list of sentences. example = Example(article, abstract_sentences, self._vocab, self._hps) # Process into an Example. self._example_queue.put(example) # place the Example in the example queue.
Example #12
Source File: preprocessor.py From imitation-learning with MIT License | 6 votes |
def write_tfrecord_file(output_filepath, some_h5_files): """Write tf.Examples given a list of h5_files. Args: output_filepath: str some_h5_files: List[str] """ tf_record_options = tf.python_io.TFRecordOptions(tf.python_io.TFRecordCompressionType.GZIP) writer = tf.python_io.TFRecordWriter(output_filepath, options=tf_record_options) # Read a batch of h5 files for f in some_h5_files: tf_examples = list(read_h5_file(f)) # type: List[tf.Example] # Serialize to string tf_example_strs = map(lambda ex: ex.SerializeToString(), tf_examples) # Write for example_str in tf_example_strs: writer.write(example_str) writer.close()
Example #13
Source File: batcher.py From TransferRL with MIT License | 6 votes |
def text_generator(self, example_generator): """Generates article and abstract text from tf.Example. Args: example_generator: a generator of tf.Examples from file. See data.example_generator""" cnt = 0 while True: e = example_generator.next() # e is a tf.Example try: article_text = e.features.feature['article'].bytes_list.value[0] # the article text was saved under the key 'article' in the data files abstract_text = e.features.feature['abstract'].bytes_list.value[0] # the abstract text was saved under the key 'abstract' in the data files except ValueError: tf.logging.error('Failed to get article or abstract from example') continue if len(article_text)==0 or len(abstract_text)==0: # See https://github.com/abisee/pointer-generator/issues/1 tf.logging.warning('Found an example with empty article text. Skipping it.') else: if self._single_pass and cnt < self._decode_after: #skip already decoded docs cnt +=1 continue yield (article_text, abstract_text)
Example #14
Source File: batcher.py From RLSeq2Seq with MIT License | 5 votes |
def fill_batch_queue(self): """Takes Examples out of example queue, sorts them by encoder sequence length, processes into Batches and places them in the batch queue. In decode mode, makes batches that each contain a single example repeated. """ while True: if self._hps.mode != 'decode': # Get bucketing_cache_size-many batches of Examples into a list, then sort inputs = [] for _ in range(self._hps.batch_size * self._bucketing_cache_size): inputs.append(self._example_queue.get()) inputs = sorted(inputs, key=lambda inp: inp.enc_len) # sort by length of encoder sequence # Group the sorted Examples into batches, optionally shuffle the batches, and place in the batch queue. batches = [] for i in range(0, len(inputs), self._hps.batch_size): batches.append(inputs[i:i + self._hps.batch_size]) if not self._single_pass: shuffle(batches) for b in batches: # each b is a list of Example objects self._batch_queue.put(Batch(b, self._hps, self._vocab)) else: # beam search decode mode ex = self._example_queue.get() b = [ex for _ in range(self._hps.batch_size)] self._batch_queue.put(Batch(b, self._hps, self._vocab))
Example #15
Source File: preprocessing.py From training with Apache License 2.0 | 5 votes |
def make_dataset_from_selfplay(data_extracts): """ Returns an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples """ f = dual_net.get_features() tf_examples = (make_tf_example(features_lib.extract_features(pos, f), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #16
Source File: batched_predict_extractor_v2.py From model-analysis with Apache License 2.0 | 5 votes |
def _ExtractBatchedPredictions( # pylint: disable=invalid-name extracts: beam.pvalue.PCollection, eval_config: config.EvalConfig, eval_shared_models: Dict[Text, types.EvalSharedModel], tensor_adapter_config: Optional[tensor_adapter.TensorAdapterConfig] = None, ) -> beam.pvalue.PCollection: """A PTransform that adds predictions and possibly other tensors to extracts. Args: extracts: PCollection of extracts containing model inputs keyed by tfma.FEATURES_KEY (if model inputs are named) or tfma.INPUTS_KEY (if model takes raw tf.Examples as input). eval_config: Eval config. eval_shared_models: Shared model parameters keyed by model name. tensor_adapter_config: Tensor adapter config which specifies how to obtain tensors from the Arrow RecordBatch. Returns: PCollection of Extracts updated with the predictions. """ return (extracts | 'Predict' >> beam.ParDo( _BatchedPredictionDoFn( eval_config=eval_config, eval_shared_models=eval_shared_models, tensor_adapter_config=tensor_adapter_config)))
Example #17
Source File: predict_extractor_v2.py From model-analysis with Apache License 2.0 | 5 votes |
def _ExtractPredictions( # pylint: disable=invalid-name extracts: beam.pvalue.PCollection, eval_config: config.EvalConfig, eval_shared_models: Dict[Text, types.EvalSharedModel], desired_batch_size: Optional[int]) -> beam.pvalue.PCollection: """A PTransform that adds predictions and possibly other tensors to extracts. Args: extracts: PCollection of extracts containing model inputs keyed by tfma.FEATURES_KEY (if model inputs are named) or tfma.INPUTS_KEY (if model takes raw tf.Examples as input). eval_config: Eval config. eval_shared_models: Shared model parameters keyed by model name. desired_batch_size: Optional batch size. Returns: PCollection of Extracts updated with the predictions. """ batch_args = {} # TODO(b/143484017): Consider removing this option if autotuning is better # able to handle batch size selection. if desired_batch_size is not None: batch_args = dict( min_batch_size=desired_batch_size, max_batch_size=desired_batch_size) return ( extracts | 'Batch' >> beam.BatchElements(**batch_args) | 'Predict' >> beam.ParDo( _PredictionDoFn( eval_config=eval_config, eval_shared_models=eval_shared_models)))
Example #18
Source File: batcher.py From rotational-unit-of-memory with MIT License | 5 votes |
def text_generator(self, example_generator): """Generates article and abstract text from tf.Example. Args: example_generator: a generator of tf.Examples from file. See data.example_generator""" while True: e = next(example_generator) # e is a tf.Example try: article_text = e.features.feature['article'].bytes_list.value[ 0].decode() # the article text was saved under the key 'article' in the data files if self._is_inf: abstract_text = "empty" else: abstract_text = e.features.feature['abstract'].bytes_list.value[ 0].decode() # the abstract text was saved under the key # 'abstract' in the data files except ValueError: tf.logging.error( 'Failed to get article or abstract from example') continue if len(article_text) == 0: # See https://github.com/abisee/pointer-generator/issues/1 tf.logging.warning( 'Found an example with empty article text. Skipping it.') else: yield (article_text, abstract_text)
Example #19
Source File: batcher.py From rotational-unit-of-memory with MIT License | 5 votes |
def fill_batch_queue(self): """Takes Examples out of example queue, sorts them by encoder sequence length, processes into Batches and places them in the batch queue. In decode mode, makes batches that each contain a single example repeated. """ while True: if self._hps.mode != 'decode': # Get bucketing_cache_size-many batches of Examples into a # list, then sort inputs = [] for _ in range(self._hps.batch_size * self._bucketing_cache_size): inputs.append(self._example_queue.get()) # sort by length of encoder sequence inputs = sorted(inputs, key=lambda inp: inp.enc_len) # Group the sorted Examples into batches, optionally shuffle # the batches, and place in the batch queue. batches = [] for i in range(0, len(inputs), self._hps.batch_size): batches.append(inputs[i:i + self._hps.batch_size]) if not self._single_pass: # pass shuffle(batches) for b in batches: # each b is a list of Example objects self._batch_queue.put(Batch(b, self._hps, self._vocab)) else: # beam search decode mode ex = self._example_queue.get() b = [ex for _ in range(self._hps.batch_size)] self._batch_queue.put(Batch(b, self._hps, self._vocab))
Example #20
Source File: batcher.py From rotational-unit-of-memory with MIT License | 5 votes |
def fill_example_queue(self): """Reads data from file and processes into Examples which are then placed into the example queue.""" input_gen = self.text_generator( data.Vocab.example_generator(self._data_path, self._single_pass)) while True: try: (article, abstract) = next( input_gen) # read the next example from file. article and abstract are both strings. except StopIteration: # if there are no more examples: tf.logging.info( "The example generator for this example queue filling thread has exhausted data.") if self._single_pass: tf.logging.info( "single_pass mode is on, so we've finished reading dataset. This thread is stopping.") self._finished_reading = True break else: raise Exception( "single_pass mode is off but the example generator is out of data; error.") if self._is_sd: abstract_sentences = abstract else: abstract_sentences = [sent.strip() for sent in data.Vocab.abstract2sents( abstract)] # Use the <s> and </s> tags in abstract to get a list of sentences. # Process into an Example. example = Example(article, abstract_sentences, self._vocab, self._hps, self._is_sd) # place the Example in the example queue. self._example_queue.put(example)
Example #21
Source File: batcher.py From unified-summarization with MIT License | 5 votes |
def fill_batch_queue(self): """Takes Examples out of example queue, sorts them by encoder sequence length, processes into Batches and places them in the batch queue. In decode mode, makes batches that each contain a single example repeated. """ while True: if (self._hps.mode == 'evalall' and self._hps.decode_method == 'beam') or \ (self._hps.mode == 'eval' and self._hps.eval_method == 'rouge' and self._hps.decode_method == 'beam'): # beam search decode mode ex = self._example_queue.get() b = [ex for _ in xrange(self._hps.batch_size)] self._batch_queue.put(Batch(b, self._hps, self._vocab)) else: # Get bucketing_cache_size-many batches of Examples into a list, then sort inputs = [] for _ in xrange(self._hps.batch_size * self._bucketing_cache_size): inputs.append(self._example_queue.get()) if self._hps.model in ['rewriter', 'end2end']: if self._hps.mode == 'train' or (self._hps.mode == 'eval' and self._hps.eval_method == 'loss'): inputs = sorted(inputs, key=lambda inp: inp.enc_len) # sort by length of encoder sequence # Group the sorted Examples into batches, optionally shuffle the batches, and place in the batch queue. batches = [] for i in xrange(0, len(inputs), self._hps.batch_size): batches.append(inputs[i:i + self._hps.batch_size]) if not self._single_pass: shuffle(batches) for b in batches: # each b is a list of Example objects self._batch_queue.put(Batch(b, self._hps, self._vocab))
Example #22
Source File: batcher.py From MAX-Text-Summarizer with Apache License 2.0 | 5 votes |
def fill_batch_queue(self): """Takes Examples out of example queue, sorts them by encoder sequence length, processes into Batches and places them in the batch queue. In decode mode, makes batches that each contain a single example repeated. """ while True: if self._hps.mode != 'decode': # Get bucketing_cache_size-many batches of Examples into a list, then sort inputs = [] for _ in range(self._hps.batch_size * self._bucketing_cache_size): inputs.append(self._example_queue.get()) inputs = sorted(inputs, key=lambda inp: inp.enc_len) # sort by length of encoder sequence # Group the sorted Examples into batches, optionally shuffle the batches, and place in the batch queue. batches = [] for i in range(0, len(inputs), self._hps.batch_size): batches.append(inputs[i:i + self._hps.batch_size]) if not self._single_pass: shuffle(batches) for b in batches: # each b is a list of Example objects self._batch_queue.put(Batch(b, self._hps, self._vocab)) else: # beam search decode mode ex = self._example_queue.get() b = [ex for _ in range(self._hps.batch_size)] self._batch_queue.put(Batch(b, self._hps, self._vocab))
Example #23
Source File: dataset.py From dynamic-coattention-network with MIT License | 5 votes |
def tf_Examples(data_path, num_epochs=None): """Generates tf.Examples from path of data files. Binary data format: <length><blob>. <length> represents the byte size of <blob>. <blob> is serialized tf.Example proto. The tf.Example contains the tokenized article text and summary. Args: data_path: path to tf.Example data files. num_epochs: Number of times to go through the data. None means infinite. Yields: Deserialized tf.Example. If there are multiple files specified, they accessed in a random order. """ epoch = 0 while True: if num_epochs is not None and epoch >= num_epochs: break filelist = glob.glob(data_path) assert filelist, 'Empty filelist.' shuffle(filelist) for f in filelist: reader = open(f, 'rb') while True: len_bytes = reader.read(8) if not len_bytes: break str_len = struct.unpack('q', len_bytes)[0] example_str = struct.unpack('%ds' % str_len, reader.read(str_len))[0] yield example_pb2.Example.FromString(example_str) epoch += 1
Example #24
Source File: preprocessing.py From training_results_v0.5 with Apache License 2.0 | 5 votes |
def make_dataset_from_selfplay(data_extracts): ''' Returns an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples ''' tf_examples = (make_tf_example(features_lib.extract_features(pos), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #25
Source File: batcher.py From TransferRL with MIT License | 5 votes |
def fill_batch_queue(self): """Takes Examples out of example queue, sorts them by encoder sequence length, processes into Batches and places them in the batch queue. In decode mode, makes batches that each contain a single example repeated. """ while True: if self._hps.mode != 'decode': # Get bucketing_cache_size-many batches of Examples into a list, then sort inputs = [] for _ in range(self._hps.batch_size * self._bucketing_cache_size): inputs.append(self._example_queue.get()) inputs = sorted(inputs, key=lambda inp: inp.enc_len) # sort by length of encoder sequence # Group the sorted Examples into batches, optionally shuffle the batches, and place in the batch queue. batches = [] for i in range(0, len(inputs), self._hps.batch_size): batches.append(inputs[i:i + self._hps.batch_size]) if not self._single_pass: shuffle(batches) for b in batches: # each b is a list of Example objects self._batch_queue.put(Batch.create_batch(b, self._hps, self._vocab)) else: # beam search decode mode ex = self._example_queue.get() b = [ex for _ in range(self._hps.batch_size)] self._batch_queue.put(Batch.create_batch(b, self._hps, self._vocab))
Example #26
Source File: preprocessing.py From training_results_v0.5 with Apache License 2.0 | 5 votes |
def make_dataset_from_selfplay(data_extracts): ''' Returns an iterable of tf.Examples. Args: data_extracts: An iterable of (position, pi, result) tuples ''' tf_examples = (make_tf_example(features_lib.extract_features(pos), pi, result) for pos, pi, result in data_extracts) return tf_examples
Example #27
Source File: batcher.py From pointer-generator with Apache License 2.0 | 5 votes |
def fill_batch_queue(self): """Takes Examples out of example queue, sorts them by encoder sequence length, processes into Batches and places them in the batch queue. In decode mode, makes batches that each contain a single example repeated. """ while True: if self._hps.mode != 'decode': # Get bucketing_cache_size-many batches of Examples into a list, then sort inputs = [] for _ in xrange(self._hps.batch_size * self._bucketing_cache_size): inputs.append(self._example_queue.get()) inputs = sorted(inputs, key=lambda inp: inp.enc_len) # sort by length of encoder sequence # Group the sorted Examples into batches, optionally shuffle the batches, and place in the batch queue. batches = [] for i in xrange(0, len(inputs), self._hps.batch_size): batches.append(inputs[i:i + self._hps.batch_size]) if not self._single_pass: shuffle(batches) for b in batches: # each b is a list of Example objects self._batch_queue.put(Batch(b, self._hps, self._vocab)) else: # beam search decode mode ex = self._example_queue.get() b = [ex for _ in xrange(self._hps.batch_size)] self._batch_queue.put(Batch(b, self._hps, self._vocab))
Example #28
Source File: inputs.py From MAX-Object-Detector with Apache License 2.0 | 4 votes |
def create_predict_input_fn(model_config, predict_input_config): """Creates a predict `input` function for `Estimator`. Args: model_config: A model_pb2.DetectionModel. predict_input_config: An input_reader_pb2.InputReader. Returns: `input_fn` for `Estimator` in PREDICT mode. """ def _predict_input_fn(params=None): """Decodes serialized tf.Examples and returns `ServingInputReceiver`. Args: params: Parameter dictionary passed from the estimator. Returns: `ServingInputReceiver`. """ del params example = tf.placeholder(dtype=tf.string, shape=[], name='tf_example') num_classes = config_util.get_number_of_classes(model_config) model = model_builder.build(model_config, is_training=False) image_resizer_config = config_util.get_image_resizer_config(model_config) image_resizer_fn = image_resizer_builder.build(image_resizer_config) transform_fn = functools.partial( transform_input_data, model_preprocess_fn=model.preprocess, image_resizer_fn=image_resizer_fn, num_classes=num_classes, data_augmentation_fn=None) decoder = tf_example_decoder.TfExampleDecoder( load_instance_masks=False, num_additional_channels=predict_input_config.num_additional_channels) input_dict = transform_fn(decoder.decode(example)) images = tf.to_float(input_dict[fields.InputDataFields.image]) images = tf.expand_dims(images, axis=0) true_image_shape = tf.expand_dims( input_dict[fields.InputDataFields.true_image_shape], axis=0) return tf.estimator.export.ServingInputReceiver( features={ fields.InputDataFields.image: images, fields.InputDataFields.true_image_shape: true_image_shape}, receiver_tensors={SERVING_FED_EXAMPLE_KEY: example}) return _predict_input_fn
Example #29
Source File: inputs.py From g-tensorflow-models with Apache License 2.0 | 4 votes |
def create_predict_input_fn(model_config, predict_input_config): """Creates a predict `input` function for `Estimator`. Args: model_config: A model_pb2.DetectionModel. predict_input_config: An input_reader_pb2.InputReader. Returns: `input_fn` for `Estimator` in PREDICT mode. """ def _predict_input_fn(params=None): """Decodes serialized tf.Examples and returns `ServingInputReceiver`. Args: params: Parameter dictionary passed from the estimator. Returns: `ServingInputReceiver`. """ del params example = tf.placeholder(dtype=tf.string, shape=[], name='tf_example') num_classes = config_util.get_number_of_classes(model_config) model = model_builder.build(model_config, is_training=False) image_resizer_config = config_util.get_image_resizer_config(model_config) image_resizer_fn = image_resizer_builder.build(image_resizer_config) transform_fn = functools.partial( transform_input_data, model_preprocess_fn=model.preprocess, image_resizer_fn=image_resizer_fn, num_classes=num_classes, data_augmentation_fn=None) decoder = tf_example_decoder.TfExampleDecoder( load_instance_masks=False, num_additional_channels=predict_input_config.num_additional_channels) input_dict = transform_fn(decoder.decode(example)) images = tf.to_float(input_dict[fields.InputDataFields.image]) images = tf.expand_dims(images, axis=0) true_image_shape = tf.expand_dims( input_dict[fields.InputDataFields.true_image_shape], axis=0) return tf.estimator.export.ServingInputReceiver( features={ fields.InputDataFields.image: images, fields.InputDataFields.true_image_shape: true_image_shape}, receiver_tensors={SERVING_FED_EXAMPLE_KEY: example}) return _predict_input_fn
Example #30
Source File: batcher.py From pointer-generator with Apache License 2.0 | 4 votes |
def __init__(self, data_path, vocab, hps, single_pass): """Initialize the batcher. Start threads that process the data into batches. Args: data_path: tf.Example filepattern. vocab: Vocabulary object hps: hyperparameters single_pass: If True, run through the dataset exactly once (useful for when you want to run evaluation on the dev or test set). Otherwise generate random batches indefinitely (useful for training). """ self._data_path = data_path self._vocab = vocab self._hps = hps self._single_pass = single_pass # Initialize a queue of Batches waiting to be used, and a queue of Examples waiting to be batched self._batch_queue = Queue.Queue(self.BATCH_QUEUE_MAX) self._example_queue = Queue.Queue(self.BATCH_QUEUE_MAX * self._hps.batch_size) # Different settings depending on whether we're in single_pass mode or not if single_pass: self._num_example_q_threads = 1 # just one thread, so we read through the dataset just once self._num_batch_q_threads = 1 # just one thread to batch examples self._bucketing_cache_size = 1 # only load one batch's worth of examples before bucketing; this essentially means no bucketing self._finished_reading = False # this will tell us when we're finished reading the dataset else: self._num_example_q_threads = 16 # num threads to fill example queue self._num_batch_q_threads = 4 # num threads to fill batch queue self._bucketing_cache_size = 100 # how many batches-worth of examples to load into cache before bucketing # Start the threads that load the queues self._example_q_threads = [] for _ in xrange(self._num_example_q_threads): self._example_q_threads.append(Thread(target=self.fill_example_queue)) self._example_q_threads[-1].daemon = True self._example_q_threads[-1].start() self._batch_q_threads = [] for _ in xrange(self._num_batch_q_threads): self._batch_q_threads.append(Thread(target=self.fill_batch_queue)) self._batch_q_threads[-1].daemon = True self._batch_q_threads[-1].start() # Start a thread that watches the other threads and restarts them if they're dead if not single_pass: # We don't want a watcher in single_pass mode because the threads shouldn't run forever self._watch_thread = Thread(target=self.watch_threads) self._watch_thread.daemon = True self._watch_thread.start()