Deprecate tf.ReaderBase and related APIs.

These APIs are based on queue runners, which have been deprecated and will be removed in TensorFlow 2.0. They have been replaced with `tf.data.Dataset`, which provides a more efficient version of the same functionality.

PiperOrigin-RevId: 211708268
This commit is contained in:
Derek Murray 2018-09-05 15:15:20 -07:00 committed by TensorFlower Gardener
parent 99fe2f6034
commit ebf6d259fd
9 changed files with 29 additions and 357 deletions

View File

@ -33,8 +33,9 @@ from tensorflow.python.ops import gen_io_ops
# go/tf-wildcard-import
# pylint: disable=wildcard-import
from tensorflow.python.ops.gen_io_ops import *
from tensorflow.python.util.tf_export import tf_export
# pylint: enable=wildcard-import
from tensorflow.python.util import deprecation
from tensorflow.python.util.tf_export import tf_export
# pylint: disable=protected-access
@ -95,7 +96,7 @@ def _restore_slice(file_pattern, tensor_name, shape_and_slice, tensor_type,
preferred_shard, name=name)
@tf_export("ReaderBase")
@tf_export(v1=["ReaderBase"])
class ReaderBase(object):
"""Base class for different Reader types, that produce a record every step.
@ -309,7 +310,7 @@ ops.NotDifferentiable("ReaderRestoreState")
ops.NotDifferentiable("ReaderReset")
@tf_export("WholeFileReader")
@tf_export(v1=["WholeFileReader"])
class WholeFileReader(ReaderBase):
"""A Reader that outputs the entire contents of a file as a value.
@ -324,6 +325,9 @@ class WholeFileReader(ReaderBase):
@end_compatibility
"""
@deprecation.deprecated(
None, "Queue-based input pipelines have been replaced by `tf.data`. Use "
"`tf.data.Dataset.map(tf.read_file)`.")
def __init__(self, name=None):
"""Create a WholeFileReader.
@ -337,7 +341,7 @@ class WholeFileReader(ReaderBase):
ops.NotDifferentiable("WholeFileReader")
@tf_export("TextLineReader")
@tf_export(v1=["TextLineReader"])
class TextLineReader(ReaderBase):
"""A Reader that outputs the lines of a file delimited by newlines.
@ -351,6 +355,9 @@ class TextLineReader(ReaderBase):
"""
# TODO(josh11b): Support serializing and restoring state.
@deprecation.deprecated(
None, "Queue-based input pipelines have been replaced by `tf.data`. Use "
"`tf.data.TextLineDataset`.")
def __init__(self, skip_header_lines=None, name=None):
"""Create a TextLineReader.
@ -367,7 +374,7 @@ class TextLineReader(ReaderBase):
ops.NotDifferentiable("TextLineReader")
@tf_export("FixedLengthRecordReader")
@tf_export(v1=["FixedLengthRecordReader"])
class FixedLengthRecordReader(ReaderBase):
"""A Reader that outputs fixed-length records from a file.
@ -380,6 +387,9 @@ class FixedLengthRecordReader(ReaderBase):
"""
# TODO(josh11b): Support serializing and restoring state.
@deprecation.deprecated(
None, "Queue-based input pipelines have been replaced by `tf.data`. Use "
"`tf.data.FixedLengthRecordDataset`.")
def __init__(self,
record_bytes,
header_bytes=None,
@ -410,7 +420,7 @@ class FixedLengthRecordReader(ReaderBase):
ops.NotDifferentiable("FixedLengthRecordReader")
@tf_export("TFRecordReader")
@tf_export(v1=["TFRecordReader"])
class TFRecordReader(ReaderBase):
"""A Reader that outputs the records from a TFRecords file.
@ -423,6 +433,9 @@ class TFRecordReader(ReaderBase):
"""
# TODO(josh11b): Support serializing and restoring state.
@deprecation.deprecated(
None, "Queue-based input pipelines have been replaced by `tf.data`. Use "
"`tf.data.TFRecordDataset`.")
def __init__(self, name=None, options=None):
"""Create a TFRecordReader.
@ -441,7 +454,7 @@ class TFRecordReader(ReaderBase):
ops.NotDifferentiable("TFRecordReader")
@tf_export("LMDBReader")
@tf_export(v1=["LMDBReader"])
class LMDBReader(ReaderBase):
"""A Reader that outputs the records from a LMDB file.
@ -452,6 +465,10 @@ class LMDBReader(ReaderBase):
use `tf.data` to get data into your model.
@end_compatibility
"""
@deprecation.deprecated(
None, "Queue-based input pipelines have been replaced by `tf.data`. Use "
"`tf.contrib.data.LMDBDataset`.")
def __init__(self, name=None, options=None):
"""Create a LMDBReader.
@ -459,6 +476,7 @@ class LMDBReader(ReaderBase):
name: A name for the operation (optional).
options: A LMDBRecordOptions object (optional).
"""
del options
rr = gen_io_ops.lmdb_reader(name=name)
super(LMDBReader, self).__init__(rr)
@ -466,7 +484,7 @@ class LMDBReader(ReaderBase):
ops.NotDifferentiable("LMDBReader")
@tf_export("IdentityReader")
@tf_export(v1=["IdentityReader"])
class IdentityReader(ReaderBase):
"""A Reader that outputs the queued work as both the key and value.
@ -481,6 +499,9 @@ class IdentityReader(ReaderBase):
@end_compatibility
"""
@deprecation.deprecated(
None, "Queue-based input pipelines have been replaced by `tf.data`. Use "
"`tf.data.Dataset.map(...)`.")
def __init__(self, name=None):
"""Create a IdentityReader.

View File

@ -1,46 +0,0 @@
path: "tensorflow.FixedLengthRecordReader"
tf_class {
is_instance: "<class \'tensorflow.python.ops.io_ops.FixedLengthRecordReader\'>"
is_instance: "<class \'tensorflow.python.ops.io_ops.ReaderBase\'>"
is_instance: "<type \'object\'>"
member {
name: "reader_ref"
mtype: "<type \'property\'>"
}
member {
name: "supports_serialize"
mtype: "<type \'property\'>"
}
member_method {
name: "__init__"
argspec: "args=[\'self\', \'record_bytes\', \'header_bytes\', \'footer_bytes\', \'hop_bytes\', \'name\', \'encoding\'], varargs=None, keywords=None, defaults=[\'None\', \'None\', \'None\', \'None\', \'None\'], "
}
member_method {
name: "num_records_produced"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_work_units_completed"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read"
argspec: "args=[\'self\', \'queue\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read_up_to"
argspec: "args=[\'self\', \'queue\', \'num_records\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "reset"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "restore_state"
argspec: "args=[\'self\', \'state\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "serialize_state"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
}

View File

@ -1,46 +0,0 @@
path: "tensorflow.IdentityReader"
tf_class {
is_instance: "<class \'tensorflow.python.ops.io_ops.IdentityReader\'>"
is_instance: "<class \'tensorflow.python.ops.io_ops.ReaderBase\'>"
is_instance: "<type \'object\'>"
member {
name: "reader_ref"
mtype: "<type \'property\'>"
}
member {
name: "supports_serialize"
mtype: "<type \'property\'>"
}
member_method {
name: "__init__"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_records_produced"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_work_units_completed"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read"
argspec: "args=[\'self\', \'queue\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read_up_to"
argspec: "args=[\'self\', \'queue\', \'num_records\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "reset"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "restore_state"
argspec: "args=[\'self\', \'state\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "serialize_state"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
}

View File

@ -1,46 +0,0 @@
path: "tensorflow.LMDBReader"
tf_class {
is_instance: "<class \'tensorflow.python.ops.io_ops.LMDBReader\'>"
is_instance: "<class \'tensorflow.python.ops.io_ops.ReaderBase\'>"
is_instance: "<type \'object\'>"
member {
name: "reader_ref"
mtype: "<type \'property\'>"
}
member {
name: "supports_serialize"
mtype: "<type \'property\'>"
}
member_method {
name: "__init__"
argspec: "args=[\'self\', \'name\', \'options\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
}
member_method {
name: "num_records_produced"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_work_units_completed"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read"
argspec: "args=[\'self\', \'queue\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read_up_to"
argspec: "args=[\'self\', \'queue\', \'num_records\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "reset"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "restore_state"
argspec: "args=[\'self\', \'state\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "serialize_state"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
}

View File

@ -1,45 +0,0 @@
path: "tensorflow.ReaderBase"
tf_class {
is_instance: "<class \'tensorflow.python.ops.io_ops.ReaderBase\'>"
is_instance: "<type \'object\'>"
member {
name: "reader_ref"
mtype: "<type \'property\'>"
}
member {
name: "supports_serialize"
mtype: "<type \'property\'>"
}
member_method {
name: "__init__"
argspec: "args=[\'self\', \'reader_ref\', \'supports_serialize\'], varargs=None, keywords=None, defaults=[\'False\'], "
}
member_method {
name: "num_records_produced"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_work_units_completed"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read"
argspec: "args=[\'self\', \'queue\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read_up_to"
argspec: "args=[\'self\', \'queue\', \'num_records\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "reset"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "restore_state"
argspec: "args=[\'self\', \'state\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "serialize_state"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
}

View File

@ -1,46 +0,0 @@
path: "tensorflow.TFRecordReader"
tf_class {
is_instance: "<class \'tensorflow.python.ops.io_ops.TFRecordReader\'>"
is_instance: "<class \'tensorflow.python.ops.io_ops.ReaderBase\'>"
is_instance: "<type \'object\'>"
member {
name: "reader_ref"
mtype: "<type \'property\'>"
}
member {
name: "supports_serialize"
mtype: "<type \'property\'>"
}
member_method {
name: "__init__"
argspec: "args=[\'self\', \'name\', \'options\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
}
member_method {
name: "num_records_produced"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_work_units_completed"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read"
argspec: "args=[\'self\', \'queue\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read_up_to"
argspec: "args=[\'self\', \'queue\', \'num_records\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "reset"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "restore_state"
argspec: "args=[\'self\', \'state\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "serialize_state"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
}

View File

@ -1,46 +0,0 @@
path: "tensorflow.TextLineReader"
tf_class {
is_instance: "<class \'tensorflow.python.ops.io_ops.TextLineReader\'>"
is_instance: "<class \'tensorflow.python.ops.io_ops.ReaderBase\'>"
is_instance: "<type \'object\'>"
member {
name: "reader_ref"
mtype: "<type \'property\'>"
}
member {
name: "supports_serialize"
mtype: "<type \'property\'>"
}
member_method {
name: "__init__"
argspec: "args=[\'self\', \'skip_header_lines\', \'name\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
}
member_method {
name: "num_records_produced"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_work_units_completed"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read"
argspec: "args=[\'self\', \'queue\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read_up_to"
argspec: "args=[\'self\', \'queue\', \'num_records\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "reset"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "restore_state"
argspec: "args=[\'self\', \'state\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "serialize_state"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
}

View File

@ -1,46 +0,0 @@
path: "tensorflow.WholeFileReader"
tf_class {
is_instance: "<class \'tensorflow.python.ops.io_ops.WholeFileReader\'>"
is_instance: "<class \'tensorflow.python.ops.io_ops.ReaderBase\'>"
is_instance: "<type \'object\'>"
member {
name: "reader_ref"
mtype: "<type \'property\'>"
}
member {
name: "supports_serialize"
mtype: "<type \'property\'>"
}
member_method {
name: "__init__"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_records_produced"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "num_work_units_completed"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read"
argspec: "args=[\'self\', \'queue\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "read_up_to"
argspec: "args=[\'self\', \'queue\', \'num_records\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "reset"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "restore_state"
argspec: "args=[\'self\', \'state\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
member_method {
name: "serialize_state"
argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], "
}
}

View File

@ -60,10 +60,6 @@ tf_module {
name: "FixedLenSequenceFeature"
mtype: "<type \'type\'>"
}
member {
name: "FixedLengthRecordReader"
mtype: "<type \'type\'>"
}
member {
name: "GIT_VERSION"
mtype: "<type \'str\'>"
@ -108,10 +104,6 @@ tf_module {
name: "HistogramProto"
mtype: "<class \'google.protobuf.pyext.cpp_message.GeneratedProtocolMessageType\'>"
}
member {
name: "IdentityReader"
mtype: "<type \'type\'>"
}
member {
name: "IndexedSlices"
mtype: "<type \'type\'>"
@ -120,10 +112,6 @@ tf_module {
name: "InteractiveSession"
mtype: "<type \'type\'>"
}
member {
name: "LMDBReader"
mtype: "<type \'type\'>"
}
member {
name: "LogMessage"
mtype: "<class \'google.protobuf.pyext.cpp_message.GeneratedProtocolMessageType\'>"
@ -176,10 +164,6 @@ tf_module {
name: "RandomShuffleQueue"
mtype: "<type \'type\'>"
}
member {
name: "ReaderBase"
mtype: "<type \'type\'>"
}
member {
name: "RegisterGradient"
mtype: "<type \'type\'>"
@ -224,10 +208,6 @@ tf_module {
name: "SummaryMetadata"
mtype: "<class \'google.protobuf.pyext.cpp_message.GeneratedProtocolMessageType\'>"
}
member {
name: "TFRecordReader"
mtype: "<type \'type\'>"
}
member {
name: "Tensor"
mtype: "<type \'type\'>"
@ -244,10 +224,6 @@ tf_module {
name: "TensorShape"
mtype: "<type \'type\'>"
}
member {
name: "TextLineReader"
mtype: "<type \'type\'>"
}
member {
name: "VERSION"
mtype: "<type \'str\'>"
@ -272,10 +248,6 @@ tf_module {
name: "VariableSynchronization"
mtype: "<class \'enum.EnumMeta\'>"
}
member {
name: "WholeFileReader"
mtype: "<type \'type\'>"
}
member {
name: "app"
mtype: "<type \'module\'>"