我正在尝试编写一个数据生成器,我想从Keras继承ImageDataGenerator对象。目的是在我自己的生成器中使用Keras模块的一些图像预处理功能
from keras.preprocessing.image import ImageDataGenerator
不幸的是,我仍在试图理解超级类是如何工作的和继承的,所以我很难调试我的代码。在
^{pr2}$当我试图创建一个对象时,我得到以下错误:
d = dataGenerator()
Traceback (most recent call last):
File "<ipython-input-10-44bd98315a72>", line 1, in <module>
d = dataGenerator()
File "C:/Users/joshu/Documents/Code/Self Driving Car/data_utils.py", line 152, in __init__
super(dataGenerator, self).init(*args, **kwargs)
AttributeError: 'super' object has no attribute 'init'
我引用的是GitHub上的mratsim代码示例:
[1]https://github.com/mratsim/Amazon_Forest_Computer_Vision/blob/master/src/k_dataloader.py
他继承了同一个物体。我猜这对他有用。。在
__init__
方法必须有4个下划线,就像您在它的def
部分所做的那样。在这是一个Python模式,父类也遵循这个模式:
主题外:通常,类名以大写字母开头,以区别于普通值变量。因此,
DataGenerator
将是一个更好的名称,遵循该建议。在super()在python3.x中工作,可能您使用的是python2.x
相关问题 更多 >
编程相关推荐