From 6c8e437145eb45f26b63e9b90ab6f0ca7325bc58 Mon Sep 17 00:00:00 2001 From: Anne Reinarz Date: Fri, 17 May 2024 12:46:19 +0100 Subject: [PATCH] minimal server example for julia --- models/testmodel-julia/Dockerfile | 13 +++++++++++++ models/testmodel-julia/minimal-server.jl | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 models/testmodel-julia/Dockerfile create mode 100644 models/testmodel-julia/minimal-server.jl diff --git a/models/testmodel-julia/Dockerfile b/models/testmodel-julia/Dockerfile new file mode 100644 index 0000000..ae54a92 --- /dev/null +++ b/models/testmodel-julia/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:latest + +COPY minimal-server.jl / + +RUN apt update && \ + DEBIAN_FRONTEND="noninteractive" apt install -y curl + +ENV JULIA_PATH /usr/local/julia +ENV PATH $JULIA_PATH/bin:$PATH + +RUN curl -fsSL https://install.julialang.org | sh -s -- -y + +#CMD julia minimal-server.jl diff --git a/models/testmodel-julia/minimal-server.jl b/models/testmodel-julia/minimal-server.jl new file mode 100644 index 0000000..666e532 --- /dev/null +++ b/models/testmodel-julia/minimal-server.jl @@ -0,0 +1,18 @@ +import Pkg + +tempdir = mktempdir() +Pkg.activate(tempdir) +Pkg.add(["UMBridge"]) + +using UMBridge + +testmodel = UMBridge.Model( + name = "forward", + inputSizes = [1], + outputSizes = [1], + supportsGradient = true, + evaluate = (input, config) -> 2 * input[1], + gradient = (outWrt, inWrt, input, sens, config) -> 2 * sens[1] +) + +UMBridge.serve_models([testmodel], 4242)