如果java中存在直接读取tfrecords并提供给tensorflow savedModel的任何人都知道高级api。 Python api允许将example.proto(tfrecords)和张量输入到tf模型进行推理。我在java中看到的唯一api是创建原始张量,有没有类似于python sdk的方法,我可以直接提供tfrecords(example.proto_也是java中保存的模型包。
答案 0 :(得分:1)
我刚遇到相同的情况,我使用了Java Apache Beam的TFRecordIO来读取记录。例如,
pipeline
.apply(TFRecordIO.read().from(dataPath))
.apply(ParDo.of(new ModelEvaluationFn()));
在ModelEvaluationFn
内部,我使用savedModel
进行评分。使用Java Apache Beam,您可以在本地运行GCP Dataflow,Spark,Flink等。但是,如果直接使用Spark,则有spark-tensorflow-connector。
我碰到的另一件事是如何在Java中解析tfrecords,因为我需要通过使用一些列值来获取分类值来获取标签值和分组。 org.tensorlfow/proto软件包可以帮助您做到这一点。以下是示例:example1,example2。本质上是Example.parseFrom(byte[])
。