Skip to content

Conversation

@lhoestq
Copy link
Member

@lhoestq lhoestq commented Jun 25, 2025

following the addition of List in #7634

before:

In [3]: ds.features
Out[3]: 
{'json': {'id': Value(dtype='string', id=None),
  'metadata:transcript': [{'end': Value(dtype='float64', id=None),
    'start': Value(dtype='float64', id=None),
    'transcript': Value(dtype='string', id=None),
    'words': [{'end': Value(dtype='float64', id=None),
      'score': Value(dtype='float64', id=None),
      'start': Value(dtype='float64', id=None),
      'word': Value(dtype='string', id=None)}]}],
  'metadata:vad': [{'end': Value(dtype='float64', id=None),
    'start': Value(dtype='float64', id=None)}]},
 'mp4': Value(dtype='binary', id=None),
 'npz': {'boxes_and_keypoints:box': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'boxes_and_keypoints:is_valid_box': Sequence(feature=Value(dtype='bool', id=None), length=-1, id=None),
  'boxes_and_keypoints:keypoints': Sequence(feature=Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None), length=-1, id=None),
  'movement:EmotionArousalToken': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:EmotionValenceToken': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:FAUToken': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:FAUValue': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:alignment_head_rotation': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:alignment_translation': Sequence(feature=Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None), length=-1, id=None),
  'movement:emotion_arousal': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:emotion_scores': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:emotion_valence': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:expression': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:frame_latent': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:gaze_encodings': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:head_encodings': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:hypernet_features': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'movement:is_valid': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'smplh:body_pose': Sequence(feature=Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None), length=-1, id=None),
  'smplh:global_orient': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None),
  'smplh:is_valid': Sequence(feature=Value(dtype='bool', id=None), length=-1, id=None),
  'smplh:left_hand_pose': Sequence(feature=Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None), length=-1, id=None),
  'smplh:right_hand_pose': Sequence(feature=Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None), length=-1, id=None),
  'smplh:translation': Sequence(feature=Sequence(feature=Value(dtype='float32', id=None), length=-1, id=None), length=-1, id=None)},
 'wav': Audio(sampling_rate=None, mono=True, decode=True, id=None),
 '__key__': Value(dtype='string', id=None),
 '__url__': Value(dtype='string', id=None)}

after:

In [3]: ds.features
Out[3]: 
{'json': {'id': Value('string'),
  'metadata:transcript': List({'end': Value('float64'), 'start': Value('float64'), 'transcript': Value('string'), 'words': List({'end': Value('float64'), 'score': Value('float64'), 'start': Value('float64'), 'word': Value('string')})}),
  'metadata:vad': List({'end': Value('float64'), 'start': Value('float64')})},
 'mp4': Value('binary'),
 'npz': {'boxes_and_keypoints:box': List(List(Value('float32'))),
  'boxes_and_keypoints:is_valid_box': List(Value('bool')),
  'boxes_and_keypoints:keypoints': List(List(List(Value('float32')))),
  'movement:EmotionArousalToken': List(List(Value('float32'))),
  'movement:EmotionValenceToken': List(List(Value('float32'))),
  'movement:FAUToken': List(List(Value('float32'))),
  'movement:FAUValue': List(List(Value('float32'))),
  'movement:alignment_head_rotation': List(List(Value('float32'))),
  'movement:alignment_translation': List(List(List(Value('float32')))),
  'movement:emotion_arousal': List(List(Value('float32'))),
  'movement:emotion_scores': List(List(Value('float32'))),
  'movement:emotion_valence': List(List(Value('float32'))),
  'movement:expression': List(List(Value('float32'))),
  'movement:frame_latent': List(List(Value('float32'))),
  'movement:gaze_encodings': List(List(Value('float32'))),
  'movement:head_encodings': List(List(Value('float32'))),
  'movement:hypernet_features': List(List(Value('float32'))),
  'movement:is_valid': List(List(Value('float32'))),
  'smplh:body_pose': List(List(List(Value('float32')))),
  'smplh:global_orient': List(List(Value('float32'))),
  'smplh:is_valid': List(Value('bool')),
  'smplh:left_hand_pose': List(List(List(Value('float32')))),
  'smplh:right_hand_pose': List(List(List(Value('float32')))),
  'smplh:translation': List(List(Value('float32')))},
 'wav': Audio(sampling_rate=None, decode=True, stream_index=None),
 '__key__': Value('string'),
 '__url__': Value('string')}

@HuggingFaceDocBuilderDev

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@lhoestq lhoestq merged commit da59d68 into main Jun 25, 2025
13 of 15 checks passed
@lhoestq lhoestq deleted the better-features-repr branch June 25, 2025 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants