本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】资源 | Facebook开源人工智能框架ParlAI:可轻松训练评估对话模型(2)

时间:2017-05-06 15:06来源:118图库 作者:www.wzatv.cc 点击:
核心模组的依赖内容参见 requirement.txt。其中部分模型(在 parlai/agents 中)有进一步要求,比如需要 PyTorch 或 Lua Torch——所有这些模组的要求都可以参见

核心模组的依赖内容参见 requirement.txt。其中部分模型(在 parlai/agents 中)有进一步要求,比如需要 PyTorch 或 Lua Torch——所有这些模组的要求都可以参见 requirements_ext.txt 这个文档。

安装 ParlAI

首先,复制该 repository,然后进入复制的目录。

链接安装:运行 python setup.py develop 来将复制的目录链接到你的 site-packages。如果你打算根据你的运行修改任何的 parlai 代或者提交一个 pull request,特别是如果你想在 repository 上添加另外的任务的话,那么我们推荐上述安装过程。所有需要的数据都将被下载到 ./data,而且,如果要求任何模型的文件(目前仅是 memnn 模型),它们都将被下载到 ./downloads。

复制后的安装内容(仅将 parlai 用作一个依赖项):运行 python setup.py install 来将内容复制到你的 site-packages 文件夹。所有数据都会被默认下载到 python 的 site-packages 文件夹中(你可以通过命令行来改写路径),不过一旦对代码作出了任何改动,你都需要重新运行一次安装。如果你仅想将 parlai 作为一个依赖项使用(比如用于访问任务或核心代码),那么目前这样就可以了。但是如果你想要清除下载的数据,那么删除 site-packages/parlai 中的 data 和 downloads 文件夹(如果可以的话)。

Worlds, agents 和 teachers

ParlAI 中的主要概念(类):

world——它定义了环境(它可以非常简单,可以仅两个代理相互对话)。

agent——这是世界里的一个代理,比如一个学习器。(存在很多学习器。)

teacher——这是一种可以和学习者对话的代理,它用于实现前面提到的任务。

在定义完 ParlAI 中的 world 和 agent 之后,一个主 loop 可被用来训练、测试或显示,它叫做 world.parley() 函数。我们在左边的面板中给出了个实例的主要骨架,parley() 函数真实的代码写在右侧面板。

  

Actions 和 Observations

所有的 agent(包括 teacher)都以简单的格式互相对话——observation/action 对象(这是一个 python 字典)。这被用于传递 agent 之间的文本、标签和励。这和当在对话(行动)或听(观察)时是同类对象,但是不同视角(在这些字段中有不同的值)。这些领域如下所述:

尽管'text'(文本)领域将几乎可能在全部交流(exchange)中被使用,但是技术上来说,基于你的数据集,这些领域中的每个都是可选的。

对于一个固定的监督式学习数据集(比如 bAbI)来说,一个典型的从数据集进行交流(exchange)例子可以像如下这样(该测试集不包含标签):

Teacher: {

  'text': 'Sam went to the kitchennPat gave Sam the milknWhere is the milk?',

  'labels': ['kitchen'],

  'label_candidates': ['hallway', 'kitchen', 'bathroom'],

  'episode_done': False

  }

  Student: {

  'text': 'hallway'

  }

  Teacher: {

  'text': 'Sam went to the hallwaynPat went to the bathroomnWhere is the milk?',

  'labels': ['hallway'],

  'label_candidates': ['hallway', 'kitchen', 'bathroom'],

  'episode_done': True

  }

  Student: {

  'text': 'hallway'

  }

  Teacher: {

  ... # starts next episode

  }...

代码

代码被设置进了几个主要目录:

core:它包含了框架的首要代码。

agents:包含了可以凭不同任务交互的代理(比如:机器学习模型)。

example:包含了不同循环的一些基本样例(构建词典、训练/评价、显示数据)。

tasks:包含了可来自于 ParlAI 的不同任务的代码。

mturk:包含了设置 Mechanical Turk 的代码和作为样例的 MTurk 任务。

下面我们会更具体地说明每个目录,我们根据依赖项(dependency)来组织行文。

Core 库

core 库包含了如下文件:

agent.py:这个文件包含了一些可被你自己模型延展的基本 agent。

Agent:这是所有 agent 的基本类,实现了 act() 方法,该方法接受一个观察表(table)并且返回一个作为回复的表。

Teacher:它是 Agent 的子代,也实现了针对返回量度(returning metric)的报告方法。任务实现了 Teacher 这个类。

(责任编辑:本港台直播)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容