facebookresearch / ParlAI

A framework for training and evaluating AI models on a variety of openly available dialogue datasets.
https://parl.ai
MIT License
10.49k stars 2.1k forks source link

Babi - agents.py #3339

Closed klrkt closed 3 years ago

klrkt commented 3 years ago

Windows 10 system. CMD prompt as admin. Trying to follow this: https://parl.ai/docs/tutorial_quick.html#view-a-task-train-a-model Tried: git clone https://github.com/facebookresearch/ParlAI.git ~/ParlAI cd ~/ParlAI python setup.py develop parlai display_data -t squad all works fine - until I try parlai display_data -t babi:task10k:1 This reports: AttributeError: module 'parlai.tasks.babi.agents' has no attribute 'create_agents' This is CORRECT: File "c:\users\bundy\chat\parlai-master\parlai\tasks\babi\agents.py" does not have 'create_agents' module. THIS SEEMS TO BE THE PROBLEM? I also tried the create simple parrot example. Same problem (because it uses the same agents.py

C:\Users\bundy\chat\ParlAI-master>parlai display_model -t babi:task10k:1 -m parrot 12:52:00 | creating task(s): babi:task10k:1 [building data: C:\Users\bundy\chat\ParlAI-master\data\bAbI] 12:52:00 | Downloading http://parl.ai/downloads/babi/babi.tar.gz to C:\Users\bundy\chat\ParlAI-master\data\bAbI\babi.tar.gz Downloading babi.tar.gz: 0.00B [00:00, ?B/s] Traceback (most recent call last): File "c:\users\bundy\chat\parlai-master\parlai\core\worlds.py", line 1212, in _create_task_agents task_agents = my_module.create_agents(opt) # type: ignore AttributeError: module 'parlai.tasks.babi.agents' has no attribute 'create_agents'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\bundy\AppData\Local\Programs\Python\Python38\Scripts\parlai-script.py", line 33, in sys.exit(load_entry_point('parlai', 'console_scripts', 'parlai')()) File "c:\users\bundy\chat\parlai-master\parlai__main__.py", line 14, in main superscript_main() File "c:\users\bundy\chat\parlai-master\parlai\core\script.py", line 307, in superscript_main return SCRIPT_REGISTRY[cmd].klass._run_from_parser_and_opt(opt, parser) File "c:\users\bundy\chat\parlai-master\parlai\core\script.py", line 90, in _run_from_parser_and_opt return script.run() File "c:\users\bundy\chat\parlai-master\parlai\scripts\display_model.py", line 91, in run display_model(self.opt) File "c:\users\bundy\chat\parlai-master\parlai\scripts\display_model.py", line 63, in display_model world = create_task(opt, agent) File "c:\users\bundy\chat\parlai-master\parlai\core\worlds.py", line 1263, in create_task world = create_task_world(opt, user_agents, default_world=default_world) File "c:\users\bundy\chat\parlai-master\parlai\core\worlds.py", line 1227, in create_task_world task_agents = _create_task_agents(opt) File "c:\users\bundy\chat\parlai-master\parlai\core\worlds.py", line 1215, in _create_task_agents return create_task_agent_from_taskname(opt) File "c:\users\bundy\chat\parlai-master\parlai\core\teachers.py", line 2454, in create_task_agent_from_taskname task_agents = teacher_class(opt) File "c:\users\bundy\chat\parlai-master\parlai\tasks\babi\agents.py", line 71, in init opt['datafile'] = _path('-10k', self.task_num, opt) File "c:\users\bundy\chat\parlai-master\parlai\tasks\babi\agents.py", line 15, in _path build(opt) File "c:\users\bundy\chat\parlai-master\parlai\tasks\babi\build.py", line 35, in build downloadable_file.download_file(dpath) File "c:\users\bundy\chat\parlai-master\parlai\core\build_data.py", line 92, in download_file untar(dpath, self.file_name) File "c:\users\bundy\chat\parlai-master\parlai\core\build_data.py", line 255, in untar return _untar(path, fname, delete=delete, flatten=flatten_tar) File "c:\users\bundy\chat\parlai-master\parlai\core\build_data.py", line 300, in _untar PathManager.rm(fullpath) File "C:\Users\bundy\AppData\Local\Programs\Python\Python38\lib\site-packages\iopath-0.1.2-py3.8.egg\iopath\common\file_io.py", line 815, in rm File "C:\Users\bundy\AppData\Local\Programs\Python\Python38\lib\site-packages\iopath-0.1.2-py3.8.egg\iopath\common\file_io.py", line 472, in _rm PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\Users\bundy\chat\ParlAI-master\data\bAbI\babi.tar.gz'

I then tried pip install -r requirements.txt

This also works: parlai display_data -t twitter.

but the babi examples do not. Please advise.

Thank you.

stephenroller commented 3 years ago

There's a known work around. I'll make a patch tomorrow.

stephenroller commented 3 years ago

Patch at #3340, previous workaround described in #3185.