-
Bug
-
Resolution: Fixed
-
Normal
-
None
-
None
When we have evaluation of a dataset there is an option to choose the type of filtering and class normalization.
We should also have an option to select which SVM parameters we want to use, to let people reduce the search space.
[AB-98] Generate custom project file during model evaluation stage
Good question - I think we can generate the initial project file and then open it and make changes to the C and gamma values.
In gaia_wrapper.py we make the project file and then perform run_tests (https://github.com/metabrainz/acousticbrainz-server/blob/6f5a0a14eed6eff7a214acbfd2c3a80385d398cd/dataset_eval/gaia_wrapper.py#L40). Between these two steps we can have another method which opens this project file, changes the value of C and gamma, and saves it again.
This means that we don't have to change the contents of the project template, or code in the gaia project. If we have other parameters that we want to change (e..g preprocessing values) then we can make those changes in this function too.
Hi Alastair,
As per now, I am able to take user input for C and gamma values as well as preprocessing values and able to save them in database.
Now, my problem statement is:
I need to pass these values as parameter in generate_classification_project (https://github.com/MTG/gaia/blob/e18b4ecf402fdfdf95f3d6a55b2268f4ca1dc91b/src/bindings/pygaia/scripts/classification/generate_classification_project.py#L32) module from dataset_eval/gaia_wrapper.py
I am not able to find the gaia module inside docker so that i can edit the above file.
Should I separately clone the gaia repository and then do the changes or should I make changes inside the gaia python package?
We should allow the user to enter any value for C and gamma, but should pre-fill it with the values that are in the template file. I think that a text field with comma separated values is good for this.
For the preprocessing values, the users can only select from the available options. Perhaps a list of items with checkboxes is OK here.
@Alastair,
Could you please tell me, whether the user will be allowed to enter one C, one gamma and one preprocessing values out of those given in https://github.com/MTG/gaia/blob/master/src/bindings/pygaia/scripts/classification/classification_project_template.yaml#L99 , or any value of his choice?
When a dataset has been created, a user can submit it to be evaluated:
The evaluation screen has some preferences (artist filtering, normalisation), but we want to add additional preferences.
In gaia (the tool we use for building models), we have a configuration file (https://github.com/MTG/gaia/blob/master/src/bindings/pygaia/scripts/classification/classification_project_template.yaml) which we use to tell gaia what settings to use when building the model.
In order to do this, we should provide an interface which allows the user to select which of the 5 preprocessing methods they want to use (https://github.com/MTG/gaia/blob/1d593b89a65cbf0a6b3f1e70cb34e8d067dc6fd5/src/bindings/pygaia/scripts/classification/classification_project_template.yaml#L96), and which values they want for C and gamma (https://github.com/MTG/gaia/blob/1d593b89a65cbf0a6b3f1e70cb34e8d067dc6fd5/src/bindings/pygaia/scripts/classification/classification_project_template.yaml#L99-L100).
The interface should provide the existing values as defaults, but if the user changes these values, the updated versions will be written to the project file.
The project file is created using the generate_classification_project module in gaia (https://github.com/MTG/gaia/blob/e18b4ecf402fdfdf95f3d6a55b2268f4ca1dc91b/src/bindings/pygaia/scripts/classification/generate_classification_project.py#L61-L62). We should add new parameters to this script (in the gaia repository), which if added will change the values of the preprocessing, C, and gamma values in the resulting file that it creates.
We should have a feature flag (like FEATURE_EVAL_LOCATION - https://github.com/metabrainz/acousticbrainz-server/blob/fbb9a89774ea57535c8592aa73299abee3015f9c/default_config.py#L62) to only show this option on the acousticbrainz site when it is enabled.
Yes @Alastair,
I have full AB server set up, I am able to submit data with abzsubmit and creating dataset as well.
Sure, I'll try and write some notes tomorrow.
Just to confirm, to work on this you will need to have a full AcousticBrainz server set up, be able to submit data to it with the client, and be able to create a dataset and train a model using it.
@Alastair , I want to work on this bug.
Could you please explain me more on what to work on?
https://github.com/metabrainz/acousticbrainz-server/pull/257
@Alastair, Please take a look!