Broadcastvormen van tensoren
Bepaal een gezamenlijke tensorvorm via achterste dimensies en uitbreiding van eenheidsassen.
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))Project
Test scalairen en lege assen naast eenheidsdimensies en weiger onverenigbare, negatieve of gebroken maten.
Controleer vóór het toepassen
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Modellen
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
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))Volg aannames over vormen door een numeriek project
ShapeEstuary biedt numeriek softwarewerk een Windows-werkruimte waarin een projectmap en een AI-gesprek verbonden blijven. Begin met de bewerking die mislukt of een onverwachte vorm teruggeeft. Vraag je gekozen model de omringende transformaties te inspecteren en hun aannames uit te leggen voordat je om een patch vraagt. Die aanpak houdt het onderzoek verbonden met de verwerkingsketen die het resultaat daadwerkelijk gebruikt.
Zo kan broadcast.py het uitgangspunt zijn voor een beoordeling van vormcompatibiliteit. Een nuttig verzoek benoemt de inkomende dimensies, de verwachte uitvoervorm en het vereiste gedrag voor onverenigbare invoer. Vraag hoe het resultaat van de hulpfunctie verderop wordt gebruikt, in plaats van het voorbeeld als een volledig numeriek systeem te behandelen. De software levert de programmeerwerkruimte; je project bepaalt welke arraybibliotheek, gegevens en runtimecontroles de taak nodig heeft.
Onbeperkte AI-modellen zijn te kiezen wanneer een ondersteund OpenAI-compatibel of Anthropic-endpoint ze aanbiedt. Stel het dienstadres en de vereiste toegangsgegevens in en controleer vervolgens de mogelijkheden voor jouw taak. Beoordeel voorgestelde wijzigingen en test representatieve vormen, inclusief lege dimensies waar je afspraken die toestaan. Vergelijk het resulterende gedrag met de numerieke bibliotheek die je toepassing gebruikt. Dit geeft het gesprek bewijs over compatibiliteit zonder een zelfverzekerde uitleg van een model te verwarren met geverifieerd numeriek gedrag.
Beoordelingsvragen voor numerieke vormen
Wat hoort bij een melding van niet-overeenkomende vormen?
Geef de invoervormen, de mislukte bewerking, het verwachte resultaat en de relevante bibliotheekversie mee. Een klein reproduceerbaar geval helpt het symptoom aan de broncode te koppelen. Stuur geen grote dataset als dimensies en representatieve waarden het probleem kunnen verklaren.
Biedt deze werkruimte GPU-versnelling?
Deze programmeerwerkwijze toont geen versnellingsmogelijkheid aan. De bibliotheken, hardware en runtime van je project bepalen de uitvoering. Gebruik ShapeEstuary om codewijzigingen te inspecteren en te bespreken, en meet en verifieer ze vervolgens in de omgeving waar het numerieke werk draait.
Hoe moeten dimensies van grootte nul worden behandeld?
Geef aan of de toepassing ze accepteert en vergelijk het voorgestelde gedrag met haar arraybibliotheek. Test geldige en onverenigbare combinaties. Laat een algemene regel over positieve dimensies niet stilzwijgend een bestaande afspraak vervangen die lege resultaten toestaat.
Moet ik verderop gebruikte code wijzigen wanneer de hulpfunctie verandert?
Inspecteer eerst de afnemers. Een andere uitvoervorm of ander fouttype kan afgestemde wijzigingen vereisen. Vraag de betrokken aannames te identificeren, beoordeel die wijzigingen daarna samen en voer tests uit die de volledige bewerking dekken.
ShapeEstuary · Bijgewerkt 2026-10-25