Add a new contrib/avro directory and the initial schema that resembles
tf.train.Example. Change: 123445810
This commit is contained in:
parent
c922ed63e3
commit
dedaa43945
35
avro.BUILD
Normal file
35
avro.BUILD
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
licenses(["notice"]) # Apache 2.0
|
||||||
|
|
||||||
|
prefix_dir = "avro-cpp-1.8.0"
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "avrocpp",
|
||||||
|
srcs = glob(
|
||||||
|
[
|
||||||
|
prefix_dir + "/impl/**/*.cc",
|
||||||
|
prefix_dir + "/impl/**/*.hh",
|
||||||
|
],
|
||||||
|
exclude = [
|
||||||
|
prefix_dir + "/impl/avrogencpp.cc",
|
||||||
|
],
|
||||||
|
),
|
||||||
|
hdrs = glob([prefix_dir + "/api/**/*.hh"]),
|
||||||
|
includes = [prefix_dir + "/api"],
|
||||||
|
deps = [
|
||||||
|
"@boost_archive//:boost",
|
||||||
|
"@boost_archive//:filesystem",
|
||||||
|
"@boost_archive//:iostreams",
|
||||||
|
"@boost_archive//:system",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_binary(
|
||||||
|
name = "avrogencpp",
|
||||||
|
srcs = [prefix_dir + "/impl/avrogencpp.cc"],
|
||||||
|
deps = [
|
||||||
|
":avrocpp",
|
||||||
|
"@boost_archive//:program_options",
|
||||||
|
],
|
||||||
|
)
|
58
boost.BUILD
Normal file
58
boost.BUILD
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Description:
|
||||||
|
# The Boost library collection (http://www.boost.org)
|
||||||
|
#
|
||||||
|
# Most Boost libraries are header-only, in which case you only need to depend
|
||||||
|
# on :boost. If you need one of the libraries that has a separately-compiled
|
||||||
|
# implementation, depend on the appropriate libs rule.
|
||||||
|
|
||||||
|
# This is only needed for Avro.
|
||||||
|
package(default_visibility = ["@avro_archive//:__subpackages__"])
|
||||||
|
|
||||||
|
licenses(["notice"]) # Boost software license
|
||||||
|
|
||||||
|
prefix_dir = "boost_1_61_0"
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "boost",
|
||||||
|
hdrs = glob([
|
||||||
|
prefix_dir + "/boost/**/*.hpp",
|
||||||
|
prefix_dir + "/boost/**/*.h",
|
||||||
|
prefix_dir + "/boost/**/*.ipp",
|
||||||
|
]),
|
||||||
|
includes = [prefix_dir],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "filesystem",
|
||||||
|
srcs = glob([prefix_dir + "/libs/filesystem/src/*.cpp"]),
|
||||||
|
deps = [
|
||||||
|
":boost",
|
||||||
|
":system",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "iostreams",
|
||||||
|
srcs = glob([prefix_dir + "/libs/iostreams/src/*.cpp"]),
|
||||||
|
deps = [
|
||||||
|
":boost",
|
||||||
|
"@bzip2_archive//:bz2lib",
|
||||||
|
"@zlib_archive//:zlib",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "program_options",
|
||||||
|
srcs = glob([prefix_dir + "/libs/program_options/src/*.cpp"]),
|
||||||
|
deps = [
|
||||||
|
":boost",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "system",
|
||||||
|
srcs = glob([prefix_dir + "/libs/system/src/*.cpp"]),
|
||||||
|
deps = [
|
||||||
|
":boost",
|
||||||
|
],
|
||||||
|
)
|
36
bzip2.BUILD
Normal file
36
bzip2.BUILD
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
licenses(["notice"]) # BSD derivative
|
||||||
|
|
||||||
|
prefix_dir = "bzip2-1.0.6"
|
||||||
|
|
||||||
|
BZ2LIB_SRCS = [
|
||||||
|
# these are in the same order as their corresponding .o files are in OBJS in
|
||||||
|
# Makefile (rather than lexicographic order) for easy comparison (that they
|
||||||
|
# are identical).
|
||||||
|
"blocksort.c",
|
||||||
|
"huffman.c",
|
||||||
|
"crctable.c",
|
||||||
|
"randtable.c",
|
||||||
|
"compress.c",
|
||||||
|
"decompress.c",
|
||||||
|
"bzlib.c",
|
||||||
|
]
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "bz2lib",
|
||||||
|
srcs = [prefix_dir + "/" + source for source in BZ2LIB_SRCS] +
|
||||||
|
[prefix_dir + "/bzlib_private.h"],
|
||||||
|
hdrs = [prefix_dir + "/bzlib.h"],
|
||||||
|
includes = [prefix_dir],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_binary(
|
||||||
|
name = "bzip2",
|
||||||
|
srcs = [
|
||||||
|
"bzip2.c",
|
||||||
|
],
|
||||||
|
deps = [
|
||||||
|
":bz2lib",
|
||||||
|
],
|
||||||
|
)
|
30
tensorflow/contrib/avro/BUILD
Normal file
30
tensorflow/contrib/avro/BUILD
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Description:
|
||||||
|
# Contains ops for reading and writing Apache Avro files.
|
||||||
|
# (https://avro.apache.org/)
|
||||||
|
|
||||||
|
licenses(["notice"]) # Apache 2.0
|
||||||
|
|
||||||
|
exports_files(["LICENSE"])
|
||||||
|
|
||||||
|
package(default_visibility = ["//tensorflow:__subpackages__"])
|
||||||
|
|
||||||
|
load("//third_party/avro:build_defs.bzl", "avro_gen_cpp")
|
||||||
|
|
||||||
|
avro_gen_cpp(
|
||||||
|
name = "example_h",
|
||||||
|
srcs = ["example.json"],
|
||||||
|
outs = ["example.h"],
|
||||||
|
namespace = "tensorflow",
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all_files",
|
||||||
|
srcs = glob(
|
||||||
|
["**/*"],
|
||||||
|
exclude = [
|
||||||
|
"**/METADATA",
|
||||||
|
"**/OWNERS",
|
||||||
|
],
|
||||||
|
),
|
||||||
|
visibility = ["//tensorflow:__subpackages__"],
|
||||||
|
)
|
4
tensorflow/contrib/avro/README.md
Normal file
4
tensorflow/contrib/avro/README.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# TensorFlow Avro support
|
||||||
|
|
||||||
|
This directory contains code for reading and writing
|
||||||
|
[Apache Avro](https://avro.apache.org/) data in TensorFlow.
|
0
tensorflow/contrib/avro/__init__.py
Normal file
0
tensorflow/contrib/avro/__init__.py
Normal file
71
tensorflow/contrib/avro/example.json
Normal file
71
tensorflow/contrib/avro/example.json
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
{
|
||||||
|
"type": "record",
|
||||||
|
"name": "Example",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "features",
|
||||||
|
"type": {
|
||||||
|
"type": "record",
|
||||||
|
"name": "Features",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "feature",
|
||||||
|
"type": {
|
||||||
|
"type": "map",
|
||||||
|
"values": {
|
||||||
|
"type": "record",
|
||||||
|
"name": "Feature",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "values",
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"type": "record",
|
||||||
|
"name": "BytesList",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "value",
|
||||||
|
"type": {
|
||||||
|
"type": "array",
|
||||||
|
"items": "bytes"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "record",
|
||||||
|
"name": "FloatList",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "value",
|
||||||
|
"type": {
|
||||||
|
"type": "array",
|
||||||
|
"items": "float"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "record",
|
||||||
|
"name": "Int64List",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "value",
|
||||||
|
"type": {
|
||||||
|
"type": "array",
|
||||||
|
"items": "long"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -145,3 +145,32 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
|
|||||||
remote = "https://boringssl.googlesource.com/boringssl",
|
remote = "https://boringssl.googlesource.com/boringssl",
|
||||||
build_file = path_prefix + "boringssl.BUILD",
|
build_file = path_prefix + "boringssl.BUILD",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
native.new_http_archive(
|
||||||
|
name = "avro_archive",
|
||||||
|
url = "http://www-us.apache.org/dist/avro/avro-1.8.0/cpp/avro-cpp-1.8.0.tar.gz",
|
||||||
|
sha256 = "ec6e2ec957e95ca07f70cc25f02f5c416f47cb27bd987a6ec770dcbe72527368",
|
||||||
|
build_file = path_prefix + "avro.BUILD",
|
||||||
|
)
|
||||||
|
|
||||||
|
native.new_http_archive(
|
||||||
|
name = "boost_archive",
|
||||||
|
url = "http://pilotfiber.dl.sourceforge.net/project/boost/boost/1.61.0/boost_1_61_0.tar.gz",
|
||||||
|
sha256 = "a77c7cc660ec02704c6884fbb20c552d52d60a18f26573c9cee0788bf00ed7e6",
|
||||||
|
build_file = path_prefix + "boost.BUILD",
|
||||||
|
)
|
||||||
|
|
||||||
|
native.new_http_archive(
|
||||||
|
name = "bzip2_archive",
|
||||||
|
url = "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz",
|
||||||
|
sha256 = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd",
|
||||||
|
build_file = path_prefix + "bzip2.BUILD",
|
||||||
|
)
|
||||||
|
|
||||||
|
native.new_http_archive(
|
||||||
|
name = "zlib_archive",
|
||||||
|
url = "http://zlib.net/zlib-1.2.8.tar.gz",
|
||||||
|
sha256 = "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d",
|
||||||
|
build_file = path_prefix + "zlib.BUILD",
|
||||||
|
)
|
||||||
|
|
||||||
|
4
third_party/avro/BUILD
vendored
Normal file
4
third_party/avro/BUILD
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
licenses(["notice"]) # Apache 2.0
|
||||||
|
|
28
third_party/avro/build_defs.bzl
vendored
Normal file
28
third_party/avro/build_defs.bzl
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
"""Build extension for generating C++ header file from an Avro schema.
|
||||||
|
|
||||||
|
Example usage:
|
||||||
|
|
||||||
|
load("//third_party/avro:build_defs.bzl", "avro_gen_cpp")
|
||||||
|
|
||||||
|
avro_gen_cpp(
|
||||||
|
name = "myrule",
|
||||||
|
srcs = ["myschema.json"],
|
||||||
|
outs = ["myschema.h"],
|
||||||
|
namespace = "mynamespace",
|
||||||
|
)
|
||||||
|
"""
|
||||||
|
|
||||||
|
def avro_gen_cpp(name, srcs, outs, namespace, visibility=None):
|
||||||
|
native.genrule(
|
||||||
|
name = name,
|
||||||
|
srcs = srcs,
|
||||||
|
outs = outs,
|
||||||
|
cmd = ("$(location @avro_archive//:avrogencpp)" +
|
||||||
|
" --include-prefix external/avro_archive/avro-cpp-1.8.0/api" +
|
||||||
|
" --namespace " + namespace +
|
||||||
|
" --no-union-typedef" +
|
||||||
|
" --input $(SRCS)" +
|
||||||
|
" --output $@"),
|
||||||
|
tools = ["@avro_archive//:avrogencpp"],
|
||||||
|
visibility = visibility,
|
||||||
|
)
|
12
zlib.BUILD
Normal file
12
zlib.BUILD
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
licenses(["notice"]) # BSD/MIT-like license (for zlib)
|
||||||
|
|
||||||
|
prefix_dir = "zlib-1.2.8"
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "zlib",
|
||||||
|
srcs = glob([prefix_dir + "/*.c"]),
|
||||||
|
hdrs = glob([prefix_dir + "/*.h"]),
|
||||||
|
includes = [prefix_dir],
|
||||||
|
)
|
Loading…
x
Reference in New Issue
Block a user