文件地址:maskrcnn-keypoint/maskrcnn_benchmark/data/transforms/transforms.py
这个文件我看了好久。
此函数主要是用于数据预处理、增强的,如resize,水平翻转RandomHorizontalFlip,数据转换ToTensor,归一化Normalize。是调用了torchvision.transforms.[地址]
这个放在最后,主要记录下__init__和__call__以及这里怎么用的。
一、__init__和__call__.
在Python中,函数其实是一个对象,由于 f 可以被调用,所以f被称为可调用对象。所有的函数都是可调用对象。:
>>> f = abs
>>> f.__name__
'abs'
>>> f(-123) #123
利用__call__()可以把一个类实例变成一个可调用对象。如把 Person 类变成一个可调用对象:
class Person(object):
#(object)表示该类是从哪个类继承下来的通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的.
def __init__(self, name, gender):
self.name = name
self.gender = gender
def say(self):
return("I am %s" % (self.name))
def __call__(self, friend):
print('My name is %s...' % self.name)
print('My friend is %s...' % friend)
现在可以对 Person 实例直接调用:
>>> pp=Person()
>>> pp
<__main__.Person object at 0x10a67a590>
>>> p = Person('Bob', 'male') #定义了一个类实例,传入类的参数‘name,gender’
>>> p(&#