python 中的"__getitem__"
__getitem__(self,key):
把类中的属性定义为序列,可以使用__getitem__()函数输出序列属性中的某个元素,这个方法返回与指定键相关联的值。对序列来说,建是0~n-1的整数,其中n为序列的长度。对映射来说,键可以是任何类型。(比如字典)
如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P),就可以以P[key]形式取值,当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。当对类的属性进行下标的操作时,首先会被__getitem__()拦截,从而执行在__getitem__()方法中设定的操作,如赋值、修改内容、删改内容等。
class Python: def __init__(self,index): self.index = index def __getitem__(self,item): 各种处理操作 return img
简单来说,深度学习训练时,若想对数据集进行自己设定的预处理,就要使用__getitem__(self,key),对数据集中的每一个数据都进行这样的预处理操作。
甚至可以理解为
for i in range(len(dataset)):
对dataset[i]进行处理

浙公网安备 33010602011771号