Skip to content

Commit

Permalink
Merge branch 'main' into doc/cheatsheet
Browse files Browse the repository at this point in the history
  • Loading branch information
musslick authored Nov 10, 2024
2 parents 016d464 + 0ce6ec6 commit dcbb64c
Show file tree
Hide file tree
Showing 22 changed files with 85 additions and 59 deletions.
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Check out tutorials and documentation at

## Example

The following example demonstrates how to use AutoRA to automate the process of model discovery, experimental design, and data collection.
The following basic example demonstrates how to use AutoRA to automate the process of model discovery, experimental design, and data collection.

The discovery problem is defined by a single independent variable $x \in [0, 2 \pi]$ and dependent variable $y$.
The experiment amounts to a simple sine wave, $y = \sin(x)$, which is the model we are trying to discover.
Expand Down Expand Up @@ -127,18 +127,17 @@ for i in range(5):
print('\n')
```

If you are curious about how to apply AutoRA to real-world discovery problems, you can find use case examples of AutoRA in the [Use Case Tutorials](https://autoresearch.github.io/autora/examples/) section of the documentation.

## Contributions

We welcome contributions to the AutoRA project. Please refer to the [contributor guide](https://autoresearch.github.io/autora/contribute/) for more information. Also, feel free to ask any questions or provide any feedback regarding core contributions on the [AutoRA forum](https://github.com/orgs/AutoResearch/discussions/).

## About

This project is in active development by
the [Autonomous Empirical Research Group](http://empiricalresearch.ai),
in collaboration with the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).
This project is in active development by the [Autonomous Empirical Research Group](https://musslick.github.io/AER_website/Research.html).

The development of this package is supported by Schmidt Science Fellows, in partnership with the Rhodes Trust, as well as the Carney BRAINSTORM program at Brown University.
The development of this package was supported by [Schmidt Science Fellows](https://schmidtsciencefellows.org/), in partnership with the Rhodes Trust, as well as the [Carney BRAINSTORM program](https://ccbs.carney.brown.edu/brainstorm) at Brown University. The development of auxiliary packages for AutoRA, such as `autodoc`, is supported by [Schmidt Sciences, LLC. and the Virtual Institute for Scientific Software (VISS)](https://www.schmidtsciences.org/viss/). The AutoRA package was developed using computational resources and services at the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).


## Read More
Expand Down
4 changes: 2 additions & 2 deletions docs/contribute/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ Child packages are generally maintained by individual contributors. The parent p
*core* packages, is maintained by the [Autonomous Empirical Research Group](https://musslick.github.io/AER_website/Team.html),
as well as external contributors.

![image](../img/package_overview.png)
![image](../img/contributor_model.png)

[`autora`](https://github.com/autoresearch/autora) is the parent package which end users are expected to install. The
parent depends on core packages, such as [`autora-core`](https://github.com/autoresearch/autora-core) and
[`autora-synthetic`](https://github.com/autoresearch/autora-synthetic). It also includes vetted modules (child packages) as optional dependencies which users can choose
to install.

You may contribute to any of the core packages or develop your own module as a stand-alone package (see below).
You may contribute to any of the core packages or develop your own module as a stand-alone child package (see below).


## Style Guide
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/closed-loop-bandit-task/init_autora.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The AutoRA workflow (specifically the `autora-firebase-runner` and `autora-proli
- Click on ``Service accounts``.
![service_account.png](../img/service_account.png)
- Having ``Node.js`` selected, click ``Generate a new private key``. This should generate a json file that you can download.
- Open the file `autora_workflow.py` in the `research_hub`-folder and navigate to the part of the code that contains a placeholder for the credentials. It should look like this
- Open the file `autora_workflow.py` in the `researcher_hub`-folder and navigate to the part of the code that contains a placeholder for the credentials. It should look like this
```python
firebase_credentials = {
"type": "type",
Expand Down
8 changes: 7 additions & 1 deletion docs/examples/closed-loop-bandit-task/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ First, we need to set up our local AutoRA project.
## Create Repository
To ease the setup process for this example, we provide a template repository that contains all the necessary files and configurations.

Simply visit the following repository on GitHub: https://github.com/AutoResearch/autora-closed-loop-firebase-prolific-bandit-task
Simply visit the following repository on GitHub: [https://github.com/AutoResearch/autora-closed-loop-firebase-prolific-bandit-task](https://github.com/AutoResearch/autora-closed-loop-firebase-prolific-bandit-task)

Next, click on the green "Use this template" button to create a new repository in your account.
![use_template.png](../img/use_template.png)
Expand Down Expand Up @@ -75,6 +75,9 @@ npm install -g firebase-tools

We will use this package to deploy our firebase functions for storing data.

!!! hint
If you encounter any issues with the installation, make sure that you have the necessary permissions to install packages on your system. You may need to run the commands with `sudo` or as an administrator.

## Set Up Project Folder with Coockiecutter

To establish an online closed-loop for AutoRA, there are two key components that need to be configured:
Expand Down Expand Up @@ -120,6 +123,9 @@ You should now have the following project structure:

![project_structure.png](../img/project_structure.png)

!!! hint
If you encounter any issues with the cookiecutter setup, make sure that you have the necessary permissions to install packages on your system. You may need to run the commands with `sudo` or as an administrator.

[Next: Set up Firebase to host our experiment.](firebase.md)


2 changes: 1 addition & 1 deletion docs/examples/closed-loop-bandit-task/testingzone.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ firebase init
9. Don't overwrite the index.html file if the question pops up.

## Install jsPsych
- Next, we install jsPsych (still within the testing_zone folder):
- Next, we install jsPsych (still within the ``testing_zone`` folder):
```shell
npm install [email protected]
```
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/closed-loop-basic/init_autora.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The AutoRA workflow (specifically the `autora-firebase-runner`) will need access
- Click on ``Service accounts``.
![service_account.png](../img/service_account.png)
- Having ``Node.js`` selected, click ``Generate a new private key``. This should generate a json file that you can download.
- Open the file `autora_workflow.py` in the `research_hub`-folder and navigate to the part of the code that contains a placeholder for the credentials. It should look like this
- Open the file `autora_workflow.py` in the `researcher_hub`-folder and navigate to the part of the code that contains a placeholder for the credentials. It should look like this
```python
firebase_credentials = {
"type": "type",
Expand Down
7 changes: 4 additions & 3 deletions docs/examples/closed-loop-basic/notebooks/sweetbean.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@
"metadata": {},
"outputs": [],
"source": [
"from sweetbean.sequence import Block\n",
"\n",
"# create a list of instruction stimuli for the instruction block\n",
"introduction_list = [introduction_welcome,\n",
" introduction_pictures,\n",
Expand Down Expand Up @@ -255,7 +257,7 @@
"source": [
"## Experiment Block Sequence\n",
"\n",
"Now that we have specified all of our experiment blocks, we put them together into an experiment. The function below compiles the experiment and converts it into a html file."
"Now that we have specified all of our experiment blocks, we put them together into an experiment. The function below compiles the experiment and converts it into an html file."
]
},
{
Expand Down Expand Up @@ -386,8 +388,7 @@
],
"metadata": {
"colab": {
"provenance": [],
"toc_visible": true
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
Expand Down
6 changes: 6 additions & 0 deletions docs/examples/closed-loop-basic/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ npm install -g firebase-tools

We will use this package to deploy our firebase functions for storing data.

!!! hint
If you encounter any issues with the installation, make sure that you have the necessary permissions to install packages on your system. You may need to run the commands with `sudo` or as an administrator.

## Set Up Project Folder with Coockiecutter

To establish an online closed-loop for AutoRA, there are two key components that need to be configured:
Expand Down Expand Up @@ -122,6 +125,9 @@ python -m cookiecutter https://github.com/AutoResearch/autora-user-cookiecutter

![project_structure.png](../img/project_structure.png)

!!! hint
If you encounter any issues with the cookiecutter setup, make sure that you have the necessary permissions to install packages on your system. You may need to run the commands with `sudo` or as an administrator.

## Next Steps

[Next: Set up Firebase to host our experiment.](firebase.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/closed-loop-basic/testingzone.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ firebase init
9. Don't overwrite the index.html file if the question pops up.

## Install jspsych
- Next, we install jspsych (still within the testing_zone folder):
- Next, we install jspsych (still within the ``testing_zone`` folder):
```shell
npm install [email protected]
```
Expand Down
3 changes: 3 additions & 0 deletions docs/experiment-runner/behavioral/example.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Example: Closed-Loop Behavioral Study

For a detailed example of setting up a closed-loop behavioral study with an online experiment, see the [Basic Closed-Loop Psychophysics Study](../../examples/closed-loop-basic/index.md).
File renamed without changes.
8 changes: 8 additions & 0 deletions docs/experiment-runner/behavioral/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Online Experiments To Collect AutoRA Observations

AutoRA provides functionality for running closed-loop behavioral studies with online experiments. This functionality allows researchers to set up websites that integrate with AutoRA workflows. These websites allow observations gathered from participants online.

![System Overview](../../examples//img/system_overview.png)

To enable this functionality, AutoRA can interface with databases, such as Firebase for hosting the website and storing data. In addition, AutoRA can recruit participants through platforms like Prolific.

Binary file added docs/img/contributor_model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/img/package_overview.png
Binary file not shown.
Binary file added docs/img/state_logic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/state_wrapper.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ Once you are familiar with the basics, you can explore the [Use Case Tutorials](

This project is in active development by the [Autonomous Empirical Research Group](https://musslick.github.io/AER_website/Research.html).

The development of this package was supported by Schmidt Science Fellows, in partnership with the Rhodes Trust, as well as the [Carney BRAINSTORM program](https://ccbs.carney.brown.edu/brainstorm) at Brown University. The development of auxiliary packages for AutoRA, such as `autodoc`, is supported by [Schmidt Sciences, LLC. and the Virtual Institute for Scientific Software (VISS)](https://www.schmidtsciences.org/viss/). The AutoRA package was developed using computational resources and services at the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).
The development of this package was supported by [Schmidt Science Fellows](https://schmidtsciencefellows.org/), in partnership with the Rhodes Trust, as well as the [Carney BRAINSTORM program](https://ccbs.carney.brown.edu/brainstorm) at Brown University. The development of auxiliary packages for AutoRA, such as `autodoc`, is supported by [Schmidt Sciences, LLC. and the Virtual Institute for Scientific Software (VISS)](https://www.schmidtsciences.org/viss/). The AutoRA package was developed using computational resources and services at the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).


6 changes: 3 additions & 3 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ In using AutoRA, it is helpful to be aware of its structure, which is described

``autora`` is organized into one "parent" and many "child" packages.

![image](img/package_overview.png)
![image](img/contributor_model.png)

The ``autora`` "parent" package depends on core packages, such as [`autora-core`](https://github.com/autoresearch/autora-core), [`autora-workflow`](https://github.com/autoresearch/autora-workflow), and [`autora-synthetic`](https://github.com/autoresearch/autora-synthetic), which are automatically installed with ``autora``.
The ``autora`` "parent" package depends on core packages, such as [`autora-core`](https://github.com/autoresearch/autora-core) and [`autora-synthetic`](https://github.com/autoresearch/autora-synthetic), which are automatically installed with ``autora``.

However, the ``autora`` ecosystem also includes vetted modules (child packages) as **optional dependencies** which users can choose to install. Below, we provide a list of all optional dependencies that are currently vetted by the ``autora`` core team.

Expand All @@ -62,7 +62,7 @@ To install any (combination) of optional dependencies, users should run the rele
pip install -U "autora[desired-dependency]"
```

For example, to install one of the [Theorists](theorist/index.md), such as the Bayesian Machine Scientist (BMS), a user should run:
For example, to install one of the [Theorists](theorist/index.md), such as the Bayesian Machine Scientist (BMS) from the package `autora-theorist-bms`, a user should run:

```shell
pip install -U "autora[theorist-bms]"
Expand Down
4 changes: 0 additions & 4 deletions docs/online-experiments/index.md

This file was deleted.

Loading

0 comments on commit dcbb64c

Please sign in to comment.