Ejemplo n.º 1
0
import suanpan
from suanpan.app import app
from suanpan.app.arguments import String


@app.input(String(key="inputData1", alias="name", default="Suanpan"))
@app.output(String(key="outputData1", alias="result"))
def hello_world(context):
    args = context.args
    return f"Hello World, {args.name}!"


if __name__ == "__main__":
    suanpan.run(app)
Ejemplo n.º 2
0
# coding=utf-8
from __future__ import absolute_import, print_function

from suanpan.stream import Handler as h
from suanpan.stream import Stream
from suanpan.stream.arguments import String
import suanpan


class DemoIn1Out1(Stream):
    @h.input(String(key="inputData1", required=True))
    @h.output(String(key="outputData1", required=True))
    def call(self, context):
        args = context.args
        return args.inputData1


if __name__ == "__main__":
    suanpan.run(DemoIn1Out1)
Ejemplo n.º 3
0
# coding=utf-8
from __future__ import absolute_import, print_function

import suanpan
from suanpan.spark import SparkComponent as sc
from suanpan.spark.arguments import ListOfString, Table


@sc.input(
    Table(key="inputData", table="inputTable", partition="inputPartition"))
@sc.column(ListOfString(key="columns"))
@sc.output(
    Table(key="outputData", table="outputTable", partition="outputPartition"))
def Demo(context):
    args = context.args

    df = args.inputData

    if args.columns:
        df = df.select(args.columns)

    return df


if __name__ == "__main__":
    suanpan.run(Demo)
Ejemplo n.º 4
0
# coding=utf-8
from __future__ import absolute_import, print_function

import suanpan
from suanpan.stream import Handler as h
from suanpan.stream import Stream
from suanpan.stream.arguments import String


class DemoIn1Out2(Stream):
    @h.input(String(key="inputData1", required=True))
    @h.output(String(key="outputData1", required=True))
    @h.output(String(key="outputData2", required=True))
    def call(self, context):
        args = context.args
        return args.inputData1, args.inputData1


if __name__ == "__main__":
    suanpan.run(DemoIn1Out2)
Ejemplo n.º 5
0
# coding=utf-8
from __future__ import absolute_import, print_function

import suanpan
from suanpan.stream import Handler as h
from suanpan.stream import Stream
from suanpan.stream.arguments import String


class DemoIn1Out2Send2nd(Stream):
    @h.input(String(key="inputData1", required=True))
    @h.output(String(key="outputData1", required=True))
    @h.output(String(key="outputData2", required=True))
    def call(self, context):
        args = context.args
        self.send({"outputData2": args.inputData1})


if __name__ == "__main__":
    suanpan.run(DemoIn1Out2Send2nd)
Ejemplo n.º 6
0
        Float(key="param1", alias="duration", default=10),  # 设置加载模型duration参数
    ]

    def afterInit(self):  # 初始化模型
        self.model = ModelDemo()
        self.model.setLoader(storagePath=self.args.model1, version="latest")
        self.model.load(self.model.path)

    def afterCall(self):  # 在每一次call()之后,检查是否有新的模型版本, 有的话会自动下载相应版本模型文件夹
        self.model.reload(self.args.duration)

    @h.input(Json(key="inputData1", required=True))
    @h.output(Json(key="outputData1"))
    def call(self, context):

        args = context.args

        inputData = args.inputData1
        print("input data: {}".format(inputData))

        features = None  # 获取数据

        outputData = self.model.predict(features)  # 预测
        print("output data: {}".format(outputData))

        return outputData  # 返回结果


if __name__ == "__main__":
    suanpan.run(ModelStreamDemo)
Ejemplo n.º 7
0
    print(args.inputData1)
    imgs = get_all_files(args.inputData1)

    points = args.points

    for img in imgs:
        imgpath = img.split("/")
        preMain(
            imgpath=img,
            saved_path=os.path.join(args.outputData1, *imgpath[8:-1]),
            model_path=os.path.join(
                os.path.dirname(os.path.abspath(sys.argv[0])), "utils",
                "model"),
            height_real=args.heightReal,
            width_real=args.widthReal,
        )
        reCalcHoleGrid(
            png_path=img,
            json_path=os.path.join(args.outputData1, *imgpath[8:-1],
                                   "response.json"),
            rectangle=[],
            points=points,
        )

    return args.outputData1


if __name__ == "__main__":
    suanpan.run(GridPre)
Ejemplo n.º 8
0
# coding=utf-8
from __future__ import absolute_import, print_function

import suanpan
from suanpan.stream import Handler as h
from suanpan.stream import Stream
from suanpan.stream.arguments import String


class DemoIn1OutError(Stream):
    @h.input(String(key="inputData1", required=True))
    @h.output(String(key="outputData1", required=True))
    def call(self, context):  # pylint: disable=unused-argument
        self.sendError("Demo failure message for test")


if __name__ == "__main__":
    suanpan.run(DemoIn1OutError)
Ejemplo n.º 9
0
# coding=utf-8
from __future__ import absolute_import, print_function

import suanpan
from suanpan.stream import Handler as h
from suanpan.stream import Stream
from suanpan.stream.arguments import String


class DemoIn1Out2Send1st(Stream):
    @h.input(String(key="inputData1", required=True))
    @h.output(String(key="outputData1", required=True))
    @h.output(String(key="outputData2", required=True))
    def call(self, context):
        args = context.args
        self.send({"outputData1": args.inputData1})


if __name__ == "__main__":
    suanpan.run(DemoIn1Out2Send1st)
Ejemplo n.º 10
0
# coding=utf-8
from __future__ import absolute_import, print_function

import suanpan
from suanpan.stream import Handler as h
from suanpan.stream import Stream
from suanpan.stream.arguments import String


class DemoIn2Out1(Stream):
    @h.input(String(key="inputData1", required=True))
    @h.input(String(key="inputData2", required=True))
    @h.output(String(key="outputData1", required=True))
    def call(self, context):
        args = context.args
        return args.inputData1 + args.inputData2


if __name__ == "__main__":
    suanpan.run(DemoIn2Out1)