pycocotools のインストール問題を解決します: pycocotools という名前のモジュールがありません

1. 問題解決のプロセス

ターゲット検出モデル fast_rcnn を実装するには、モデルのトレーニングに coco データ セットを使用する準備をします。ここで、coco データ セットをインポートし、データ セット処理を実行する必要があります。

import torch
import torchvision
import torch.utils.data
from pycocotools.coco import COCO


def convert_to_coco_api(ds):
    coco_ds = COCO()
    # annotation IDs need to start at 1, not 0
    ann_id = 1
    dataset = {
    
    'images': [], 'categories': [], 'annotations': []}
    categories = set()
    for img_idx in range(len(ds)):
        # find better way to get target
        hw, targets = ds.coco_index(img_idx)
        image_id = targets["image_id"].item()
        img_dict = {
    
    }
        img_dict['id'] = image_id
        img_dict['height'] = hw[0]
        img_dict['width'] = hw[1]
        dataset['images'].append(img_dict)
        bboxes = targets["boxes"]
        bboxes[:, 2:] -= bboxes[:, :2]
        bboxes = bboxes.tolist()
        labels = targets['labels'].tolist()
        areas = targets['area'].tolist()
        iscrowd = targets['iscrowd'].tolist()
        num_objs = len(bboxes)
        for i in range(num_objs):
            ann = {
    
    }
            ann['image_id'] = image_id
            ann['bbox'] = bboxes[i]
            ann['category_id'] = labels[i]
            categories.add(labels[i])
            ann['area'] = areas[i]
            ann['iscrowd'] = iscrowd[i]
            ann['id'] = ann_id
            dataset['annotations'].append(ann)
            ann_id += 1
    dataset['categories'] = [{
    
    'id': i} for i in sorted(categories)]
    coco_ds.dataset = dataset
    coco_ds.createIndex()
    return coco_ds


def get_coco_api_from_dataset(dataset):
    for _ in range(10):
        if isinstance(dataset, torchvision.datasets.CocoDetection):
            break
        if isinstance(dataset, torch.utils.data.Subset):
            dataset = dataset.dataset
    if isinstance(dataset, torchvision.datasets.CocoDetection):
        return dataset.coco
    return convert_to_coco_api(dataset)

运行出现 ここに画像の説明を挿入
現在の環境にはpycocotoolsモジュールが存在しないため、モジュールが必要であると結論付けることができます。

pip install pycocotools

------报错了-------
ここに画像の説明を挿入
次に、クエリには gitee からダウンロードする方法があります

pip install git+https://gitee.com/pursuit_zhangyu/cocoapi.git#subdirectory=PythonAPI

------报错了-------
ここに画像の説明を挿入
上記のエラー メッセージがモジュールの不足であることが判明した場合はCython、Cython モジュールをダウンロードしてください。

pip install Cython

その後、前のステップに進みます

pip install git+https://gitee.com/pursuit_zhangyu/cocoapi.git#subdirectory=PythonAPI

------还是不行-------

最終的に、Linux のダウンロードは上記の操作であることがわかりました。私は風が強いので、次の手順に従う必要があります。

pip install pycocotools-windows

ここに画像の説明を挿入
成功!!

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_45973897/article/details/130264131