Giter VIP home page Giter VIP logo

caqe's People

Contributors

interactiveaudiolab avatar jfsantos avatar mcartwright avatar noahschaffer avatar wangsix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

caqe's Issues

[Docs] Test Configurations examples have wrong paths

Examples in Test Configurations page show that you should set CAQE_CONFIG='../test_configurations/general_mushra.cfg' as a path, but CAQE builds this path in __init__.py, so the examples should be CAQE_CONFIG='general_mushra.cfg' instead.

MUSHRA conditions are not getting randomized

When merging pairwise and mushra, mushra "conditions" became "condition groups" since a condition group shares a set of stimuli, and we wanted pairwise conditions to be individual pairs so they can be broken up across participants if necessary. However, this broke the randomization of the assignment of conditions. Since now in MUSHRA, there was only one condition per group.

To fix this, we also need to randomize over groups. Therefore, we need to add in a configuration that allows this.

Create an analysis view

It would be nice to have an analysis view on the server to monitor the progress of the results.

This however, would likely require the use of a Buildpack on Heroku though in order to access the SciPy stack.

Error when calling 'create_db.py' after changing CAQE_CONFIG='general_pairwise.cfg'

When I set the CAQE_CONFIG variable to any config file OTHER than general_pairwise.cfg, and then call heroku run python src/create_db.py, there are no errors, and the tests run through normally. However, when I set CAQE_CONFIG='general_pairwise.cfg', then call heroku run python src/create_db.py, I get the following error:

File "src/create_db.py", line 13, in <module>
    from caqe import db
  File "/app/src/caqe/__init__.py", line 24, in <module>
    app.config.from_pyfile('../test_configurations/' + os.getenv('CAQE_CONFIG', 'general_mushra.cfg'))
  File "/app/.heroku/python/lib/python2.7/site-packages/flask/config.py", line 129, in from_pyfile
    exec(compile(config_file.read(), filename, 'exec'), d.__dict__)
  File "/app/src/caqe/../test_configurations/general_pairwise.cfg", line 118, in <module>
    test_cfg_vars['introduction_html'] = test_cfg_vars['introduction_html'].replace('<quality>', quality)
AttributeError: 'tuple' object has no attribute 'replace'

Getting SSL errors when testing on local machine but not on Heroku

When I try to access caqe.local:5000/mturk_debug on my local machine, Chrome says that caqe.local sent an invalid response. I get this on my logs:

127.0.0.1 - - [18/May/2018 15:43:17] "GET /mturk_debug HTTP/1.1" 200 -
127.0.0.1 - - [18/May/2018 15:43:17] "GET /mturk?assignmentId=123RVWYBAZW00EXAMPLE456RVWYBAZW00EXAMPLE&hitId=123RVWYBAZW00EXAMPLE&turkSubmitTo=https://workersandbox.mturk.com&workerId=debugNQFUCL HTTP/1.1" 302 -
127.0.0.1 - - [18/May/2018 15:43:17] code 400, message Bad request syntax ("\x16\x03\x01\x00\xc1\x01\x00\x00\xbd\x03\x03\xa5'\xad\xf8\xc5\xc4m\x91\x9c\x98\x8d\xca\xca\xb3\xfa\xfba\xea}C\x12\x93f$q\xdb\xf3\xc2\xbf\xc4\x95'\x00\x00\x1c\xaa\xaa\xc0+\xc0/\xc0,\xc00\xcc\xa9\xcc\xa8\xc0\x13\xc0\x14\x00\x9c\x00\x9d\x00/\x005\x00")
127.0.0.1 - - [18/May/2018 15:43:17] "���������'����m�����ʳ��a�}C��f$q��¿ĕ'����+�/�,�0̨̩������/5" 400 -

The same does not happen if I upload the code to Heroku, but then it is a lot harder to debug properly. Any ideas on what might be causing this issue?

Provide code for fitting pairwise models

Currently the publicly accessible repository does not have the code for fitting the pairwise models. We should provide both code for estimating posterior distributions of the latent scores using the Thurstone model and its variations as well as point estimates using the Bradley-Terry method, which is faster.

Allow participants to evaluate an arbitrary number of pairwise comparisons rather than the whole set

Currently pairwise comparisons are submitted and saved to the database as a set of pairs (the equivalent of a MUSHRA trial). Therefore, each participants has to rate all pairs. However, if we want to increase the number of stimuli in a comparison, requiring a single participant to rate all pairs will quickly be come infeasible. We have to instead save each individual comparison to the database and allow participants to contribute an arbitrarily-sized subset of the total set of pairs.

This will require many changes throughout the code base.

Paying bonuses does not work when hosting on Heroku

Paying bonuses does not work because the participant list is on the remote DB (on Heroku) but not available locally. Since one is not supposed to upload their AWS secrets to Heroku, this makes it very awkward to pay bonuses (need to get a database dump from Heroku just to figure out which participants to pay, and then update the database at Heroku).

Analysis plots for pairwise

Currently, we have minimal analysis tools in the publicly released version of CAQE—just MUSHRA boxplots.

We need to at least generate plots and mean score values based on the pairwise responses.

This issue requires #14 and #15

Crypto.Cipher plat-form specific import issue

I think this should be a plat-form (OSX) specific problem. In order to run create_db.py on my local machine, I had to add these line in utilities.py

import crypto
import sys
sys.modules['Crypto'] = crypto

But I don`t think I had to do that when deploy it onto heroku.

Add comments to ratings

As recommended in Brecht De Man's work, add comment fields to allow participants to comment on the motivation of their ratings, etc. and save this in the database.

Can't access site in DEPLOYMENT mode

In Development mode, I can access site when I run the app do the evaluation using port 80. eg http://mysite.com/mturk_debug . However, in DEPLOYMENT mode http://mysite.com/mturk_debug doesn't work. I am assuming mturk_debug is for DEVELOPMENT and that's why it's not working for DEPLOYMENT mode. How can I access my site and do evaluation when I am on DEPLOYMENT mode. is there anything I am missing? since it's not accessible in DEPLOYMENT mode, when I go to Mturk I can see the HITs are posted but it says refused to connect. Thank you in advance!
image (3)

Document caqe.js

This file was accidentally neglected when documentation occurred. The sphinx-readable docstrings should be added and documentation should be generated.

Create source separation test configurations that use the new quality scales

In our research, we found that the "lack of distortions to the target" scale (inclusive of both additive and subtractive distortions to the target) was less confusing for novices than the "absence of additional noises" scale and the "preservation of the target" scale.

Create source separation test configurations that include this quality scale and eliminate the other two.

[Docs] AMT "approve-all-hits" should be "approve-all-assignments"

On this page: http://interactiveaudiolab.github.io/CAQE/recruiting_on_amt.html it says:
$ python turk_admin_cli.py approve-all-hits

But this yields the error below:

$ python turk_admin_cli.py approve-all-hits
usage: turk_admin_cli.py [-h] [--debug]
                         {create-hits,expire-all-hits,dispose-all-hits,approve-all-assignments,give-first-trial-bonus,give-pairwise-consistency-bonus}
                         ...
turk_admin_cli.py: error: argument command: invalid choice: 'approve-all-hits' (choose from 'create-hits', 'expire-all-hits', 'dispose-all-hits', 'approve-all-assignments', 'give-first-trial-bonus', 'give-pairwise-consistency-bonus')

So the documentation should say:

python turk_admin_cli.py approve-all-assignments.

Implementation of MUSHRA Tests

I'm trying to use the CAQE toolkit to see how it implements MUSHRA tests (e.g., the instructions provided to participants). However, I'm running into some installation issues - there are multiple so I'm not looking to address each one.

Is there a lower lift way to get a sense of how CAQE implements MUSHRA tests? Is there a demo that's live somewhere or maybe a paper that has screenshots of the UI?

Insecure default app.run(debug=True, ...)

This repo doesn't seem to get updates, but for awareness, run.py sets debug=True by default. This means /console is available wherever the application is deployed. To exploit this, run commands via the Python interpreter: print(__import__('os').popen('ls -al').read())

Suggestion to fix,

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from caqe import app

app.run(debug=False, threaded=True)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.