# # Copyright 2018-2019 IBM Corp. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # from maxfw.core import MAXApp from api import ModelMetadataAPI, ModelPredictAPI, ModelLabelsAPI from config import API_TITLE, API_DESC, API_VERSION max = MAXApp(API_TITLE, API_DESC, API_VERSION) max.add_api(ModelMetadataAPI, '/metadata') max.add_api(ModelPredictAPI, '/predict') max.add_api(ModelLabelsAPI, '/labels') max.run()
from maxfw.core import MAXApp from api import ModelMetadataAPI, ModelPredictAPI from config import API_TITLE, API_DESC, API_VERSION max_app = MAXApp(API_TITLE, API_DESC, API_VERSION) max_app.add_api(ModelMetadataAPI, '/metadata') max_app.add_api(ModelPredictAPI, '/predict') max_app.run()
from maxfw.core import MAXApp from api import ModelPredictAPI from config import API_TITLE, API_DESC, API_VERSION import json import base64 from flask import Flask, request, Response max_app = MAXApp(API_TITLE, API_DESC, API_VERSION) max_app.add_api(ModelPredictAPI, '/predict') # Use flask test client to simulate HTTP requests for the prediction APIs # HTTP request data will come from action invocation parameters, neat huh? :) test_client = max_app.app.test_client() app = Flask(__name__) # This implements the Docker runtime API used by Apache OpenWhisk # https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-docker.md # /init is a no-op as everything is provided in the image. @app.route("/init", methods=['POST']) def init(): return '' # Action invocation requests will be received as the `value` parameter in request body. # Web Actions provide HTTP request parameters as `__ow_headers` & `__ow_body` parameters. @app.route("/run", methods=['POST']) def run(): body = request.json form_body = body['value']['__ow_body'] headers = body['value']['__ow_headers'] # binary image content provided as base64 strings
# # Copyright 2018-2019 IBM Corp. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # from maxfw.core import MAXApp from api import ModelMetadataAPI, ModelPredictAPI from config import API_TITLE, API_DESC, API_VERSION max = MAXApp(API_TITLE, API_DESC, API_VERSION) max.add_api(ModelMetadataAPI, '/metadata') max.add_api(ModelPredictAPI, '/predict') max.run(port=8080) #app.run(debug=True, host='0.0.0.0', port=8080, use_reloader=True)
from maxfw.core import MAXApp from api import ModelMetadataAPI, ModelPredictAPI max_app = MAXApp() max_app.add_api(ModelMetadataAPI, '/metadata') max_app.add_api(ModelPredictAPI, '/predict') max_app.run()
from maxfw.core import MAXApp from api import ModelMetadataAPI, ModelLabelsAPI, ModelPredictAPI from config import API_TITLE, API_DESC, API_VERSION max_app = MAXApp(API_TITLE, API_DESC, API_VERSION) max_app.add_api(ModelMetadataAPI, '/metadata') max_app.add_api(ModelLabelsAPI, '/labels') max_app.add_api(ModelPredictAPI, '/predict') max_app.mount_static('/app/') max_app.run()