Closed danieljyj closed 3 years ago
In your models folder, is there a concat_vl.py? ie., https://github.com/apsdehal/hm_example_mmf/blob/master/models/concat_vl.py
Hi, did you export MMF_USER_DIR
or set env.user_dir
to point to where you cloned hm_example_mmf
? Your command and logs suggests that you didn't.
Hi, did you export
MMF_USER_DIR
or setenv.user_dir
to point to where you clonedhm_example_mmf
? Your command and logs suggests that you didn't.
Hi, Thank you! MMF_USER_DIR="." isn't recognised as a legal command by windows 10 so I thought I could ignore it. If that's the problem, could you please tell me how to set the env.user_dir ? I am using windows 10 powershell.
env.user_dir=<path\where\you\have\installed\hm_example_mmf>
. Note that we have limited support for Windows powershell. I would recommend using Ubuntu shell inside Windows for running MMF.
I changed a bit the __init__.py
file:
original:
import hm_example_mmf.processors.processors
import hm_example_mmf.models.concat_vl
Now:
import processors.processors
import models.concat_vl
import sys
from mmf_cli.run import run
opts=[
"config='./configs/experiments/defaults.yaml'",
"model=concat_vl",
"dataset=hateful_memes",
"training.num_workers=0"
]
run(opts=opts)
And I then run command:
python ./__init__.py
This time the model is registered, but I got error:
Traceback (most recent call last):
File ".__init__.py", line 12, in
I changed a bit the
__init__.py
file: original:import hm_example_mmf.processors.processors import hm_example_mmf.models.concat_vl
Now:
import processors.processors import models.concat_vl import sys from mmf_cli.run import run opts=[ "config='./configs/experiments/defaults.yaml'", "model=concat_vl", "dataset=hateful_memes", "training.num_workers=0" ] run(opts=opts)
And I then run command:
python ./__init__.py
This time the model is registered, but I got error:Traceback (most recent call last): File ".init.py", line 12, in run(opts=opts) File "g:\mmf\mmf_cli\run.py", line 91, in run configuration = Configuration(args) File "g:\mmf\mmf\utils\configuration.py", line 220, in init other_configs = self._build_other_configs() File "g:\mmf\mmf\utils\configuration.py", line 248, in _build_other_configs model_config = self._build_model_config(opts_config) File "g:\mmf\mmf\utils\configuration.py", line 301, in _build_model_config default_model_config_path = model_cls.config_path() TypeError: config_path() missing 1 required positional argument: 'cls'
Sorry, this is my fault , one line is changed incidentally, missed a @classmethod decorator. It's running without error now.
Great that you got it working. I would suggest that better approach would still be using env.user_dir
.
🐛 Bug
I'm trying to run the hateful meme example, hm_example_mmf. But it seems that the model concat_vl wasn't registered.
Command
The command that I used is: mmf_run config="configs/experiments/defaults.yaml" model=concat_vl dataset=hateful_memes training.num_workers=0
I got this:
g:\mmf\mmf\utils\configuration.py:298: UserWarning: No model named 'concat_vl' has been registered warnings.warn(warning) 2020-12-16T11:25:45 | mmf.utils.configuration: Overriding option config to configs/experiments/defaults.yaml 2020-12-16T11:25:45 | mmf.utils.configuration: Overriding option model to concat_vl 2020-12-16T11:25:45 | mmf.utils.configuration: Overriding option datasets to hateful_memes 2020-12-16T11:25:45 | mmf.utils.configuration: Overriding option training.num_workers to 0 2020-12-16T11:25:45 | mmf: Logging to: ./save\train.log 2020-12-16T11:25:45 | mmf_cli.run: Namespace(config_override=None, local_rank=None, opts=['config=configs/experiments/defaults.yaml', 'model=concat_vl', 'dataset=hateful_memes', 'training.num_workers=0']) 2020-12-16T11:25:45 | mmf_cli.run: Torch version: 1.6.0 2020-12-16T11:25:45 | mmf.utils.general: CUDA Device 0 is: GeForce RTX 2060 2020-12-16T11:25:45 | mmf_cli.run: Using seed 45371147 2020-12-16T11:25:45 | mmf.trainers.mmf_trainer: Loading datasets Traceback (most recent call last): File "G:\Anaconda\envs\mmf2\Scripts\mmf_run-script.py", line 33, in
sys.exit(load_entry_point('mmf', 'console_scripts', 'mmf_run')())
File "g:\mmf\mmf_cli\run.py", line 122, in run
main(configuration, predict=predict)
File "g:\mmf\mmf_cli\run.py", line 52, in main
trainer.load()
File "g:\mmf\mmf\trainers\mmf_trainer.py", line 42, in load
super().load()
File "g:\mmf\mmf\trainers\base_trainer.py", line 29, in load
self.load_datasets()
File "g:\mmf\mmf\trainers\mmf_trainer.py", line 71, in load_datasets
self.dataset_loader.load_datasets()
File "g:\mmf\mmf\common\dataset_loader.py", line 17, in load_datasets
self.train_dataset.load(self.config)
File "g:\mmf\mmf\datasets\multi_dataset_loader.py", line 113, in load
self.build_datasets(config)
File "g:\mmf\mmf\datasets\multi_dataset_loader.py", line 128, in build_datasets
dataset_instance = build_dataset(dataset, dataset_config, self.dataset_type)
File "g:\mmf\mmf\utils\build.py", line 119, in build_dataset
dataset = builder_instance.load_dataset(config, dataset_type)
File "g:\mmf\mmf\datasets\base_dataset_builder.py", line 100, in load_dataset
dataset.init_processors()
File "g:\mmf\mmf\datasets\concat_dataset.py", line 35, in _call_all_datasets_func
value = getattr(dataset, name)(args, kwargs)
File "g:\mmf\mmf\datasets\builders\hateful_memes\dataset.py", line 72, in init_processors
super().init_processors()
File "g:\mmf\mmf\datasets\base_dataset.py", line 59, in init_processors
self.config.processors, reg_key, extra_params
File "g:\mmf\mmf\utils\build.py", line 352, in build_processors
processor_instance = Processor(processor_params, args, *kwargs)
File "g:\mmf\mmf\datasets\processors\processors.py", line 157, in init
self.processor = processor_class(params, args, **kwargs)
TypeError: 'NoneType' object is not callable
Expected behavior
Environment
PyTorch version: 1.6.0 Is debug build: No CUDA used to build PyTorch: 10.2
OS: Microsoft Windows 10 GCC version: Could not collect CMake version: Could not collect
Python version: 3.7 Is CUDA available: Yes CUDA runtime version: Could not collect GPU models and configuration: Could not collect Nvidia driver version: Could not collect cuDNN version: Could not collect
Versions of relevant libraries: [pip3] numpy==1.19.2 [pip3] torch==1.6.0 [pip3] torchtext==0.5.0 [pip3] torchvision==0.7.0 [conda] blas 1.0 mkl [conda] cudatoolkit 10.2.89 h74a9793_1 [conda] mkl 2020.2 256 [conda] mkl-service 2.3.0 py37h196d8e1_0 [conda] mkl_fft 1.2.0 py37h45dec08_0 [conda] mkl_random 1.1.1 py37h47e9c7a_0 [conda] numpy 1.19.2 py37hadc3359_0 [conda] numpy-base 1.19.2 py37ha3acd2a_0 [conda] pytorch 1.6.0 py3.7_cuda102_cudnn7_0 pytorch [conda] torchtext 0.5.0 pypi_0 pypi [conda] torchvision 0.7.0 py37_cu102 pytorch