You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
"julia" format silently changes column dtypes (integers to Int64, Float64 to Float32) #78
The "julia" format sets the Python format to "numpy" (src/dataset.jl:433), and datasets' NumpyFormatter._tensorize casts every integer array to np.int64 and every floating-point array to np.float32, regardless of the column's feature type. So under the default format:
A uint16 column (e.g. pre-tokenized LM data) comes back 4× larger as Int64.
A float64 column silently loses precision.
Since the "julia" format is now the default, users get this without asking for it. It would be better to keep the Arrow dtype, for example with a "julia" formatter that skips the default-dtype cast (or passes dtype=None), or at least to document it.
Environment: HuggingFaceDatasets v0.4.2 (the relevant code is unchanged on master), Python datasets 4.8.5, Julia 1.13.2.
Activity
CarloLucibello commentedon Oct 19, 2026
yes we should decouple the
juliaformat from thenumpyoneKeep each column's dtype in the "julia" format
Keep each column's dtype in the "julia" format (#86)