Java Tensorflow:无法从装箱值数组创建非标量张量

Java Tensorflow:无法从装箱值数组创建非标量张量,java,tensorflow,Java,Tensorflow,我按照下面提供的说明在Java中加载经过培训的Tensorflow模型: 我成功地保存了python模型并将其导入java代码中 以下是保存模型的python代码部分: # Export trained model def serving_input_receiver_fn(): inputs = {"my_feature": tf.placeholder(shape=[None, 1], dtype=tf.float32)} return tf.estimator.export.Se

我按照下面提供的说明在Java中加载经过培训的Tensorflow模型:

我成功地保存了python模型并将其导入java代码中

以下是保存模型的python代码部分:

# Export trained model
def serving_input_receiver_fn():
  inputs = {"my_feature": tf.placeholder(shape=[None, 1], dtype=tf.float32)}
  return tf.estimator.export.ServingInputReceiver(inputs, inputs)

export_dir = kmeans.export_savedmodel(
    export_dir_base="/tmp/path_to_model_directory",
    serving_input_receiver_fn=serving_input_receiver_fn,
    assets_extra={"file_name":"/tmp/path_to_file"
                 })
下面是用于读取模型、进行预测和读取结果的java代码:

Tensor x = Tensor.create(
            new long[] {1, 1},
            FloatBuffer.wrap(
                new float[] {
                  10000.0f
                }));

final String xName = "inputs_tensor_info_name";
final String yName = "outputs_tensor_info_name";


List<Tensor<?>> outputTensor = session.runner()
        .feed(xName, x)
        .fetch(yName)
        .run();

for (int i=0; i < outputTensor.size(); i++ ) {  
    Integer[] copy = new Integer[1];
    System.out.println(outputTensor.get(i));
    System.out.println(outputTensor.get(i).copyTo(copy));
}
由于没有弄明白怎么做,如果有人给我指出正确的方向,我将不胜感激。
谢谢。

错误似乎很清楚。。。您不应该使用像
Integer
Float
等,而应该使用
int
Float
等。谢谢@jdehesa。。。非常简单。
Exception in thread "main" java.lang.IllegalArgumentException: cannot create non-scalar Tensors from arrays of boxed values
at org.tensorflow.Tensor.objectCompatWithType(Tensor.java:722)
at org.tensorflow.Tensor.throwExceptionIfTypeIsIncompatible(Tensor.java:742)
at org.tensorflow.Tensor.copyTo(Tensor.java:450)
at com.pivot.maven.quickstart.HelloTF.main(HelloTF.java:105)