Java-从HDFS读取Tensorflow模型(pb文件)
我看到Java-从HDFS读取Tensorflow模型(pb文件),java,arrays,hadoop,tensorflow,tensorflow-serving,Java,Arrays,Hadoop,Tensorflow,Tensorflow Serving,我看到SavedModelBundle.load不会从HDFS读取。 我正在执行以下操作以从HDFS中读取文件作为字节数组,并将其作为图形导入 hdfs = FileSystem.get(new URI(configuration.get("fs.defaultFS")), configuration); if (hdfs.exists(location)) { FSDataInputStream hdfsInputStream = hdfs.open(location)
SavedModelBundle.load
不会从HDFS读取。
我正在执行以下操作以从HDFS中读取文件作为字节数组
,并将其作为图形导入
hdfs = FileSystem.get(new URI(configuration.get("fs.defaultFS")), configuration);
if (hdfs.exists(location)) {
FSDataInputStream hdfsInputStream = hdfs.open(location);
int length = (int) hdfs.getFileStatus(location).getLen();
byte[] model = new byte[hdfsInputStream.available()];
hdfsInputStream.read(model);
hdfsInputStream.close();
final Graph g = new Graph();
g.importGraphDef(model);
Session session = new Session(g);
}
我还尝试了hdfsInputStream.readfully(model)
。它给出了相同的以下错误:
java.lang.IllegalArgumentException: Invalid GraphDef
at org.tensorflow.Graph.importGraphDef(Native Method)
at org.tensorflow.Graph.importGraphDef(Graph.java:130)
at org.tensorflow.Graph.importGraphDef(Graph.java:114)
我的问题是:
SavedModelBundle.load
.pb
文件读取为字节数组
并正确导入为tensorflow图形SavedModelBundle.load(path)
函数从本地文件系统读取模型目录,以上所有操作都可以正常工作。从本地,我无法正确读取字节数组并转换为图形。但是,读取包
工作正常,并给出正确的输出