我正在尝试使用 Detectron2 训练模型。我正在使用 Grocery 图像数据,并且有 COCO 格式的注释。我在加载模型时遇到问题。模型不接受注释。我指的是这个博客https://gilberttanner.com/blog/detectron2-train-a-instance-segmentation-model.
注册数据集时遇到问题。
from detectron2.data.datasets import register_coco_instances
for d in ["train", "test"]:
register_coco_instances(f"microcontroller_{d}", {}, f"Microcontroller Segmentation/{d}.json", f"Microcontroller Segmentation/{d}")
这段代码有什么问题吗?
我想这可能对你有帮助
from detectron2.data.datasets import register_coco_instances
register_coco_instances("YourTrainDatasetName", {},"path to train.json", "path to train image folder")
register_coco_instances("YourTestDatasetName", {}, "path to test.json", "path to test image folder")
让我知道它是否适合你。我已经用这个训练了 detectron2 :)
任何人(比如我)都在寻找数据集正确注册的证据。
注册数据集后(像这样):
from detectron2.data.datasets import register_coco_instances
register_coco_instances("coco_custom", {}, "./data/annotations/instances.json", "./data/images/")
您可以获得元数据:
nuts_metadata = MetadataCatalog.get('coco_custom')
dataset_dicts = DatasetCatalog.get("coco_custom")
并可视化数据:
import random
from detectron2.utils.visualizer import Visualizer
import matplotlib.pyplot as plt
for d in random.sample(dataset_dicts, 3):
img = cv2.imread(d["file_name"])
visualizer = Visualizer(img[:, :, ::-1], metadata=nuts_metadata , scale=0.5)
vis = visualizer.draw_dataset_dict(d)
plt.imshow(vis.get_image()[:, :, ::-1])
这样你就可以看到是否一切都正确导入