我有3个文件,factory_imagenet.py、imdb.py和imagenet.py

factory_imagenet.py有:import datasets.imagenet

它还有一个函数调用datasets.imagenet.imagenet(split,devkit_path))

...

imdb.py有:class imdb(object):

def __init__(self, name):

self._name = name

...

imagenet.py有:import datasets

import datasets.imagenet

import datasets.imdb

它也有class imagenet(datasets.imdb):

def __init__(self, image_set, devkit_path=None):

datasets.imdb.__init__(self, image_set)

这三个文件都在datasets文件夹中。

当我运行与这些文件交互的另一个脚本时,会出现以下错误:Traceback (most recent call last):

File "./tools/train_faster_rcnn_alt_opt.py", line 19, in

from datasets.factory_imagenet import get_imdb

File "/mnt/data2/abhishek/py-faster-rcnn/tools/../lib/datasets/factory_imagenet.py", line 12, in

import datasets.imagenet

File "/mnt/data2/abhishek/py-faster-rcnn/tools/../lib/datasets/imagenet.py", line 21, in

class imagenet(datasets.imdb):

TypeError: Error when calling the metaclass bases

module.__init__() takes at most 2 arguments (3 given)

这里的问题是什么,如何解决这种继承问题的直观解释是什么?

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐