1
0
Fork 0
onnx-web/api/onnx_web/chain/persist_disk.py

46 lines
1.1 KiB
Python
Raw Normal View History

2023-01-28 23:09:19 +00:00
from logging import getLogger
from typing import List, Optional
2023-02-05 13:53:26 +00:00
2023-01-28 15:08:59 +00:00
from PIL import Image
2023-02-05 13:53:26 +00:00
from ..output import save_image
from ..params import ImageParams, Size, SizeChart, StageParams
2023-02-26 05:49:39 +00:00
from ..server import ServerContext
2023-02-26 20:15:30 +00:00
from ..worker import WorkerContext
from .base import BaseStage
from .result import StageResult
2023-01-28 15:08:59 +00:00
2023-01-28 23:09:19 +00:00
logger = getLogger(__name__)
2023-01-28 15:08:59 +00:00
class PersistDiskStage(BaseStage):
max_tile = SizeChart.max
def run(
self,
_worker: WorkerContext,
server: ServerContext,
_stage: StageParams,
params: ImageParams,
sources: StageResult,
*,
output: List[str],
2023-09-11 04:20:49 +00:00
size: Optional[Size] = None,
stage_source: Optional[Image.Image] = None,
**kwargs,
) -> StageResult:
2023-11-20 00:39:39 +00:00
logger.info("persisting %s images to disk: %s", len(sources), output)
2023-11-06 14:48:35 +00:00
2024-01-06 02:11:58 +00:00
for name, source, metadata in zip(
output, sources.as_images(), sources.metadata
):
2024-01-03 03:49:22 +00:00
dest = save_image(
server,
name,
source,
2024-01-06 02:11:58 +00:00
metadata=metadata,
2024-01-03 04:14:21 +00:00
)
logger.info("saved image to %s", dest)
return sources