1
0
Fork 0

feat(api): server setting to select image format

This commit is contained in:
Sean Sube 2023-02-02 08:19:57 -06:00
parent 83992d9193
commit 6ce13096ed
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
3 changed files with 10 additions and 5 deletions

View File

@ -17,7 +17,7 @@ logger = getLogger(__name__)
def persist_s3(
_ctx: ServerContext,
ctx: ServerContext,
_stage: StageParams,
_params: ImageParams,
source_image: Image.Image,
@ -32,7 +32,7 @@ def persist_s3(
s3 = session.client('s3', endpoint_url=endpoint_url)
data = BytesIO()
source_image.save(data, format='png')
source_image.save(data, format=ctx.image_format)
data.seek(0)
try:

View File

@ -43,8 +43,8 @@ def json_params(
def save_image(ctx: ServerContext, output: str, image: Image.Image) -> str:
path = base_join(ctx.output_path, output)
image.save(path)
path = base_join(ctx.output_path, '%s.%s' % (output, ctx.image_format))
image.save(path, format=ctx.image_format)
return path

View File

@ -29,6 +29,7 @@ class ServerContext:
num_workers: int = 1,
block_platforms: List[str] = [],
default_platform: str = None,
image_format: str = 'png',
) -> None:
self.bundle_path = bundle_path
self.model_path = model_path
@ -38,6 +39,7 @@ class ServerContext:
self.num_workers = num_workers
self.block_platforms = block_platforms
self.default_platform = default_platform
self.image_format = image_format
@classmethod
def from_environ(cls):
@ -56,6 +58,9 @@ class ServerContext:
'ONNX_WEB_BLOCK_PLATFORMS', '').split(','),
default_platform=environ.get(
'ONNX_WEB_DEFAULT_PLATFORM', None),
image_format=environ.get(
'ONNX_WEB_IMAGE_FORMAT', 'png'
),
)
@ -155,7 +160,7 @@ def make_output_name(
for param in extras:
hash_value(sha, param)
return '%s_%s_%s_%s.png' % (mode, params.seed, sha.hexdigest(), now)
return '%s_%s_%s_%s' % (mode, params.seed, sha.hexdigest(), now)
def base_join(base: str, tail: str) -> str: