@@ -134,10 +134,11 @@ def datatype_converter(
134
134
np.float32.
135
135
136
136
Returns:
137
- Converted datatype for TFDS.
137
+ Converted datatype for TFDS, or None when a Field does not specify a type .
138
138
139
139
Raises:
140
- NotImplementedError
140
+ NotImplementedError when the feature is not supported yet, or ValueError
141
+ when a Field is malformed.
141
142
"""
142
143
if field .is_enumeration :
143
144
raise NotImplementedError ('Not implemented yet.' )
@@ -151,7 +152,7 @@ def datatype_converter(
151
152
field_data_type = field .data_type
152
153
153
154
if not field_data_type :
154
- # Fields with sub fields are of type None
155
+ # Fields with sub fields are of type None.
155
156
if field .sub_fields :
156
157
feature = features_dict .FeaturesDict (
157
158
{
@@ -170,8 +171,8 @@ def datatype_converter(
170
171
feature = dtype_mapping [field_data_type ]
171
172
elif enp .lazy .is_np_dtype (field_data_type ):
172
173
feature = field_data_type
173
- # We return a text feature for mlc.DataType.DATE and mlc.DataType.TIME
174
- # features .
174
+ # We return a text feature for date-time features ( mlc.DataType.DATE,
175
+ # mlc.DataType.DATETIME, and mlc.DataType.TIME) .
175
176
elif field_data_type == pd .Timestamp or field_data_type == datetime .time :
176
177
feature = text_feature .Text (doc = field .description )
177
178
elif field_data_type == mlc .DataType .IMAGE_OBJECT :
@@ -195,7 +196,9 @@ def datatype_converter(
195
196
doc = field .description , sample_rate = field .source .sampling_rate
196
197
)
197
198
else :
198
- raise ValueError (f'Unknown data type: { field_data_type } .' )
199
+ raise ValueError (
200
+ f'Unknown data type: { field_data_type } for field { field .id } .'
201
+ )
199
202
200
203
if feature and field .is_array :
201
204
feature = array_datatype_converter (
0 commit comments