Finetuning loader requires pretraining reconstruction targets (uv_face_points/uv_edge_points) that the CE loss never uses
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- machine-learning
Línea de trabajo
Comienza en datasets/finetuning_dataset.py siguiendo load_face y load_one_sample, y luego compara sus comprobaciones con los objetivos de classification.py y segmentation.py. Confirma que los registros de clasificación y segmentación sin objetivos de reconstrucción se cargan correctamente, mientras que los objetivos siguen comprobándose cuando un objetivo los utiliza; prueba tanto casos de claves faltantes como casos de formas no válidas para verificar el comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The finetuning data loader hard-requires the pretraining reconstruction targets
(uv_face_points and uv_edge_points) for every sample, including classification
and segmentation runs, even though the downstream cross-entropy loss never reads
them. This makes preparing a new labeled downstream dataset harder than it needs to
be: you must run the pretraining target-sampling step to attach reconstruction
targets to data that will only ever be used for a class/segmentation head.
Where
datasets/finetuning_dataset.py:
load_facelistsuv_face_pointsinrequired_keysand raisesKeyErrorif it
is absent.load_one_sampleadditionally asserts the shapes:face["uv_face_points"].shape == (num_faces, 3, 3, 3)topo["uv_edge_points"].shape == (num_edges, 3, 3)
and raisesValueErrorotherwise.
The finetune objectives in classification.py and segmentation.py compute
F.cross_entropy(logits, labels) and never consume uv_face_points or
uv_edge_points.
Why it matters
When bringing a new labeled dataset to the finetune loader (per-face labels for
segmentation, or a class label per solid), the face and topo files produced by the
tokenizer / topology step do not carry uv_face_points / uv_edge_points; those
are attached by the pretraining target-sampling stage. As a result the loader
rejects otherwise-complete finetune records with a KeyError/ValueError for a
target the task does not use. In practice this forces users to graft or recompute
reconstruction targets purely to satisfy a validation check.
Suggestion
Gate the uv_face_points / uv_edge_points requirement on the task. For
classification and segmentation, treat them as optional (skip the key check and the
shape assertions when absent), and require them only for objectives that actually
use them. A minimal version is to move those two keys out of the unconditional
required_keys set and behind an if "uv_face_points" in labels: shape check.
Happy to send a small PR if that direction is agreeable.
- Lenguaje dominante
- Python
- Estrellas
- 14
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de thuml/Brep2Shape
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
thuml/Brep2Shape#6 ·
-
Edge/face transformer attention is O(E^2) per part with no cap, OOMs on high-edge-count B-repsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
thuml/Brep2Shape#3 ·
Todos los issues de thuml/Brep2Shape
Issues similares
-
README.zh-CN/ja/es still hard-code 501 test counts after README.md went count-freePosiblemente ocupada @Aaqibhafeezkhan la tomó hoy. Abiertobeginner documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
BistaDinesh03/critique#164 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug IO
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
MrNeRF/LichtFeld-Studio#3824 ·
Los mantenedores suelen responder en 1 día
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
open-webui/open-webui#33200 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Lychee link check failedAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkPosiblemente ocupada @ocelotl la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
open-telemetry/opentelemetry-python#5825 ·
Los mantenedores suelen responder en 2 días