1

I have the following java code :

try (OrtEnvironment env = OrtEnvironment.getEnvironment();
             OrtSession.SessionOptions opts = new OrtSession.SessionOptions()) {
            opts.setOptimizationLevel(OrtSession.SessionOptions.OptLevel.BASIC_OPT);

            try (OrtSession session = env.createSession("model.onnx", opts)) {
                OnnxTensor.createTensor(env, 10.0f);
            }
        }

I want to create an OnnxTensor of a float value. I am getting the below Exception:

Exception in thread "main" ai.onnxruntime.OrtException: Cannot convert class java.lang.Float to an OnnxTensor.
    at ai.onnxruntime.TensorInfo.constructFromJavaArray(TensorInfo.java:208)
    at ai.onnxruntime.OnnxTensor.createTensor(OnnxTensor.java:330)
    at ai.onnxruntime.OnnxTensor.createTensor(OnnxTensor.java:314)
Sergii Dymchenko
  • 6,890
  • 1
  • 21
  • 46
Prog_G
  • 1,539
  • 1
  • 8
  • 22

1 Answers1

0

I think this is an old issue. The example code works with the current version of the onnxruntime API (1.14.0).

...
var myTensor = OnnxTensor.createTensor(env, 10.0f);
System.out.println(myTensor);

output:

OnnxTensor(info=TensorInfo(javaType=FLOAT,onnxType=ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT,shape=[]))
Marslinho
  • 1
  • 3