如何解决图像到张量数据
库: pytorch_java_only-1.6.0
我想将BufferedImage / File转换为Tensor数据,对此是否有一些方法/库?
Python解决方案:
image = Image.open(image_path)
image = image.convert('RGB')
transform = Compose([ToTensor()])
image = transform(image)
image = image.view(1,3,64,64).cuda()
output = my_model(image)
output = output.view(-1,self.quantity)
output = nn.functional.softmax(output,dim=1)
output = torch.argmax(output,dim=1)
output = output.view(-1,self.size)[0]
我签出了java-demo
这就是我感兴趣的:
Module mod = Module.load("demo-model.pt1");
Tensor data =
Tensor.fromBlob(
new int[] {1,2,4,5,6},// **data array**
new long[] {2,3} // **shape array**
);
IValue result = mod.forward(IValue.from(data),IValue.from(3.0));
Tensor output = result.toTensor();
System.out.println("shape: " + Arrays.toString(output.shape()));
System.out.println("data: " + Arrays.toString(output.getDataAsFloatArray()));
具有形状的数组,所有内容都清晰可见,即图像的高度,宽度和通道。
但是 data 数组呢?我如何将图像转换为正确的数组?也许我应该使用javacv / nd4j之类的东西?
感谢您的回复!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。