I’m getting this error:
ImportError: No module named 'forget_mult_cuda'
I’ve seen other folks struggling with this and so I’m hoping someone has some insights on how to resolve.
Here is the full stack-trace:
ImportError Traceback (most recent call last)
<timed exec> in <module>
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/fastai/text/learner.py in language_model_learner(data, arch, config, drop_mult, pretrained, pretrained_fnames, **learn_kwargs)
202 pretrained_fnames:OptStrTuple=None, **learn_kwargs) -> 'LanguageLearner':
203 "Create a `Learner` with a language model from `data` and `arch`."
--> 204 model = get_language_model(arch, len(data.vocab.itos), config=config, drop_mult=drop_mult)
205 meta = _model_meta[arch]
206 learn = LanguageLearner(data, model, split_func=meta['split_lm'], **learn_kwargs)
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/fastai/text/learner.py in get_language_model(arch, vocab_sz, config, drop_mult)
193 tie_weights,output_p,out_bias = map(config.pop, ['tie_weights', 'output_p', 'out_bias'])
194 init = config.pop('init') if 'init' in config else None
--> 195 encoder = arch(vocab_sz, **config)
196 enc = encoder.encoder if tie_weights else None
197 decoder = LinearDecoder(vocab_sz, config[meta['hid_name']], output_p, tie_encoder=enc, bias=out_bias)
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/fastai/core.py in _init(self, *args, **kwargs)
64 def _init(self,*args,**kwargs):
65 self.__pre_init__()
---> 66 old_init(self, *args,**kwargs)
67 self.__post_init__()
68 x.__init__ = _init
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/fastai/text/models/awd_lstm.py in __init__(self, vocab_sz, emb_sz, n_hid, n_layers, pad_token, hidden_p, input_p, embed_p, weight_p, qrnn, bidir)
86 if self.qrnn:
87 #Using QRNN requires an installation of cuda
---> 88 from .qrnn import QRNN
89 self.rnns = [QRNN(emb_sz if l == 0 else n_hid, (n_hid if l != n_layers - 1 else emb_sz)//self.n_dir, 1,
90 save_prev_x=True, zoneout=0, window=2 if l == 0 else 1, output_gate=True, bidirectional=bidir)
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/fastai/text/models/qrnn.py in <module>
9 fastai_path = Path(fastai.__path__[0])/'text'/'models'
10 files = ['forget_mult_cuda.cpp', 'forget_mult_cuda_kernel.cu']
---> 11 forget_mult_cuda = load(name='forget_mult_cuda', sources=[fastai_path/f for f in files])
12 files = ['bwd_forget_mult_cuda.cpp', 'bwd_forget_mult_cuda_kernel.cu']
13 bwd_forget_mult_cuda = load(name='bwd_forget_mult_cuda', sources=[fastai_path/f for f in files])
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/torch/utils/cpp_extension.py in load(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module)
659 verbose,
660 with_cuda,
--> 661 is_python_module)
662
663
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/torch/utils/cpp_extension.py in _jit_compile(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module)
839 if verbose:
840 print('Loading extension module {}...'.format(name))
--> 841 return _import_module_from_library(name, build_directory, is_python_module)
842
843
~/anaconda3/envs/piegu-language-models/lib/python3.7/site-packages/torch/utils/cpp_extension.py in _import_module_from_library(module_name, path, is_python_module)
1046 def _import_module_from_library(module_name, path, is_python_module):
1047 # https://stackoverflow.com/questions/67631/how-to-import-a-module-given-the-full-path
-> 1048 file, path, description = imp.find_module(module_name, [path])
1049 # Close the .so file after load.
1050 with file:
~/anaconda3/envs/piegu-language-models/lib/python3.7/imp.py in find_module(name, path)
294 break # Break out of outer loop when breaking out of inner loop.
295 else:
--> 296 raise ImportError(_ERR_MSG.format(name), name=name)
297
298 encoding = None
ImportError: No module named 'forget_mult_cuda'