ibm / max-framework Goto Github PK
View Code? Open in Web Editor NEWPython package that can be installed to make it easier to create MAX models
License: Apache License 2.0
Python package that can be installed to make it easier to create MAX models
License: Apache License 2.0
Previously, the models used to run with Flask Debug mode
turned on. This caused some of the server code to execute twice, so I put a second condition in the conditional statement here
MAX-Framework/maxfw/core/app.py
Line 29 in 1a924f2
Now that Debug mode
is turned off, the CORS_ENABLE
flag will not actually enable cross origin support. I think it might be best to simply remove the second condition.
See the PyPi badge in the table in https://github.ibm.com/CODAIT/MAX-development-guide/blob/master/MODEL_OWNERS.md#other-max-repos
Currently the PyPi project page contains no description and the project name should probably be Model Asset Exchange Framework
?
Currently the ENABLE_CORS
option opens up all endpoints for all domains: https://github.com/IBM/MAX-Framework/blob/master/maxfw/core/app.py#L46 We should make it possible for users to specify custom origins without the need to modify the source code: https://flask-cors.corydolphin.com/en/latest/api.html#extension
Many MAX models fall into a few common categories - classification (multi-class typically), object detection / segmentation (with bounding boxes and/or segmentation maps), etc.
We could create utilities and/or some abstract base classes that handle common code for things such as response mapping to JSON (e.g. for multi-class classification it is generic) and definitions for Swagger API formats.
Many MAX models are based on image input. They all require basic utils such as:
See e.g. https://github.com/IBM/MAX-Facial-Age-Estimator/issues/13 and IBM/MAX-Human-Pose-Estimator#12 (but this applies to most if not all MAX models that operate on image input).
Do the same thing we did here IBM/MAX-Training-Framework#8
Currently the microservice endpoints are unprotected and can be called by anybody. We should add a simple mechanism that allows for optional basic authorization checking. A simple example of such a mechanism could be a static API token.
PR #21 enforces the @abstractmethod
annotations which are defined for the following methods:
__init__
_pre_process
_post_process
_predict
As a result every model that inherits from MAXModelWrapper
must implement these methods, even if they don't have any custom code.
The problematic code was published as version 1.1.2.
In MAX-Framework/maxfw/core/app.py, a Flask app is instantiated. There is a parameter for 'port' that is not available through the abstracted MAXApp.run() method.
It is documented here:
https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.run
Perhaps something like this would add support for alternate ports when using MAXApp.run()
def run(self, host='0.0.0.0', port=5000): self.app.run(host, port)
This line: https://github.com/IBM/MAX-Framework/blob/master/maxfw/core/app.py#L13
means that the app name when serving in Flask looks like:
* Serving Flask app "maxfw.core.app" (lazy loading)
* Environment: production
...
Not too major, but would be nice to make the app name a configurable property.
Currently the PyPi project page contains no description and the project name should probably be Model Asset Exchange Framework
?
I am working with the MAX-Audio-Classifier and I am trying to understand the PredictAPI that is imported from maxfw.core in the predict.py file.
When checking the maxfw.core repo I find that the PredictAPI is not implemented.
Have I missed the PredictAPI or how does the audio-classifier import and use the PredictAPI if it has not been implemented yet?
Thanks,
Johannes
See the discussion here:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.