SShapeEstuary
Espacio de programación con IA

Formas compatibles de tensores

Deduce una forma común de tensores comparando dimensiones finales y expandiendo ejes unitarios.

● ● ●ShapeEstuary●
Flujos de trabajo · Formas compatibles de tensores ×
from itertools import zip_longest

def broadcast_shape(a, b):
    a, b = tuple(a), tuple(b)
    if any(type(d) is not int or d < 0 for d in a + b):
        raise ValueError("dimension.invalid")
    result = []
    for left, right in zip_longest(reversed(a), reversed(b), fillvalue=1):
        if left == right or right == 1:
            result.append(left)
        elif left == 1:
            result.append(right)
        else:
            raise ValueError("shape.incompatible")
    return tuple(reversed(result))
✳Deduce una forma común de tensores comparando dimensiones finales y expandiendo ejes unitarios.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
  1. Proyecto

    Prueba escalares y ejes vacíos junto a dimensiones unitarias, rechazando tamaños incompatibles, negativos o fraccionarios.

  2. Revisa antes de aplicar

    Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.

  3. Modelos

    Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.

Flujos de trabajo

Formas compatibles de tensores

Flujos de trabajo ↗
Flujos de trabajo
from itertools import zip_longest

def broadcast_shape(a, b):
    a, b = tuple(a), tuple(b)
    if any(type(d) is not int or d < 0 for d in a + b):
        raise ValueError("dimension.invalid")
    result = []
    for left, right in zip_longest(reversed(a), reversed(b), fillvalue=1):
        if left == right or right == 1:
            result.append(left)
        elif left == 1:
            result.append(right)
        else:
            raise ValueError("shape.incompatible")
    return tuple(reversed(result))
Espacio de programación con IA

Sigue los supuestos de forma a través de un proyecto numérico

ShapeEstuary ofrece al trabajo con software numérico un entorno de Windows donde la carpeta del proyecto y la conversación con IA permanecen conectadas. Empieza por la operación que falla o devuelve una forma inesperada. Pide al modelo elegido que inspeccione las transformaciones circundantes y explique sus supuestos antes de solicitar un parche. Este enfoque mantiene la investigación vinculada al proceso que realmente usa el resultado.

Por ejemplo, broadcast.py puede servir de base para revisar la compatibilidad de formas. Una petición útil identifica las dimensiones de entrada, la forma de salida esperada y el comportamiento requerido para entradas incompatibles. Pregunta cómo se usa después el resultado de la función, en lugar de tratar el ejemplo como un sistema numérico completo. El software proporciona el entorno de programación; tu proyecto determina la biblioteca de arrays, los datos y las comprobaciones en ejecución que necesita la tarea.

Puedes elegir modelos de IA sin restricciones cuando los exponga un endpoint compatible con OpenAI o de Anthropic admitido. Configura la dirección del servicio y las credenciales requeridas, y después comprueba sus capacidades para tu tarea. Revisa los cambios propuestos y prueba formas representativas, incluidas dimensiones vacías donde lo permita el contrato. Compara el comportamiento resultante con la biblioteca numérica de tu aplicación. Esto aporta evidencia de compatibilidad a la conversación sin confundir una explicación segura del modelo con un comportamiento numérico verificado.

Preguntas de revisión para trabajar con formas numéricas

¿Qué debe acompañar a un informe de incompatibilidad de formas?

Proporciona las formas de entrada, la operación que falla, el resultado esperado y la versión de la biblioteca pertinente. Un caso reproducible pequeño ayuda a conectar el síntoma con el código. Evita enviar un conjunto de datos grande cuando las dimensiones y valores representativos puedan explicar el problema.

¿Ofrece este entorno aceleración por GPU?

El flujo de programación no establece ninguna capacidad de aceleración. Las bibliotecas, el hardware y el entorno de ejecución de tu proyecto determinan la ejecución. Usa ShapeEstuary para inspeccionar y analizar cambios de código, y después mídelos y verifícalos donde se ejecuta el trabajo numérico.

¿Cómo deben tratarse las dimensiones de tamaño cero?

Indica si la aplicación las acepta y compara el comportamiento propuesto con su biblioteca de arrays. Prueba combinaciones válidas e incompatibles. No dejes que una regla genérica sobre dimensiones positivas sustituya silenciosamente un contrato existente que permite resultados vacíos.

¿Debo cambiar el código posterior cuando cambie la función auxiliar?

Inspecciona primero sus consumidores. Una forma de salida o un tipo de error diferente puede requerir actualizaciones coordinadas. Pide identificar los supuestos afectados y revisa después esos cambios conjuntamente, ejecutando pruebas que cubran la operación completa.

Descargar para Windows ↗

ShapeEstuary · Actualizado 2026-10-25