Skip to content

Commit

Permalink
tensorflow-io v0.8.0 release (#472)
Browse files Browse the repository at this point in the history
* Update RELEASE.md

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Adjust version to 0.8.0 and match 'tensorflow>=1.15.0,<1.16.0'

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Update README.md for version compatibility

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Change `IO>` to `Io`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
  • Loading branch information
yongtang committed Oct 16, 2019
1 parent ecb2f6c commit a3634a0
Show file tree
Hide file tree
Showing 92 changed files with 272 additions and 245 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ version of TensorFlow I/O according to the table below:

| TensorFlow I/O Version | TensorFlow Compatibility | Release Date |
| --- | --- | --- |
| 0.8.0 | 1.15.x | Oct 16, 2019 |
| 0.7.0 | 1.14.x | Jul 14, 2019 |
| 0.6.0 | 1.13.x | May 29, 2019 |
| 0.5.0 | 1.13.x | Apr 12, 2019 |
Expand Down
26 changes: 26 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
# Release 0.8.0

## Major Features
* `tensorflow_io.json`: JSON Dataset support.
* `tensorflow_io.dicom`: Medical image DICOM format support.
* `tensorflow_io.genome`: DNA Sequence FastQ format support added.
* `tensorflow_io.ffmpeg`: FFmpeg now support selection of substreams.
* `tensorflow_io.ffmpeg`: FFmpeg now support subtitle (captioning).
* `tensorflow_io.ffmpeg`: FFmpeg now support decode video from memory.
* `tensorflow_io.image`: BMP encoding (encode_bmp) support.
* `tensorflow_io.kafka`: Kafka Dataset now support Kafka Schema Registry.
* `tensorflow_io.audio`: WAV format now support 24 bit audio streams.
* `tensorflow_io.text`: Regex capture group (`re2_full_match`) support.
* manylinux2010 compliant on Linux.

## Thanks to our Contributors

This release contains contributions from many people:

Aleksey Vlasenko, Amarpreet Singh, Bryan Cutler, Damien Pontifex, Duke Wang,
Jiacheng Xu, Marcelo Lerendegui, Mark Daoust, Ouwen Huang, Suyash Kumar,
Yong Tang, Yuan Tang, henrytansetiawan

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

# Release 0.7.0

## Major Features
Expand Down
8 changes: 4 additions & 4 deletions tensorflow_io/arrow/kernels/arrow_dataset_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1175,16 +1175,16 @@ class ArrowStreamDatasetOp : public ArrowOpKernelBase {
};
};

REGISTER_KERNEL_BUILDER(Name("IO>ArrowZeroCopyDataset").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoArrowZeroCopyDataset").Device(DEVICE_CPU),
ArrowZeroCopyDatasetOp);

REGISTER_KERNEL_BUILDER(Name("IO>ArrowSerializedDataset").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoArrowSerializedDataset").Device(DEVICE_CPU),
ArrowSerializedDatasetOp);

REGISTER_KERNEL_BUILDER(Name("IO>ArrowFeatherDataset").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoArrowFeatherDataset").Device(DEVICE_CPU),
ArrowFeatherDatasetOp);

REGISTER_KERNEL_BUILDER(Name("IO>ArrowStreamDataset").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoArrowStreamDataset").Device(DEVICE_CPU),
ArrowStreamDatasetOp);

} // namespace data
Expand Down
8 changes: 4 additions & 4 deletions tensorflow_io/arrow/kernels/arrow_kernels.cc
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ class ListFeatherColumnsOp : public OpKernel {
Env* env_ GUARDED_BY(mu_);
};

REGISTER_KERNEL_BUILDER(Name("IO>ListFeatherColumns").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoListFeatherColumns").Device(DEVICE_CPU),
ListFeatherColumnsOp);


Expand Down Expand Up @@ -401,11 +401,11 @@ class FeatherReadable : public IOReadableInterface {
std::unordered_map<string, int64> columns_index_;
};

REGISTER_KERNEL_BUILDER(Name("IO>FeatherReadableInit").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoFeatherReadableInit").Device(DEVICE_CPU),
IOInterfaceInitOp<FeatherReadable>);
REGISTER_KERNEL_BUILDER(Name("IO>FeatherReadableSpec").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoFeatherReadableSpec").Device(DEVICE_CPU),
IOInterfaceSpecOp<FeatherReadable>);
REGISTER_KERNEL_BUILDER(Name("IO>FeatherReadableRead").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoFeatherReadableRead").Device(DEVICE_CPU),
IOReadableReadOp<FeatherReadable>);

} // namespace data
Expand Down
16 changes: 8 additions & 8 deletions tensorflow_io/arrow/ops/dataset_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.

namespace tensorflow {

REGISTER_OP("IO>ArrowZeroCopyDataset")
REGISTER_OP("IoArrowZeroCopyDataset")
.Input("buffer_address: uint64")
.Input("buffer_size: int64")
.Input("columns: int32")
Expand All @@ -38,7 +38,7 @@ in file format.
buffer_size: Buffer size in bytes
)doc");

REGISTER_OP("IO>ArrowSerializedDataset")
REGISTER_OP("IoArrowSerializedDataset")
.Input("serialized_batches: string")
.Input("columns: int32")
.Input("batch_size: int64")
Expand All @@ -54,7 +54,7 @@ Creates a dataset that reads serialized Arrow RecordBatches in file format.
serialized_batches: Serialized Arrow RecordBatches.
)doc");

REGISTER_OP("IO>ArrowFeatherDataset")
REGISTER_OP("IoArrowFeatherDataset")
.Input("filenames: string")
.Input("columns: int32")
.Input("batch_size: int64")
Expand All @@ -70,7 +70,7 @@ Creates a dataset that reads files in Arrow Feather format.
filenames: One or more file paths.
)doc");

REGISTER_OP("IO>ArrowStreamDataset")
REGISTER_OP("IoArrowStreamDataset")
.Input("endpoints: string")
.Input("columns: int32")
.Input("batch_size: int64")
Expand All @@ -87,7 +87,7 @@ endpoints: One or more host addresses that are serving an Arrow stream.
)doc");


REGISTER_OP("IO>ListFeatherColumns")
REGISTER_OP("IoListFeatherColumns")
.Input("filename: string")
.Input("memory: string")
.Output("columns: string")
Expand All @@ -100,7 +100,7 @@ REGISTER_OP("IO>ListFeatherColumns")
return Status::OK();
});

REGISTER_OP("IO>FeatherReadableInit")
REGISTER_OP("IoFeatherReadableInit")
.Input("input: string")
.Output("resource: resource")
.Output("components: string")
Expand All @@ -112,7 +112,7 @@ REGISTER_OP("IO>FeatherReadableInit")
return Status::OK();
});

REGISTER_OP("IO>FeatherReadableSpec")
REGISTER_OP("IoFeatherReadableSpec")
.Input("input: resource")
.Output("shape: int64")
.Output("dtype: int64")
Expand All @@ -123,7 +123,7 @@ REGISTER_OP("IO>FeatherReadableSpec")
return Status::OK();
});

REGISTER_OP("IO>FeatherReadableRead")
REGISTER_OP("IoFeatherReadableRead")
.Input("input: resource")
.Input("start: int64")
.Input("stop: int64")
Expand Down
6 changes: 3 additions & 3 deletions tensorflow_io/audio/kernels/audio_kernels.cc
Original file line number Diff line number Diff line change
Expand Up @@ -243,11 +243,11 @@ class WAVReadable : public IOReadableInterface {
struct WAVHeader header_;
};

REGISTER_KERNEL_BUILDER(Name("IO>WAVReadableInit").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoWAVReadableInit").Device(DEVICE_CPU),
IOInterfaceInitOp<WAVReadable>);
REGISTER_KERNEL_BUILDER(Name("IO>WAVReadableSpec").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoWAVReadableSpec").Device(DEVICE_CPU),
IOInterfaceSpecOp<WAVReadable>);
REGISTER_KERNEL_BUILDER(Name("IO>WAVReadableRead").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoWAVReadableRead").Device(DEVICE_CPU),
IOReadableReadOp<WAVReadable>);

} // namespace data
Expand Down
6 changes: 3 additions & 3 deletions tensorflow_io/audio/ops/audio_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.

namespace tensorflow {

REGISTER_OP("IO>WAVReadableInit")
REGISTER_OP("IoWAVReadableInit")
.Input("input: string")
.Output("resource: resource")
.Attr("container: string = ''")
Expand All @@ -29,7 +29,7 @@ REGISTER_OP("IO>WAVReadableInit")
return Status::OK();
});

REGISTER_OP("IO>WAVReadableSpec")
REGISTER_OP("IoWAVReadableSpec")
.Input("input: resource")
.Output("shape: int64")
.Output("dtype: int64")
Expand All @@ -41,7 +41,7 @@ REGISTER_OP("IO>WAVReadableSpec")
return Status::OK();
});

REGISTER_OP("IO>WAVReadableRead")
REGISTER_OP("IoWAVReadableRead")
.Input("input: resource")
.Input("start: int64")
.Input("stop: int64")
Expand Down
12 changes: 6 additions & 6 deletions tensorflow_io/avro/kernels/avro_kernels.cc
Original file line number Diff line number Diff line change
Expand Up @@ -282,9 +282,9 @@ class ReadAvroOp : public OpKernel {
Env* env_ GUARDED_BY(mu_);
};

REGISTER_KERNEL_BUILDER(Name("IO>ListAvroColumns").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoListAvroColumns").Device(DEVICE_CPU),
ListAvroColumnsOp);
REGISTER_KERNEL_BUILDER(Name("IO>ReadAvro").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoReadAvro").Device(DEVICE_CPU),
ReadAvroOp);


Expand Down Expand Up @@ -528,13 +528,13 @@ class AvroReadable : public IOReadableInterface {
std::unordered_map<string, int64> columns_index_;
};

REGISTER_KERNEL_BUILDER(Name("IO>AvroReadableInit").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoAvroReadableInit").Device(DEVICE_CPU),
IOInterfaceInitOp<AvroReadable>);
REGISTER_KERNEL_BUILDER(Name("IO>AvroReadableSpec").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoAvroReadableSpec").Device(DEVICE_CPU),
IOInterfaceSpecOp<AvroReadable>);
REGISTER_KERNEL_BUILDER(Name("IO>AvroReadablePartitions").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoAvroReadablePartitions").Device(DEVICE_CPU),
IOReadablePartitionsOp<AvroReadable>);
REGISTER_KERNEL_BUILDER(Name("IO>AvroReadableRead").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoAvroReadableRead").Device(DEVICE_CPU),
IOReadableReadOp<AvroReadable>);

} // namespace data
Expand Down
12 changes: 6 additions & 6 deletions tensorflow_io/avro/ops/avro_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.

namespace tensorflow {

REGISTER_OP("IO>ListAvroColumns")
REGISTER_OP("IoListAvroColumns")
.Input("filename: string")
.Input("schema: string")
.Input("memory: string")
Expand All @@ -31,7 +31,7 @@ REGISTER_OP("IO>ListAvroColumns")
return Status::OK();
});

REGISTER_OP("IO>ReadAvro")
REGISTER_OP("IoReadAvro")
.Input("filename: string")
.Input("schema: string")
.Input("column: string")
Expand All @@ -45,7 +45,7 @@ REGISTER_OP("IO>ReadAvro")
return Status::OK();
});

REGISTER_OP("IO>AvroReadableInit")
REGISTER_OP("IoAvroReadableInit")
.Input("input: string")
.Input("metadata: string")
.Output("resource: resource")
Expand All @@ -58,7 +58,7 @@ REGISTER_OP("IO>AvroReadableInit")
return Status::OK();
});

REGISTER_OP("IO>AvroReadableSpec")
REGISTER_OP("IoAvroReadableSpec")
.Input("input: resource")
.Output("shape: int64")
.Output("dtype: int64")
Expand All @@ -69,7 +69,7 @@ REGISTER_OP("IO>AvroReadableSpec")
return Status::OK();
});

REGISTER_OP("IO>AvroReadableRead")
REGISTER_OP("IoAvroReadableRead")
.Input("input: resource")
.Input("start: int64")
.Input("stop: int64")
Expand All @@ -87,7 +87,7 @@ REGISTER_OP("IO>AvroReadableRead")
return Status::OK();
});

REGISTER_OP("IO>AvroReadablePartitions")
REGISTER_OP("IoAvroReadablePartitions")
.Input("input: resource")
.Output("partitions: int64")
.SetShapeFn([](shape_inference::InferenceContext* c) {
Expand Down
2 changes: 1 addition & 1 deletion tensorflow_io/bigquery/kernels/bigquery_dataset_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ class BigQueryDatasetOp : public DatasetOpKernel {
};
};

REGISTER_KERNEL_BUILDER(Name("IO>BigQueryDataset").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigQueryDataset").Device(DEVICE_CPU),
BigQueryDatasetOp);

} // namespace
Expand Down
4 changes: 2 additions & 2 deletions tensorflow_io/bigquery/kernels/bigquery_kernels.cc
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class BigQueryClientOp : public OpKernel {
bool initialized_ GUARDED_BY(mu_) = false;
};

REGISTER_KERNEL_BUILDER(Name("IO>BigQueryClient").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigQueryClient").Device(DEVICE_CPU),
BigQueryClientOp);

class BigQueryReadSessionOp : public OpKernel {
Expand Down Expand Up @@ -208,7 +208,7 @@ class BigQueryReadSessionOp : public OpKernel {
bool initialized_ GUARDED_BY(mu_) = false;
};

REGISTER_KERNEL_BUILDER(Name("IO>BigQueryReadSession").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigQueryReadSession").Device(DEVICE_CPU),
BigQueryReadSessionOp);

} // namespace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class BigQueryTestClientOp : public OpKernel {
string fake_server_address_;
};

REGISTER_KERNEL_BUILDER(Name("IO>BigQueryTestClient").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigQueryTestClient").Device(DEVICE_CPU),
BigQueryTestClientOp);

} // namespace
Expand Down
6 changes: 3 additions & 3 deletions tensorflow_io/bigquery/ops/bigquery_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ limitations under the License.

namespace tensorflow {

REGISTER_OP("IO>BigQueryClient")
REGISTER_OP("IoBigQueryClient")
.Attr("container: string = ''")
.Attr("shared_name: string = ''")
.Output("client: resource")
.SetShapeFn(shape_inference::ScalarShape);

REGISTER_OP("IO>BigQueryReadSession")
REGISTER_OP("IoBigQueryReadSession")
.Input("client: resource")
.Attr("parent: string")
.Attr("project_id: string")
Expand All @@ -44,7 +44,7 @@ REGISTER_OP("IO>BigQueryReadSession")
return tensorflow::Status::OK();
});

REGISTER_OP("IO>BigQueryDataset")
REGISTER_OP("IoBigQueryDataset")
.Input("client: resource")
.Input("stream: string")
.Input("avro_schema: string")
Expand Down
2 changes: 1 addition & 1 deletion tensorflow_io/bigquery/ops/bigquery_test_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ limitations under the License.

namespace tensorflow {

REGISTER_OP("IO>BigQueryTestClient")
REGISTER_OP("IoBigQueryTestClient")
.Attr("fake_server_address: string")
.Attr("container: string = ''")
.Attr("shared_name: string = ''")
Expand Down
6 changes: 3 additions & 3 deletions tensorflow_io/bigtable/kernels/bigtable_kernels.cc
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ class BigtableClientOp : public OpKernel {
bool initialized_ GUARDED_BY(mu_) = false;
};

REGISTER_KERNEL_BUILDER(Name("IO>BigtableClient").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigtableClient").Device(DEVICE_CPU),
BigtableClientOp);

class BigtableTableOp : public OpKernel {
Expand Down Expand Up @@ -168,7 +168,7 @@ class BigtableTableOp : public OpKernel {
bool initialized_ GUARDED_BY(mu_) = false;
};

REGISTER_KERNEL_BUILDER(Name("IO>BigtableTable").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigtableTable").Device(DEVICE_CPU),
BigtableTableOp);

} // namespace
Expand Down Expand Up @@ -353,7 +353,7 @@ class ToBigtableOp : public AsyncOpKernel {
std::unique_ptr<thread::ThreadPool> thread_pool_;
};

REGISTER_KERNEL_BUILDER(Name("IO>DatasetToBigtable").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoDatasetToBigtable").Device(DEVICE_CPU),
ToBigtableOp);

} // namespace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ class BigtableLookupDatasetOp : public UnaryDatasetOpKernel {
};
};

REGISTER_KERNEL_BUILDER(Name("IO>BigtableLookupDataset").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigtableLookupDataset").Device(DEVICE_CPU),
BigtableLookupDatasetOp);

} // namespace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class BigtablePrefixKeyDatasetOp : public DatasetOpKernel {
};
};

REGISTER_KERNEL_BUILDER(Name("IO>BigtablePrefixKeyDataset").Device(DEVICE_CPU),
REGISTER_KERNEL_BUILDER(Name("IoBigtablePrefixKeyDataset").Device(DEVICE_CPU),
BigtablePrefixKeyDatasetOp);

} // namespace
Expand Down

0 comments on commit a3634a0

Please sign in to comment.