Onnx4j是一个面向ONNX(开放式神经网络交换协议)的Java表达项目,其并不提供具体的运算实现。
ONNX官方提供了其规范的proto定义,我们可以通过Google ProtoBuffer生成用于Java的相关定义类。onnx4j在ONNX官方的proto定义基础上,通过使用OOP的相关手段,如:接口与实现、类与继承等,使其转换为一个更为结构化和更清晰的表达方式,为所有建基于ONNX规范的Java程序开发提供更友好的开发方式。
对于onnx4j的使用,我们可以参考基于onnx4j派生的,专注于神经网络forward操作的框架Forwarder:https://github.com/onnx4j/forwarder
Operator | Opset1 | Opset2 | Opset3 | Opset4 | Opset5 | Opset6 | Opset7 | Opset8 | Opset9 | Opset10 | Opset11 | Opset12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Abs | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Add | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
ArgMax | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
AveragePool | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
BatchNormalization | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Cast | 1 | 1 | 1 | 1 | 1 | 6 | 6 | 6 | 9 | 9 | 9 | 9 |
Concat | 1 | 1 | 1 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
Constant | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Conv | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Div | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Dropout | 1 | 1 | 1 | 1 | 1 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
Gather | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Identity | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
ImageScaler | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
LeakyRelu | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
MatMul | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
MaxPool | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Mul | 1 | 1 | 1 | 1 | 1 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
Pad | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
ReduceMax | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 11 | 12 |
Relu | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Reshape | 1 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
Shape | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Sigmoid | 1 | 1 | 1 | 1 | 1 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
Softmax | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 11 | 11 |
Squeeze | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 11 | 11 |
Sub | 1 | 1 | 1 | 1 | 1 | 6 | 7 | 7 | 7 | 7 | 7 | 7 |
Sum | 1 | 1 | 1 | 1 | 1 | 6 | 6 | 8 | 8 | 8 | 8 | 8 |
Transpose | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Unsqueeze | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 11 | 11 |
暂不支持。