in classy_vision/dataset/classy_ucf101.py [0:0]
def from_config(cls, config: Dict[str, Any]) -> "UCF101Dataset":
"""Instantiates a UCF101Dataset from a configuration.
Args:
config: A configuration for a UCF101Dataset.
See :func:`__init__` for parameters expected in the config.
Returns:
A UCF101Dataset instance.
"""
required_args = ["split", "metadata_file", "video_dir", "splits_dir"]
assert all(
arg in config for arg in required_args
), f"The arguments {required_args} are all required."
split = config["split"]
(
transform_config,
batchsize_per_replica,
shuffle,
num_samples,
frames_per_clip,
video_width,
video_height,
video_min_dimension,
audio_samples,
step_between_clips,
frame_rate,
clips_per_video,
) = cls.parse_config(config)
transform = build_video_field_transform_default(transform_config, split)
return cls(
split,
batchsize_per_replica,
shuffle,
transform,
num_samples,
frames_per_clip,
video_width,
video_height,
video_min_dimension,
audio_samples,
step_between_clips,
frame_rate,
clips_per_video,
config["video_dir"],
config["splits_dir"],
config["fold"]
if "fold" in config
else 1, # UCF101 has 3 folds. Use fold 1 by default
config["metadata_file"],
)