Попытка запустить RunGraphExample frozen_graph.pb на обученной модели Faster-RCNN с Tensorflow 1.13.1, org.deeplearning4j "1.0.0-beta6" (Tensorflow 1.15)
val data: Array[Array[Int]] = new Array[Array[Int]](img.getWidth * img.getHeight);
for (i <- 0 until img.getWidth) {
for (j <- 0 until img.getHeight()) {
val ar: Array[Int] = new Array(3)
ar(0) = color.getRed.byteValue() & 0xff
ar(1) = color.getGreen.byteValue() & 0xff
ar(2) = color.getBlue.byteValue() & 0xff
data(i * img.getHeight + j) = ar
}
}
var arr: INDArray = Nd4j.createFromArray(data)
//.castTo( org.nd4j.linalg.api.buffer.DataType.UBYTE)
В строке появляется ошибка inputMap.put (input.get (0), shapeArray)
если shapeArray имеет тип int, то ошибка равна:
Unable to run session Expects arg[0] to be uint8 but int32 is provided
Если shapeArray является коротким или .castTo (UBYTE ) тогда ошибка:
Unsupported data type: UBYTE
or
Unsupported data type: SHORT
Примерно с 1.0.0-бета3 Deeplearning4j удалена поддержка val compressor = BasicNDArrayCompressor.getInstance.setDefaultCompression ("UINT8")
Как правильно преобразовать изображение в INDArray с типом данных uint8?
https://github.com/eclipse/deeplearning4j-examples/blob/master/tf-import-examples/src/main/java/org/nd4j/examples/RunGraphExample.java