parlai环境搭建以及模型训练
来源:互联网 发布:电子相册软件排行 编辑:程序博客网 时间:2024/06/08 16:20
下载parlai:
git clone https://github.com/facebookresearch/ParlAI
安装依赖库:
cd ParlAI; python3 setup.py develop
安装pytorch for python3:
按照http://pytorch.org/提示安装即可
安装好之后,终端运行:
python3import torch
成功则表示成功安装pytorch
安装regex:
sudo pip3 install regex
运行示范程序:
python examples/memnn_luatorch_cpu/full_task_train.py -t babi:task10k:1 -nt 8
无法找到lzmq库,这是因为没有安装lzmq,sudo luarocks install lzmq
接着继续运行,提示无法找到libmemnn.so,但是在/home/pythonWork/qa/ParlAI/downloads/memnnlib/KVmemnn/library/c/libmemnn.so找到,因此添加库目录路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pythonWork/qa/ParlAI/downloads/memnnlib/KVmemnn/library/c/
在pycharm中仍无法找到libmemnn.so库,这时候可以:
sudo vim /etc/ld.so.conf
并在该文件中添加该库的路径:
/home/pythonWork/qa/ParlAI/downloads/memnnlib/KVmemnn/library/c/
在pycahrm中无法找到luajit,这时候可以设置luajit的安装路径到pycharm的environment path ,可以在代码中添加环境路径:
a=os.getenv('PATH')+':/home/program/torch_src/torch/install/bin'os.environ['PATH']=a
继续运行该命令,发现提示无法找到tds,直接sudo luarocks install tds无法安装tds,需要手动下载tds,并编译:
git clone https://github.com/torch/tds.gitcd tdsluarocks make rocks/tds-scm-1.rockspec
再运行
python examples/memnn_luatorch_cpu/full_task_train.py -t babi:task10k:1 -nt 8
成功.
运行机制
多重世界;代理;老师
在ParlAI主要的概念(类)是多重世界,代理,和老师。世界是说话者所生活的环境,可以从简单的双向对话变化到更复杂的场景,如反应性游戏环境。代理是可以在世界上表演和说话的东西。代理可以是一个学习者,如机器学习的系统,或一个硬编码的机器人,用来与学习者互动,如游戏中的非玩家角色。最后,老师是一种和学习者交流的代理,例如,实现了以前列出的任务。
简单来说为每个task对应一个world和agent,例如doc reader agent的类为DocReaderAgent,在DocReaderAgent中调用模型model(line141,self.model = DocReaderModel(self.opt, self.dict, self.state_dict)),在agent中得到model的输入数据,传入model,model的返回值给agent,agent控制model的参数更新,模型保存,以及打印loss等训练信息.
所有代理使用一个单一的格式-观察/操作对象(一个Python)-交换文本,标签,并与其他代理互相奖励。
代理发送此消息来说话,并通过接收到相同形式的消息来发现在环境中的其他说话者。这使我们能够解决各种对话问题,从强化学习到完全监督学习,同时保证所有的数据集符合相同的标准。当研究人员建立新的模型,他们可以很容易地应用在许多任务上。
在定义了一个世界和它的代理之后,主回路调用其中的函数 world.parley ( ).运行用来训练,测试,或显示,世界。在左边的面板显示的一个例子,主回路的框架,右边是parley ( )实际代码。
在ParlAI选择一个任务和在命令行中指定它一样简单。如果数据集尚未使用,ParlAI会自动下载它。因为所有的数据集都在ParlAI都会以相同的方式处理,对话代理可以在它们的训练和测试之间切换。你也可以通过提供一个以逗号分隔的列表进行一次性多任务指定;例如命令行 -t babi, squad 用了两个数据集,所有的QA数据立刻集合-t #qa; 或者ParlAI中每个任务立刻集合-t #all,目的是为了让构建和评估一个丰富的对话模型变得简单。
- parlai环境搭建以及模型训练
- caffe cpu环境搭建&训练模型方法
- Caffe环境AlexNet模型训练
- caffe-MobileNet-ssd环境搭建及训练自己的数据集模型
- Darknet yolo 环境搭建以及训练测试自己的数据集
- 如何在腾讯云上部署 Facebook的ParlAI训练框架
- Mac下OpenGL环境搭建以及OpenGL解析渲染OBJ模型
- caffe 环境搭建和minist训练
- iOSOpenDev环境搭建以及使用
- iOSOpenDev环境搭建以及使用
- Heritrix简介以及环境搭建
- Hibernate环境搭建以及HelloWorld
- 1.简介以及环境搭建
- Java简介以及环境搭建
- adaboost + cascade 以及在 opencv 中的使用 ------ 模型训练
- 模型训练
- <深度学习-实战2>Convolutional_Seq2Seq的环境搭建及训练
- Faster rcnn 训练自己的数据—环境搭建
- 测试中使用postman发送post、put请求
- Matplotlib学习笔记(二)
- vscode tasks.json launch.json样列
- QTP和它的测试五部曲
- 【硬件测试】华为2016校招·硬件技术工程师机考试题及答案
- parlai环境搭建以及模型训练
- Crash分析
- hdu 6115 Factory(lca + st)
- 1049. 数列的片段和
- 哪门编程语言最赚钱?打算学编程的进来看看
- Java 面试题问与答:编译时与运行时
- JVM类加载机制详解(一)JVM类加载过程
- 删除链表中重复的节点
- 文本挖掘