Files
laksjdjf-cgem156-ComfyUI/scripts/wd-tagger/preprocess.py
T
2024-03-23 11:13:05 +09:00

17 lines
687 B
Python

import torch.nn.functional as F
def preprocess(tensor, target_size=448, padding_value=1, mode='bilinear'):
tensor = tensor.permute(0, 3, 1, 2)
_, _, h, w = tensor.size()
max_side = max(h, w)
padding_left = (max_side - w) // 2
padding_right = max_side - w - padding_left
padding_top = (max_side - h) // 2
padding_bottom = max_side - h - padding_top
tensor = F.pad(tensor, (padding_left, padding_right, padding_top, padding_bottom), value=padding_value)
tensor = F.interpolate(tensor, size=(target_size, target_size), mode=mode, align_corners=False)
tensor = tensor.flip(1) # RGB to BGR
tensor = (tensor - 0.5) / 0.5
return tensor