0
点赞
收藏
分享

微信扫一扫

深度学习从入门到精通——利用torchvision transforms自定义函数


自定义函数

import random
from torchvision.transforms import functional as F


### 随机组合
```python
class Compose(object):
"""组合多个transform函数"""

def __init__(self, transforms):
self.transforms = transforms

def __call__(self, image, target):
for t in self.transforms:
image, target = t(image, target)
return image, target

class ToTensor(object):
"""将PIL图像转为Tensor"""

def __call__(self, image, target):
image = F.to_tensor(image)
return image, target

随机

class RandomHorizontalFlip(object):
"""随机水平翻转图像以及bboxes"""

def __init__(self, prob=0.5):
self.prob = prob

def __call__(self, image, target):
if random.random() < self.prob:
height, width = image.shape[-2:]
image = image.flip(-1) # 水平翻转图片
bbox = target["boxes"]
# bbox: xmin, ymin, xmax, ymax
bbox[:, [0, 2]] = width - bbox[:, [2, 0]] # 翻转对应bbox坐标信息
target["boxes"] = bbox
return image, target


举报

相关推荐

0 条评论