Spaces:
Runtime error
Runtime error
Download lib/MiVOS_STCN/model/aggregate.py from Lim-Kevin/VideoInpainterHF: direct link, hf CLI and curl.
- Browser
- Download file 1.44 kB
-
https://huggingface.co/spaces/Lim-Kevin/VideoInpainterHF/resolve/main/lib/MiVOS_STCN/model/aggregate.py
- Command line
-
hf download hf://spaces/Lim-Kevin/VideoInpainterHF/lib/MiVOS_STCN/model/aggregate.py
-
curl -L -o aggregate.py https://huggingface.co/spaces/Lim-Kevin/VideoInpainterHF/resolve/main/lib/MiVOS_STCN/model/aggregate.py
1.44 kB
| import torch | |
| import torch.nn.functional as F | |
| def aggregate_sbg(prob, keep_bg=False, hard=False): | |
| device = prob.device | |
| k, _, h, w = prob.shape | |
| ex_prob = torch.zeros((k+1, 1, h, w), device=device) | |
| ex_prob[0] = 0.5 | |
| ex_prob[1:] = prob | |
| ex_prob = torch.clamp(ex_prob, 1e-7, 1-1e-7) | |
| logits = torch.log((ex_prob /(1-ex_prob))) | |
| if hard: | |
| # Very low temperature o((⊙﹏⊙))o 🥶 | |
| logits *= 1000 | |
| if keep_bg: | |
| return F.softmax(logits, dim=0) | |
| else: | |
| return F.softmax(logits, dim=0)[1:] | |
| def aggregate_wbg(prob, keep_bg=False, hard=False): | |
| k, _, h, w = prob.shape | |
| new_prob = torch.cat([ | |
| torch.prod(1-prob, dim=0, keepdim=True), | |
| prob | |
| ], 0).clamp(1e-7, 1-1e-7) | |
| logits = torch.log((new_prob /(1-new_prob))) | |
| if hard: | |
| # Very low temperature o((⊙﹏⊙))o 🥶 | |
| logits *= 1000 | |
| if keep_bg: | |
| return F.softmax(logits, dim=0) | |
| else: | |
| return F.softmax(logits, dim=0)[1:] | |
| def aggregate_wbg_channel(prob, keep_bg=False, hard=False): | |
| new_prob = torch.cat([ | |
| torch.prod(1-prob, dim=1, keepdim=True), | |
| prob | |
| ], 1).clamp(1e-7, 1-1e-7) | |
| logits = torch.log((new_prob /(1-new_prob))) | |
| if hard: | |
| # Very low temperature o((⊙﹏⊙))o 🥶 | |
| logits *= 1000 | |
| if keep_bg: | |
| return logits, F.softmax(logits, dim=1) | |
| else: | |
| return logits, F.softmax(logits, dim=1)[:, 1:] |