by Anonymous » 13 Feb 2025, 06:19
Ich verwende mlx.data, um einen Bilddatensatz zu laden, in dem jede Klasse durch einen separaten Ordner dargestellt wird. Meine Funktionsdateien_and_classes generiert eine Liste von Wörterbüchern, die Dateipfade und entsprechende Beschriftungen enthalten. < /P>
Hier ist mein Code: < /p>
Code: Select all
from pathlib import Path
import mlx.data as dx
def files_and_classes(root: Path):
"""Load the files and classes from an image dataset that contains one folder per class."""
images = list(root.rglob("*.jpg"))
categories = [p.relative_to(root).parent.name for p in images]
category_set = set(categories)
category_map = {c: i for i, c in enumerate(sorted(category_set))}
return [
{
"file": str(p.relative_to(root)).encode("ascii"),
"label": category_map[c]
}
for c, p in zip(categories, images)
]
sample = files_and_classes(Path('/Users/kimduhyeon/Desktop/d2f/mlx/val'))
print(sample[0])
dset = dx.buffer_from_vector(sample)
print(dset[0])
< /code>
Erwartete Ausgabe:
Ich habe erwartet, dass jeder Eintrag in DSET den richtigen Dateipfad als Byte -Zeichenfolge und die entsprechende Beschriftung enthält. < /p>
Tatsächliche Ausgabe:
Das erste Wörterbuch druckt korrekt aus der Probe [0]: < /p>
{'file': b'film/000017270027.jpg', 'label': 1}
Bei dem Zugriff auf DSET [0] ist das Dateifeld jedoch leer:
Code: Select all
{'label': array(1), 'file': array([], dtype=int8)}
Frage:
Warum wird das Dateifeld als leeres Array angezeigt (Array ([], dType = int8)) Bei konvertiertem in einen mlx.data -Puffer? Gibt es eine bestimmte Datentypanforderung für mlx.data.buffer_from_vector? Wie soll ich das Feld Datei richtig formatieren, um dieses
Problem zu vermeiden?
Ich verwende mlx.data, um einen Bilddatensatz zu laden, in dem jede Klasse durch einen separaten Ordner dargestellt wird. Meine Funktionsdateien_and_classes generiert eine Liste von Wörterbüchern, die Dateipfade und entsprechende Beschriftungen enthalten. < /P>
Hier ist mein Code: < /p>
[code]from pathlib import Path
import mlx.data as dx
def files_and_classes(root: Path):
"""Load the files and classes from an image dataset that contains one folder per class."""
images = list(root.rglob("*.jpg"))
categories = [p.relative_to(root).parent.name for p in images]
category_set = set(categories)
category_map = {c: i for i, c in enumerate(sorted(category_set))}
return [
{
"file": str(p.relative_to(root)).encode("ascii"),
"label": category_map[c]
}
for c, p in zip(categories, images)
]
sample = files_and_classes(Path('/Users/kimduhyeon/Desktop/d2f/mlx/val'))
print(sample[0])
dset = dx.buffer_from_vector(sample)
print(dset[0])
< /code>
Erwartete Ausgabe:
Ich habe erwartet, dass jeder Eintrag in DSET den richtigen Dateipfad als Byte -Zeichenfolge und die entsprechende Beschriftung enthält. < /p>
Tatsächliche Ausgabe:
Das erste Wörterbuch druckt korrekt aus der Probe [0]: < /p>
{'file': b'film/000017270027.jpg', 'label': 1}[/code]
Bei dem Zugriff auf DSET [0] ist das Dateifeld jedoch leer:
[code]{'label': array(1), 'file': array([], dtype=int8)}[/code]
[b] Frage: [/b]
Warum wird das Dateifeld als leeres Array angezeigt (Array ([], dType = int8)) Bei konvertiertem in einen mlx.data -Puffer? Gibt es eine bestimmte Datentypanforderung für mlx.data.buffer_from_vector? Wie soll ich das Feld Datei richtig formatieren, um dieses [url=viewtopic.php?t=11587]Problem[/url] zu vermeiden?