Commit Graph

70 Commits (48f5ffafa18270b16539e992bbadcf3b5bf229f8)

Author SHA1 Message Date
J. Fernando Sánchez 48f5ffafa1 Defer plugin validation to init 6 years ago
J. Fernando Sánchez da4b11e5b5 Fix installation
* Remove '--use-wheel' flag
* Remove pip dependency
* Make GSITK an optional dependency
6 years ago
J. Fernando Sánchez c0aa7ddc3c Add evaluation tests 6 years ago
J. Fernando Sánchez 5e2ada1654 Merge branch 'master' into 44-add-basic-evaluation-with-gsitk 6 years ago
NahcoCP d6f4cc2dd2 Connecting the Plugin to the evaluation module of GSITK 7 years ago
J. Fernando Sánchez 15ab5f4c25 Add Entity 7 years ago
J. Fernando Sánchez 92189822d8 Change Box plugin to mimic a sklearn classifier 7 years ago
J. Fernando Sánchez 1087692de2 Add sklearn
* Add sklearn example
* Fix test_case
* Add SenpyClientUse docs

a.k.a. The wise men edition
7 years ago
J. Fernando Sánchez 3e2b8baeb2 Last batch of big changes
* Add Box plugin (i.e. black box)
* Add SentimentBox, EmotionBox and MappingMixin
* Refactored CustomDict
7 years ago
J. Fernando Sánchez 21a5a3f201 Macro commit
* Fixed Options for extra_params in UI
* Enhanced meta-programming for models
* Plugins can be imported from a python file if they're named
`senpy_<whatever>.py>` (no need for `.senpy` anymore!)
* Add docstings and tests to most plugins
* Read plugin description from the docstring
* Refactor code to get rid of unnecessary `.senpy`s
* Load models, plugins and utils into the main namespace (see __init__.py)
* Enhanced plugin development/experience with utils (easy_test, easy_serve)
* Fix bug in check_template that wouldn't check objects
* Make model defaults a private variable
* Add option to list loaded plugins in CLI
* Update docs
7 years ago
J. Fernando Sánchez abd401f863 Enhance plugin metaclass
* Change names of plugins to avoid repetitions (we may have to revert this)
* Make subprocess log private
7 years ago
J. Fernando Sánchez bfc588a915 Several fixes
* Refactored BaseModel for efficiency
* Added plugin metaclass to keep track of plugin types
* Moved plugins to examples dir (in a previous commit)
* Simplified validation in parse_params
* Added convenience methods to mock requests in tests
* Changed help schema to use `.valid_parameters` instead of `.parameters`,
which was used in results to show parameters provided by the user.
* Improved UI
    * Added basic parameters
    * Fixed bugs in parameter handling
    * Refactored and cleaned code
7 years ago
J. Fernando Sánchez 0204e0b8e9 Several changes
* Simplified setattr
* Added loading attributes in class
* Added ability to specify failing test cases in plugins
7 years ago
J. Fernando Sánchez 869c00f709 Merge branch 'split-fix'
Fix #48
7 years ago
militarpancho 55be0e57da Fix #48 7 years ago
J. Fernando Sánchez 778746c5e8 Added data folder configuration
Closes #46
7 years ago
J. Fernando Sánchez 19278d0acd Use the right version of PIP (py2/py3)
Closes senpy/senpy#47
7 years ago
J. Fernando Sánchez 3e3f5555ff Fixed py2 problems and other improvements
We've changed the way plugins are activated, and removed the notion of
deactivated plugins.
Now plugins activate asynchronously.
When calling a plugin, it will be activated if it wasn't, and the call will wait
for the plugin to be fully activated.
7 years ago
J. Fernando Sánchez 7aa91d1d60 Fixed FSRE dimension names to match ontology
http://www.gsi.dit.upm.es/ontologies/onyx/vocabularies/emotionml/ns
7 years ago
drevicko 2480ec310e bump version number in ekman2vad.senpy 7 years ago
drevicko 9b956b2358 uses emotionML vocab names for VAD dimensions 7 years ago
drevicko 83ddd5e990 add neutralValue to fsre conversion senpy file 7 years ago
drevicko d77d01c3e1 Adds neutral value to conversion senpy files 7 years ago
drevicko f6271495c1 use emoionml names for fsre and pad dimensions
This lines up the names in the conversion plugins with the [emotionML suggested vocab](https://www.w3.org/TR/emotion-voc/#dimensions).

emoml has different names for the 4-dimensional fsre scheme and the 3-dimensional vad scheme, which this pull request has added.

I've added the "unpredictability" dimension and mapped big6:surprise to it's maximum value. The assumption is that surprise varies between 5 and 10 to be in line with the other dimensions (no such thing as negative surprise, so no values less than 5). I see that arousal also has all values >5 (so no negative arousal). Ideally, surprise mappings for V, A and D should be calculated empirically - I think there'll be some arousal and possibly slightly lowered dominance.

I wonder if we should use another colon in the emoml names, eg: "emoml:fsredim:valence" or "emoml:big6:happiness", since the [emoml suggested vocab](https://www.w3.org/TR/emotion-voc/xml) only specifies names like "happiness" in a category "big6" (ie: it's hard to know which is the category in "big6happiness").
We'd have to go through the example plugins and make sure they also conform...

open to discussion on this btw...

ps: apologies for multiple changes in this one pr..
7 years ago
J. Fernando Sánchez a243f68bfc WIP simpler pipeline 7 years ago
J. Fernando Sánchez 85aef3d15f Improved shelf tests
Refactored template tests
7 years ago
J. Fernando Sánchez 9870391088 Run tests from gsiupm/senpy 7 years ago
J. Fernando Sánchez 4d7e8e7589 Added tests for all "discoverable" plugins
Closes #39
7 years ago
J. Fernando Sánchez 8e4578dc25 Closes #40 7 years ago
J. Fernando Sánchez 852bcc72ba Better centroid conversion
Also added **simple** tests for backward and forward conversion.
In future versions we should add thorough tests.

Should close gsi-upm/senpy#31
7 years ago
J. Fernando Sánchez bf5ed1bd7d Merge remote-tracking branch 'drevicko/patch-6' 7 years ago
J. Fernando Sánchez 00da75153a Change conversion to Euclidean distance
* Added neutral point (if present)

Closes !gsi-upm/senpy#37 (Ian's)
7 years ago
drevicko 6b843a4384 fixes typo in code 7 years ago
drevicko 65d6e47513 Implements Fernando's suggestion in #31
I've added a neutral point definition (in the converters senpy file) as used in pull request #29
7 years ago
drevicko 8d56a0b630 fixes #31
I've used euclidean metric instead of taxicab as I feel it makes more sense (taxicab has bizzare unintuitive effects for points far from the centroids).
7 years ago
drevicko e7ac6e66b0 update _forward_conversion docstring + minor edits 7 years ago
J. Fernando Sánchez 0f89b92457 Fixed pickling error in py2.7 7 years ago
J. Fernando Sánchez ea91e3e4a4 Add an option to force the load of shelf plugins
Closes gsi-upm/senpy#34
7 years ago
Ian Wood f76b777b9f don't fail if shelf pickle file broken 7 years ago
drevicko dcc965ea63 removed superfluous 'neutral' centroid
Neutral is included as an 'origin' field. This is partly because emoml has no vocab for "Neutral" in dimensional models.
7 years ago
drevicko 400f647b7b removed unneccessary defaultdict import 7 years ago
Ian Wood ec1a2ff5f9 added 'origin' to VAD representation, incorporated into weighed sum for Cat->VAD conversion 7 years ago
Ian Wood 1a9dd07f7e Merge branch 'master' 0.8.7 into patch-6 7 years ago
Ian Wood b80b0c7947 used more specific exception specifier (KeyError) 7 years ago
Ian Wood 1ca6ec52fd fixed weighted average, no explicit treatment of 'neutral' 7 years ago
J. Fernando Sánchez e0b4c76238 Add plugin method to client
Closes #28
7 years ago
drevicko 53138e6942 Estimate VAD by weighted average
Does a weighted average of centroids.

If intensity sums to zero for a category, a 'neutral' category is used or 0 if it's not present. I'm not 100% sure this is the best approach, and the name of the "neutral" category perhaps should use some convention?

Note that if there are no categories present, then no VAD (or other dimensional) estimate is returned. It may be better to use the neutral centroid if it's present in this case also.
7 years ago
J. Fernando Sánchez cc298742ec Merge branch '17-...' into 0.8.x 7 years ago
J. Fernando Sánchez 603e086606 Fix list of plugins
Closes #17
7 years ago
J. Fernando Sánchez a8614bab0c Accept plugin pipelines
Closes #15
7 years ago