Slackbot
09/08/2023, 11:29 AMNicolas Jaccard
09/08/2023, 12:03 PMNicolas Jaccard
09/08/2023, 12:15 PMChaoyu
09/08/2023, 1:25 PMNicolas Jaccard
09/08/2023, 1:26 PMChaoyu
09/08/2023, 1:26 PMChaoyu
09/08/2023, 1:27 PMChaoyu
09/08/2023, 1:28 PMChaoyu
09/08/2023, 1:28 PMNicolas Jaccard
09/08/2023, 1:29 PMNicolas Jaccard
09/08/2023, 1:29 PMNicolas Jaccard
09/08/2023, 1:48 PMNicolas Jaccard
09/08/2023, 1:49 PMChaoyu
09/08/2023, 1:49 PMNicolas Jaccard
09/08/2023, 1:50 PM1.0.22 and the current version is modifying my input between the service and runnerChaoyu
09/08/2023, 1:51 PMNicolas Jaccard
09/08/2023, 1:58 PMChaoyu
09/08/2023, 2:00 PMFrost Ming
09/08/2023, 2:07 PMNicolas Jaccard
09/08/2023, 2:35 PM1.0.5 produced the exact same outputs.Nicolas Jaccard
09/08/2023, 2:36 PM1.0.22 also produces the correct results.Nicolas Jaccard
09/08/2023, 2:38 PMNicolas Jaccard
09/08/2023, 2:40 PMFrost Ming
09/11/2023, 1:08 AMFrost Ming
09/11/2023, 1:10 AMfrom io import BytesIO
import bentoml
from <http://bentoml.io|bentoml.io> import JSON, Image
from PIL.Image import Image as PILImage
class MyRunnable(bentoml.Runnable):
SUPPORTED_RESOURCES = ("cpu",)
SUPPORTS_CPU_MULTI_THREADING = False
@bentoml.Runnable.method()
def predict(self, image: PILImage):
buffer = BytesIO()
image.save(buffer, format=image.format)
return {
"size": image.size,
"format": image.format,
"length": len(buffer.getvalue()),
}
runner = bentoml.Runner(MyRunnable, name="runner")
svc = bentoml.Service("test_runner", runners=[runner])
@svc.api(input=Image(), output=JSON())
async def classify(input: PILImage) -> dict:
buffer = BytesIO()
input.save(buffer, format=input.format)
runner_result = await runner.predict.async_run(input)
return {
"input_size": input.size,
"input_format": input.format,
"input_length": len(buffer.getvalue()),
"runner_result": runner_result,
}Nicolas Jaccard
09/11/2023, 8:02 AMFrost Ming
09/15/2023, 8:42 AMNicolas Jaccard
09/18/2023, 1:45 PM