nlp-tutorial icon indicating copy to clipboard operation
nlp-tutorial copied to clipboard

neural-machine-translation - nmt ZeroDivisionError: integer division or modulo by zero

Open abdoelsayed2016 opened this issue 5 years ago • 1 comments

Traceback (most recent call last):

File "", line 1, in runfile('D:/nlp-tutorial/neural-machine-translation/nmt/train.py', wdir='D:/nlp-tutorial/neural-machine-translation/nmt')

File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile execfile(filename, namespace)

File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile exec(compile(f.read(), filename, 'exec'), namespace)

File "D:/nlp-tutorial/neural-machine-translation/nmt/train.py", line 254, in trainiters(pairs, encoder, decoder, n_iters)

File "D:/nlp-tutorial/neural-machine-translation/nmt/train.py", line 184, in trainiters train_pairs += [random.choice(train_pairs) for i in range(n_iters%len(train_pairs))]

ZeroDivisionError: integer division or modulo by zero

abdoelsayed2016 avatar Feb 16 '20 14:02 abdoelsayed2016

I got a solution for that 3 line in your code must change from train_pairs *= n_iters//len(train_pairs) train_pairs += [random.choice(train_pairs) for i in range(n_iters%len(train_pairs))] train_pairs = [tensorsFromPair(pair) for pair in train_pairs] to train_pairs = [tensorsFromPair(random.choice(train_pairs)) for i in range(n_iters)]

abdoelsayed2016 avatar Feb 16 '20 20:02 abdoelsayed2016