mirror of
https://github.com/vladmandic/automatic
synced 2026-08-27 15:41:00 +02:00
dc4c58d0cb
- Vendor IFNet_HDv3 v4.25 (5 IFBlocks, Head encoder, feat channel) and v4 warplayer with explicit (tenFlow_div, backwarp_tenGrid) signature - Rewrite RifeModel.inference for the new forward signature with per-(H,W,device,dtype) caching of tenFlow_div and backwarp_tenGrid - Force fp32 inference: bf16 produced visible checkerboard at the new IFNet's depth (was hidden by v3.9's shallower architecture) - Crop padded frames in interpolate_nchw before output (was missing, produced gray bar on non-128-aligned inputs) - Drop training scaffolding (AdamW, EPE/SOBEL, update method) - Log obsolete legacy v3.9 weights file on first v4.25 load instead of silently deleting user data - Default download URL is HolyWu vs-rife mirror (MIT, byte-identical upstream weights); swap to project-hosted URL before merge
13 lines
486 B
Python
13 lines
486 B
Python
import torch
|
|
import torch.nn.functional as F
|
|
|
|
|
|
def warp(tenInput, tenFlow, tenFlow_div, backwarp_tenGrid):
|
|
dtype = tenInput.dtype
|
|
tenInput = tenInput.to(torch.float)
|
|
tenFlow = tenFlow.to(torch.float)
|
|
|
|
tenFlow = torch.cat([tenFlow[:, 0:1] / tenFlow_div[0], tenFlow[:, 1:2] / tenFlow_div[1]], 1)
|
|
g = (backwarp_tenGrid + tenFlow).permute(0, 2, 3, 1)
|
|
return F.grid_sample(input=tenInput, grid=g, mode="bilinear", padding_mode="border", align_corners=True).to(dtype)
|