What is the best way to match against optional attributes?

Abierto
#1,902 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 3 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
python
Área
compilers

Línea de trabajo

El issue no nombra archivos, pruebas ni puntos de entrada. Empieza por localizar la API de coincidencia de patrones utilizada para DFT y compárala con los cuatro casos de atributos opcionales enumerados; para completarlo sería necesario decidir un enfoque para cubrir esos casos sin reglas duplicadas innecesarias.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

category: question module: rewriter

Suppose we need to remove an optional input of a node, for example, we want to replace DFT(x, None, -2) with DFT(x), since the default axis is -2, so we can remove the axis input.

The DFT node has two optional attributes (onesided and inverse). What is the best way to write pattern to cover these cases:

  • DFT(x, None, -2) -> DFT(x)
  • DFT(x, None, -2, onesided=1) -> DFT(x, onesided=1)
  • DFT(x, None, -2, inverse=1) -> DFT(x, inverse=1)
  • DFT(x, None, -2, inverse=1, onesided=1) -> DFT(x, inverse=1, onesided=1)

It seems we need write four rules for the four cases, is there any better solutions? cc @justinchuby

Lenguaje dominante
Python
Estrellas
457
Forks
149
Merge medio
3 d 19 h
PR fusionados (30 d)
23

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 microsoft/onnxscript

Todos los issues de microsoft/onnxscript

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.