首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将大型数据集从FiftyOne上传到CVAT

将大型数据集从FiftyOne上传到CVAT
EN

Stack Overflow用户
提问于 2021-11-01 12:56:16
回答 1查看 240关注 0票数 1

我正在尝试使用'annotate‘函数将大约15 in的数据从FiftyOne上传到CVAT,以便修复注释。该任务分为50个样本的作业。在示例上传过程中,我收到一个“error 504 Gateway Time-Out”错误。我可以在CVAT中看到图像,但它们没有当前注释。尝试使用'task_id‘单独上传注释,并在FiftyOne中更改'cvat.py’文件,但我无法加载更改后的注释。

我不能将其分解为多个任务,因为所有任务都具有相同的名称,这会带来不便。为了能够使用'load_annotations‘来更新数据集,我知道我必须使用'annotate’函数上传它(除非有其他方法)。

EN

回答 1

Stack Overflow用户

发布于 2021-11-02 16:31:57

现在管理此工作流的最好方法是将注释分解为多个任务,然后使用upload them to one CVAT project对它们进行分组和管理。

例如:

代码语言:javascript
复制
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart").clone()


# The label schema is automatically inferred from the existing labels
# Alternatively, it can be specified with the `label_schema` kwarg 
# when calling `annotate()`

label_field = "ground_truth"


# Upload batches of your dataset to different tasks
# all stored in the same project

project_name = "multiple_task_example"
anno_keys = []

for i in range(int(len(dataset)/50)):
    anno_key = "example_%d" % i
    view = dataset.skip(i*50).limit(50)

    view.annotate(
        anno_key,
        label_field=label_field,
        project_name=project_name,
    )
    anno_keys.append(anno_key)


# Annotate in CVAT...


# Load all annotations and cleanup tasks/project when complete
anno_keys = dataset.list_annotation_runs()  
for anno_key in anno_keys:
    dataset.load_annotations(anno_key, cleanup=True)
    dataset.delete_annotation_run(anno_key)      

上传到现有任务和project_name参数将在下一个版本中可用。如果你想立即使用它,你可以从源码https://github.com/voxel51/fiftyone#installing-from-source安装FiftyOne。

对于像您这样的大型CVAT注释作业,我们正在进行进一步的优化和稳定性改进。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69797248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档