小编Utk*_*Pal的帖子

即使有 4 个文件,AzureML Dataset.File.from_files 创建速度也非常慢

我的 BlobStorage 中有几千个视频文件,我将其设置为数据存储。此 Blob 存储每天晚上都会收到新文件,我需要拆分数据并将每个拆分注册为新版本的 AzureML 数据集。

这就是我进行数据分割的方式,只需获取 blob 路径并分割它们即可。

container_client = ContainerClient.from_connection_string(AZ_CONN_STR,'keymoments-clips')
blobs = container_client.list_blobs('soccer')
blobs = map(lambda x: Path(x['name']), blobs)
train_set, test_set = get_train_test(blobs, 0.75, 3, class_subset={'goal', 'hitWoodwork', 'penalty', 'redCard', 'contentiousRefereeDecision'})
valid_set, test_set = split_data(test_set, 0.5, 3)
Run Code Online (Sandbox Code Playgroud)

train_set, test_set, valid_set只是包含 blob 存储路径和类的 nx2 numpy 数组。

这是我尝试创建数据集的新版本时的情况:

datastore = Datastore.get(workspace, 'clips_datastore')

dataset_train = Dataset.File.from_files([(datastore, b) for b, _ in train_set[:4]], validate=True, partition_format='**/{class_label}/*.mp4')
dataset_train.register(workspace, 'train_video_clips', create_new_version=True)
Run Code Online (Sandbox Code Playgroud)

即使只有 4 个路径,数据集创建似乎也会无限期挂起,这怎么可能?我在文档中看到提供一个列表Tuple[datastore, path]是完全可以的。你知道为什么吗?

谢谢

azure-sdk-python azure-machine-learning-service

5
推荐指数
1
解决办法
1708
查看次数