IPEX fix bicubic upsample with torchvision

pull/4039/head
Disty0 2025-07-06 18:19:55 +03:00
parent 526976eb64
commit 148b011692
2 changed files with 8 additions and 3 deletions

View File

@ -452,6 +452,12 @@ def ipex_hijacks():
torch.from_numpy = from_numpy torch.from_numpy = from_numpy
torch.as_tensor = as_tensor torch.as_tensor = as_tensor
try:
import torchvision
torchvision.transforms._functional_tensor.interpolate = interpolate
except Exception:
pass
# AMP: # AMP:
torch.amp.grad_scaler.GradScaler.__init__ = GradScaler_init torch.amp.grad_scaler.GradScaler.__init__ = GradScaler_init
torch.is_autocast_enabled = torch_is_autocast_enabled torch.is_autocast_enabled = torch_is_autocast_enabled

View File

@ -28,14 +28,13 @@ class ScriptPixelArt(scripts_postprocessing.ScriptPostprocessing):
if not pixelart_enabled: if not pixelart_enabled:
return return
from modules.postprocess.pixelart import img_to_pixelart, edge_detect_for_pixelart from modules.postprocess.pixelart import img_to_pixelart, edge_detect_for_pixelart
device = devices.device if devices.backend != "ipex" else devices.cpu
pixel_image = pp.image pixel_image = pp.image
if pixelart_use_edge_detection: if pixelart_use_edge_detection:
pixel_image = edge_detect_for_pixelart(pixel_image, image_weight=pixelart_image_weight, block_size=pixelart_edge_block_size, device=device) pixel_image = edge_detect_for_pixelart(pixel_image, image_weight=pixelart_image_weight, block_size=pixelart_edge_block_size, device=devices.device)
pp.info["PixelArt edge block size"] = pixelart_edge_block_size pp.info["PixelArt edge block size"] = pixelart_edge_block_size
pixel_image = img_to_pixelart(pixel_image, sharpen=pixelart_sharpen_amount, block_size=pixelart_block_size, device=device) pixel_image = img_to_pixelart(pixel_image, sharpen=pixelart_sharpen_amount, block_size=pixelart_block_size, device=devices.device)
if len(pixel_image) == 1: if len(pixel_image) == 1:
pixel_image = pixel_image[0] pixel_image = pixel_image[0]
pp.image = pixel_image pp.image = pixel_image