Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

The minimum data type set

Abierto
#853 6 comentarios 4 reacciones 0 asignados Ver en GitHub

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

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

operator specific

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:

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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de webmachinelearning/webnn

Todos los issues de webmachinelearning/webnn

Issues similares

Más issues de Machine Learning

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.