1. 18 3月, 2020 1 次提交
  2. 06 3月, 2020 1 次提交
  3. 07 2月, 2020 1 次提交
  4. 26 11月, 2019 1 次提交
  5. 17 8月, 2019 1 次提交
  6. 08 8月, 2019 1 次提交
    • J
      [tf.data] Serialization and checkpointing related cleanup. · 6d8f05ac
      Jiri Simsa 提交于
      This CL:
      - removes unused `DatasetBase::Save()` and related tests
      - replaces `SerilizationContext::optimization_only` with multiple functionality specific flags (`check_external_state`, `fail_if_unimplemented`, and `serialize_data_tensors`)
      - introduces `DatasetBase::CheckExternalState` as an error-raising replacement for `DatasetBase::IsStateful` to make it possible to communicate the reason for why serialization failed through the error status
      - adds `IteratorBase::SaveInternal` and `IteratorBase::RestoreInternal` in preparation of making these methods pure virtual
      
      PiperOrigin-RevId: 262235093
      6d8f05ac
  7. 26 7月, 2019 1 次提交
    • J
      [tf.data] Changing the implementation of iterator checkpointing to not store the dataset graph. · 1f878734
      Jiri Simsa 提交于
      After this change, restoring an iterator from a checkpoint will require that the iterator is initialized using a dataset that matches the dataset used for initializing the iterator used to create the checkpoint. In other words, if the Python definition of the input pipeline changes, the restoration of the iterator will fail.
      
      The motivation for this change is to make it possible to save (and restore) datasets whose graph cannot be serialized (e.g. because it contains ops with resource inputs). This will in turn allow tf.data to implement "reshuffle each iteration" or in-memory caching between different Python iterator for the same dataset.
      
      PiperOrigin-RevId: 260144783
      1f878734
  8. 25 6月, 2019 1 次提交
  9. 04 4月, 2019 1 次提交
  10. 14 3月, 2019 1 次提交
  11. 02 3月, 2019 1 次提交
    • D
      [tf.data] Add an unbounded thread pool to iterator resources. · 70da1fe2
      Derek Murray 提交于
      The previous implementation of many core `tf.data` transformations
      (e.g. `Dataset.prefetch()`) would create one or more threads each time
      an iterator over those datasets is created
      (e.g. `ds.prefetch(N).repeat(100)` would create and destroy 100
      threads). In addition to the overhead of thread creation, this
      interacts poorly with some malloc implementations, and can contribute
      to memory fragmentation.
      
      The new implementation maintains an unbounded pool of physical threads
      in each iterator (or `MultiDeviceIterator`) resource, and returns logical
      "threads" to that pool when their work is complete instead of exiting
      from them.
      
      PiperOrigin-RevId: 236413014
      70da1fe2
  12. 15 1月, 2019 1 次提交
    • J
      [tf.data] Add counters for tf.data elements, autotuning, and optimizations. · b74605a9
      Jiri Simsa 提交于
      This CL:
      - adds counters for tf.data elements, autotuning and optimizations
      - sets the number of iterations of the `tf_data_meta_optimizer` to one -- the iteration of tf.data optimizations is handled by the tf.data meta optimizer itself
      - adds the `alwayslink` attribute to all tf.data optimization BUILD targets to make sure they are always registered (without this, they would not be registered for the Tensorflow server binary I was using for local testing) and further cleans up visibility and dependencies of //third_party/tensorflow/core/grappler/optimizers/data/BUILD
      - introduces TFDataOptimizerBase as a base class for tf.data optimizations
      - moves TensorFlow metrics into tensorflow::metrics namespace
      
      PiperOrigin-RevId: 229302097
      b74605a9
  13. 21 12月, 2018 1 次提交
  14. 05 12月, 2018 2 次提交
  15. 09 11月, 2018 1 次提交
  16. 06 11月, 2018 1 次提交
  17. 31 10月, 2018 2 次提交
  18. 26 10月, 2018 1 次提交
  19. 09 10月, 2018 2 次提交
  20. 04 10月, 2018 2 次提交
  21. 21 9月, 2018 1 次提交
  22. 18 9月, 2018 1 次提交
    • J
      [tf.data] Adding support for `tf.data.AUTOTUNE` as a special value for the... · c8a0dfc7
      Jiri Simsa 提交于
      [tf.data] Adding support for `tf.data.AUTOTUNE` as a special value for the `num_parallel_calls` argument of `tf.data.Dataset.map()`, `tf.data.Dataset.interleave()`, and `tf.contrib.data.map_and_batch()`.
      
      When `tf.data.AUTOTUNE` is specified, the level of parallelism is determined at runtime. The underlying mechanism instruments the input pipeline to build a performance model and then uses the model to find the optimal values for the parallelism knobs.
      
      PiperOrigin-RevId: 213283297
      c8a0dfc7
  23. 12 9月, 2018 1 次提交
  24. 06 9月, 2018 1 次提交
  25. 14 8月, 2018 1 次提交
    • J
      [tf.data] Internal refactoring of C++ classes and APIs. · 83f1458e
      Jiri Simsa 提交于
      - replacing `OpKernelContext` with newly introduced `DatasetContext` in `DatasetBase` constructor to make it possible to instantiate `DatasetBase` in places where an instance of `OpKernelContext` is not available
      
      - replacing `dataset::MakeIteratorContext(OpKernelContext* ctx)` factory with `IteratorContext(OpKernelContext *ctx)` constructor.
      
      - folding `GraphDatasetBase` into `DataseBase` and removing the default implementation of `AsGraphDefInternal`, making it the responsibility of the derived class to implement it to encourage/hint developers to provide serialization logic
      
      PiperOrigin-RevId: 208560010
      83f1458e
  26. 11 8月, 2018 2 次提交
    • J
      [tf.data] Optimization checkpointing improvements. · 8d532ac4
      Jiri Simsa 提交于
      This CL:
      - changes the `OptimizeDataset` checkpointing logic to checkpoint the optimized dataset (as opposed to the original dataset + the optimizations, re-running optimization every time a checkpoint is restored)
      - replaces `OpKernelContext` with newly introduced `SerializationContext` in the signature of `AsGraphDefInternal` to reduce the scope of the context and also simplify the logic for overriding the `FunctionLibraryDefinition` when optimizations take place
      
      PiperOrigin-RevId: 208282562
      8d532ac4
    • J
      [tf.data] Minor API refactoring. · 0d1b1448
      Jiri Simsa 提交于
      Renaming `AddParentDataset`, `SaveParent`, and `RestoreParent` to `AddInputDataset`, `SaveInput`, and `RestoreInput`.
      
      PiperOrigin-RevId: 208272695
      0d1b1448
  27. 01 6月, 2018 2 次提交
  28. 08 2月, 2018 1 次提交
    • D
      [tf.data] Move C++ code backing `tf.contrib.data.ignore_errors()` to contrib. · 7e3acec7
      Derek Murray 提交于
      This change moves the `OpKernel` and `DatasetBase` implementations to
      "tensorflow/contrib/data/kernels", where they are packaged as a custom
      op library. This demonstrates (and enforces by continuous integration)
      the ability to build a C++ Dataset implementation in a custom op
      library.
      
      Other contrib Dataset implementations will move in subsequent changes.
      
      PiperOrigin-RevId: 184938885
      7e3acec7
  29. 12 1月, 2018 1 次提交
  30. 15 12月, 2017 1 次提交
  31. 23 11月, 2017 1 次提交
  32. 18 11月, 2017 1 次提交
  33. 17 8月, 2017 1 次提交
  34. 01 7月, 2017 1 次提交
    • D
      [tf.contrib.data] Add `Dataset.ignore_errors()` transformation. · 88a0722c
      Derek Murray 提交于
      This transformation acts as the identity function on an input dataset,
      except that any errors that arise when computing an input element are
      silently dropped. It may be useful when an input pipeline contains ops
      that perform I/O and/or parse unclean data.
      
      PiperOrigin-RevId: 160658678
      88a0722c