跳转到主要内容

心理物理实验的适应性实验

项目描述

AEPsych

AEPsych是一个用于心理物理实验及相关领域的自适应实验框架和库。

安装

AEPsych只支持python 3.8+。我们建议在类似Anaconda的虚拟环境中安装AEPsych。一旦为AEPsych创建了一个虚拟环境并激活它,您可以使用pip安装AEPsych

pip install aepsych

如果您是开发者或想使用最新功能,可以使用以下方式从GitHub安装:

git clone https://github.com/facebookresearch/aepsych.git
cd aepsych
pip install -e .[dev]

用法

请参阅此处的代码示例。

使用AEPsych的标准方式是在服务器模式下启动它(您可以通过运行aepsych_server --help查看更多参数)

aepsych_server --port 5555 --ip 0.0.0.0 --db mydatabase.db

服务器通过Unix套接字接收消息,所有消息都使用JSON格式进行格式化。所有消息都具有以下格式

{
     "type":<TYPE>,
     "message":<MESSAGE>,
}

有五种消息类型:setupresumeasktellexit(请参阅aepsych/server/message_handlers以获取完整消息集)。

Setup

setup消息为服务器准备提出建议和接受数据。setup消息可以格式化为INI或Python字典(类似于JSON)格式,并在configs/single_lse_example.ini中给出了心理测量阈值估计的示例。它看起来像这样

{
    "type":"setup",
    "message":{"config_str":<PASTED CONFIG STRING>}
}

在接收到设置消息后,服务器会响应一个策略索引,该索引可用于恢复此设置(例如,用于交错多个实验)。

恢复

resume 消息指示服务器从同一运行中较早的阶段恢复策略。它看起来像这样

{
    "type":"resume",
    "message":{"strat_id":"0"}
}

接收到恢复消息后,服务器会响应已恢复的策略索引。

询问

ask 消息查询服务器以获取下一个试验配置。它看起来像这样

{
    "type":"ask",
    "message":""
}

接收到询问消息后,服务器以 JSON 格式响应配置,例如 {"frequency":100, "intensity":0.8}

告知

tell 消息将试验配置的结果更新到服务器。请注意,tell 不需要与之前 ask 的试验匹配。例如,如果您正在交错 AEPsych 运行和经典阶梯,您仍然可以向 AEPsych 提供阶梯数据。消息看起来像这样

{
    "type":"tell",
    "message":{
        "config":{
                "frequency":100,
                "intensity":0.8
            },
        "outcome":"1",
    }
}

退出

exit 消息指示服务器关闭套接字连接,将策略写入数据库并终止当前会话。消息如下

{
    "type":"exit",
}

服务器关闭连接。

数据导出和可视化

数据记录到磁盘上的 SQLite 数据库中(默认为 databases/default.db)。数据库包含一个表,其中包含所有运行的实验会话。然后,对于每个实验,有一个表包含服务器发送和接收的所有消息,能够从服务器的角度完整回放实验。此表可以总结为数据框输出(文档待定)并用于可视化数据(文档待定)。

贡献

有关如何帮助的说明,请参阅 CONTRIBUTING 文件。

许可

AEPsych 许可 CC-BY-NC 4.0,如 LICENSE 文件中所述。

引用

AEPsych 论文目前正在审阅中。在此期间,您可以引用我们的 预印本

Owen, L., Browder, J., Letham, B., Stocek, G., Tymms, C., & Shvartsman, M. (2021). Adaptive Nonparametric Psychophysics. http://arxiv.org/abs/2104.09549

项目详细信息


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

aepsych-0.4.1.tar.gz (153.5 kB 查看哈希)

上传时间

构建分布

aepsych-0.4.1-py3-none-any.whl (232.2 kB 查看哈希)

上传时间 Python 3

支持