Issues with user-defined codecs
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne damit, das bereitgestellte Python-Beispiel zu reproduzieren, und lies die register_codec-Callbacks zusammen mit der asarray-Blockkonfiguration. Vergleiche die Eingabe- und Ausgabegrößen für den letzten Block und bestimme dann, wie der Codec diesen Teilblock behandeln soll; erledigt ist die Aufgabe, wenn das Beispiel ohne den Broadcast-Fehler abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I'm facing issues when creating a simple codec that just makes a copy of the data to get familiar with Blosc's registering machinery. I attach the code:
import blosc2
import numpy as np
# Create an User-defined codec (just a memcpy)
def encoder(input, output, meta, schunk: blosc2.SChunk):
print(f"Encoder output size: {output.size}")
output[:schunk.blocksize] = input[:schunk.blocksize]
return schunk.blocksize
def decoder(input, output, meta, schunk: blosc2.SChunk):
output[:schunk.blocksize] = input[:schunk.blocksize]
return schunk.blocksize
# Register the codec
codec_id = 200
blosc2.register_codec('test1', codec_id, encoder, decoder)
# Compress this array with the new codec
shape = (100, 100)
a = np.ones(shape, dtype=np.int64)
cparams = {
'codec': codec_id,
'nthreads': 1,
'filters': [],
'splitmode': blosc2.SplitMode.NEVER_SPLIT,
}
dparams = {
'nthreads': 1,
}
chunks = shape
blocks = (50, 50)
c_a = blosc2.asarray(a, chunks=chunks, blocks=blocks, cparams=cparams, dparams=dparams)
However, when I run the previous code, I get the following:
Encoder output size: 20000
Encoder output size: 20000
Encoder output size: 20000
Encoder output size: 19968
ValueError: could not broadcast input array from shape (20000,) into shape (19968,)
Looking at this, it appears that the last block of the chunk is smaller than the others. Do you know what is happening? Is there something I'm doing wrong?
- Vorherrschende Sprache
- Python
- Sterne
- 211
- Forks
- 66
- Ø Merge
- 2 T. 1 Std.
- Gemergte PRs (30 T.)
- 15
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Blosc/python-blosc2
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Blosc/python-blosc2#731 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Blosc/python-blosc2#720 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Blosc/python-blosc2#717 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
Blosc/python-blosc2#714 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation sustain-2026
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Blosc/python-blosc2#710 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in Blosc/python-blosc2
Ähnliche Issues
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
pytest-dev/pluggy#757 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
NousResearch/hermes-agent#134960 ·
Maintainer antworten meist innerhalb von 1 Tag
-
HTML backend: `<br>` leaks the internal sentinel U+E000 into list items, headings and captionsEvtl. vergeben @morten-lagabote hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
docling-project/docling#4671 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue hacktoberfest infra
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag