Spaces:
Sleeping
Sleeping
File size: 1,838 Bytes
4bc44be e82bde7 4bc44be f5d47ae 4bc44be feda03d e82bde7 7bab844 e82bde7 4bc44be e82bde7 4bc44be 538cb81 f5d47ae 538cb81 f5d47ae e82bde7 305d9e4 e82bde7 305d9e4 e82bde7 305d9e4 e82bde7 305d9e4 e82bde7 305d9e4 e82bde7 305d9e4 e82bde7 305d9e4 e82bde7 305d9e4 e82bde7 f5d47ae e82bde7 f5d47ae e82bde7 feda03d f5d47ae feda03d 7bab844 e82bde7 feda03d e82bde7 feda03d e82bde7 feda03d e82bde7 538cb81 305d9e4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | # =====================================================
# Apckeyl_RealESRGAN
# Version 13.0
# official_tile_processor.py
# =====================================================
import torch
class OfficialTileProcessor:
"""
CPU Optimized Version.
Batch отключён.
Причина:
на CPU HuggingFace Batch оказался
медленнее последовательной обработки.
Архитектура сохранена.
При переходе на GPU Batch можно будет
включить одной функцией.
"""
def __init__(self, engine):
self.engine = engine
# -------------------------------------------------
def inference(self, tensor):
with torch.inference_mode():
return self.engine.infer(
tensor
)
# -------------------------------------------------
def process(self, tensors):
outputs = []
total = len(tensors)
print()
print("===== CPU FAST MODE =====")
print(f"Tiles : {total}")
print("=========================")
print()
for index, tensor in enumerate(
tensors,
start=1
):
print(
f"Tile {index}/{total}"
)
outputs.append(
self.inference(
tensor
)
)
return outputs
# -------------------------------------------------
def process_tiles(
self,
tensors
):
return self.process(
tensors
)
# -------------------------------------------------
def process_batch(
self,
tensors
):
return self.process(
tensors
) |