graduation¶
Object that implement Graduation criteria to move between different tasks in a protocol.
Classes:
Base Graduation object. |
|
|
Graduate stage based on percent accuracy over some window of trials. |
|
Graduate after doing n trials |
Data:
Mapping from string reference of graduation type to object. |
-
class
Graduation
[source]¶ Bases:
object
Base Graduation object.
All Graduation objects need to populate PARAMS, COLS, and define an update method.
Attributes:
list of parameters to be defined
list of any data columns that this object should be given.
Methods:
update
(row)- Parameters
:class:`~tables.tableextension.Row` – Trial row
-
class
Accuracy
(threshold=0.75, window=500, **kwargs)[source]¶ Bases:
autopilot.tasks.graduation.Graduation
Graduate stage based on percent accuracy over some window of trials.
- Parameters
threshold (float) – Accuracy above this threshold triggers graduation
window (int) – number of trials to consider in the past.
**kwargs – should have ‘correct’ corresponding to the corrects/incorrects of the past.
Attributes:
Methods:
update
(row)Get ‘correct’ from the row object.
-
PARAMS
= ['threshold', 'window']¶
-
COLS
= ['correct']¶
-
class
NTrials
(n_trials, current_trial=0, **kwargs)[source]¶ Bases:
autopilot.tasks.graduation.Graduation
Graduate after doing n trials
- Variables
counter (
itertools.count
) – Counts the trials.- Parameters
n_trials (int) – Number of trials to graduate after
current_trial (int) – If not starting from zero, start from here
**kwargs
Attributes:
Methods:
update
(row)If we’re past n_trials in this trial, return True, else False.
-
PARAMS
= ['n_trials', 'current_trial']¶
-
GRAD_LIST
= { 'accuracy': <class 'autopilot.tasks.graduation.Accuracy'>, 'n_trials': <class 'autopilot.tasks.graduation.NTrials'>}¶ Mapping from string reference of graduation type to object.