The minimum data type set
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Área
- machine-learning
Línea de trabajo
This is a spec-level decision about the minimum data type set, not a code change. Read the linked WebML minutes and the referenced webnn issues #278 and #853's comment thread, then compare the opSupportLimits intersection JSON against the spec's data type tables. The open questions are whether l2Pool2d (missing in TFLite) and sign (missing in CoreML) block the minimum set, and the work is done when the group records a decision on that set.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
As a follow-up for the discussion at WebML WG Teleconference – 22 May 2025, I checked the data types (and rank range) of all ops via opSupportLimits across DirectML, TFLite and CoreML backends in Chromium prototype.
The result is promising: all ops have data type overlap except two ops:
l2Pool2d: it is not implemented in TFLite backend yet (Chromium issue), because of a TFLite issue which is discussed in https://github.com/webmachinelearning/webnn/issues/278#issuecomment-2887950826. Once it is fixed, the overlap should be "float32" and "float16"sign: it is not implemented the CoreML backend yet (Chromium issue). CoreML sign supports fp16, fp32, i32. Once it is supported, the input data types intersection should be "float32", "float16" and "int32".
Please find the details in the following opSupportLimits intersection JSON dump. /cc @reillyeon @fdwr
The opSupportLimits intersection of DirectML, TFLite and CoreML backends
The JSON output
{
"abs": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"add": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"argMax": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "int32" ]
}
},
"argMin": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "int32" ]
}
},
"averagePool2d": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"batchNormalization": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 5 }
},
"mean": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
},
"scale": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"variance": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
}
},
"cast": {
"input": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ]
}
},
"ceil": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"clamp": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"concat": {
"inputs": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"constant": {
"dataTypes": [ "float32", "float16", "int32", "uint32", "int8", "uint8", "int4" ]
},
"conv2d": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"filter": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"convTranspose2d": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"filter": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"cos": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"cumulativeSum": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"dequantizeLinear": {
"input": {
"dataTypes": [ "int32", "int8", "uint8" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32" ]
},
"scale": {
"dataTypes": [ "float32" ],
"rankRange": { "min": 0, "max": 5 }
},
"zeroPoint": {
"dataTypes": [ "int32", "int8", "uint8" ],
"rankRange": { "min": 0, "max": 5 }
}
},
"div": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"elu": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"equal": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"erf": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"exp": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"expand": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"floor": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"gather": {
"indices": {
"dataTypes": [ "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"input": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ]
}
},
"gatherElements": {
"indices": {
"dataTypes": [ "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"input": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ]
}
},
"gatherND": {
"indices": {
"dataTypes": [ "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"input": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ]
}
},
"gelu": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"gemm": {
"a": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"b": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"c": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 2 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"greater": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"greaterOrEqual": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"gru": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"initialHiddenState": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
},
"outputs": {
"dataTypes": [ "float32", "float16" ]
},
"recurrentBias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"recurrentWeight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
},
"weight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
}
},
"gruCell": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"hiddenState": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
},
"recurrentBias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"recurrentWeight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"weight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
}
},
"hardSigmoid": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"hardSwish": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"identity": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"input": {
"dataTypes": [ "float32", "float16", "int32" ]
},
"instanceNormalization": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
},
"scale": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
}
},
"l2Pool2d": {
"input": {
"dataTypes": [],
"rankRange": {}
},
"output": {
"dataTypes": []
}
},
"layerNormalization": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
},
"scale": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
}
},
"leakyRelu": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"lesser": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"lesserOrEqual": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"linear": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"log": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"logicalAnd": {
"a": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"logicalNot": {
"a": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"logicalOr": {
"a": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"logicalXor": {
"a": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"lstm": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"initialCellState": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
},
"initialHiddenState": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
},
"outputs": {
"dataTypes": [ "float32", "float16" ]
},
"peepholeWeight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"recurrentBias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"recurrentWeight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
},
"weight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 3, "max": 3 }
}
},
"lstmCell": {
"bias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"cellState": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"hiddenState": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"outputs": {
"dataTypes": [ "float32", "float16" ]
},
"peepholeWeight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"recurrentBias": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 1 }
},
"recurrentWeight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
},
"weight": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 2 }
}
},
"matmul": {
"a": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 5 }
},
"b": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 2, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"max": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"maxPool2d": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"min": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"mul": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"neg": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"notEqual": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "uint8" ]
}
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
},
"pad": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"pow": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"prelu": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
},
"slope": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 4 }
}
},
"quantizeLinear": {
"input": {
"dataTypes": [ "float32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "int8", "uint8" ]
},
"scale": {
"dataTypes": [ "float32" ],
"rankRange": { "min": 0, "max": 5 }
},
"zeroPoint": {
"dataTypes": [ "int8", "uint8" ],
"rankRange": { "min": 0, "max": 5 }
}
},
"reciprocal": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"reduceL1": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"reduceL2": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"reduceLogSum": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"reduceLogSumExp": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"reduceMax": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"reduceMean": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"reduceMin": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"reduceProduct": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"reduceSum": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"reduceSumSquare": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"relu": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"resample2d": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 4, "max": 4 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"reshape": {
"input": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ]
}
},
"reverse": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"scatterElements": {
"indices": {
"dataTypes": [ "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
},
"updates": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 1, "max": 5 }
}
},
"scatterND": {
"indices": {
"dataTypes": [ "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
},
"updates": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 1, "max": 5 }
}
},
"sigmoid": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"sign": {
"input": {
"dataTypes": [],
"rankRange": { "min": 0, "max": 0 }
},
"output": {
"dataTypes": []
}
},
"sin": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"slice": {
"input": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32", "int8", "uint8" ]
}
},
"softmax": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 1, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"softplus": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"softsign": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"split": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"outputs": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"sqrt": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"sub": {
"a": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"b": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"tan": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"tanh": {
"input": {
"dataTypes": [ "float32", "float16" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16" ]
}
},
"tile": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"transpose": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"triangular": {
"input": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 2, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
}
},
"where": {
"condition": {
"dataTypes": [ "uint8" ],
"rankRange": { "min": 0, "max": 5 }
},
"falseValue": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
},
"output": {
"dataTypes": [ "float32", "float16", "int32" ]
},
"trueValue": {
"dataTypes": [ "float32", "float16", "int32" ],
"rankRange": { "min": 0, "max": 5 }
}
}
}
- Lenguaje dominante
- Bikeshed
- Estrellas
- 566
- Forks
- 72
- Merge medio
- 6 d 5 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de webmachinelearning/webnn
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
webmachinelearning/webnn#967 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
webmachinelearning/webnn#966 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
webmachinelearning/webnn#965 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
webmachinelearning/webnn#964 · 1 comentario · 1 reacción ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
webmachinelearning/webnn#963 · 3 comentarios · 2 reacciones ·
Todos los issues de webmachinelearning/webnn
Issues similares
-
[Platform][OpenAi] Non-streaming structured output parses commentary instead of final_answerAbiertoBug Platform Status: Needs Review
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
discussion tuning
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
stew675/llama-cpp-rdna-boosts#214 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
aws-samples/sample-aiml-security-assessment#90 ·
Los mantenedores suelen responder en 8 días
-
Eval bug: minimax-m3: build_moe_ffn() drops the per-expert NVFP4 scale → garbled output (M3.1 Flash)Abiertobug-unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día