pfnet-research / chainer-gan-lib

Chainer implementation of recent GAN variants
MIT License
406 stars 83 forks source link

TypeError: create_convolution_descriptor() got an unexpected keyword argument 'group' #13

Open iaroslav-ai opened 6 years ago

iaroslav-ai commented 6 years ago

I am not able to run training with progressive gan code. After installing chainer from source according to instructions here and following the instructions for installation in this repo, I try to run progressive gan training code as follows:

python3 train.py

However, I get an exception, which reads as:

Exception in main training loop: create_convolution_descriptor() got an unexpected keyword argument 'group'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/training/trainer.py", line 304, in run
    update()
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/training/updaters/standard_updater.py", line 136, in update
    self.update_core()
  File "/home/iaroslav/chainer-gan-lib/progressive/updater.py", line 59, in update_core
    y_real = self.dis(x_real, stage=self.stage)
  File "/home/iaroslav/chainer-gan-lib/progressive/net.py", line 180, in __call__
    h = F.leaky_relu(fromRGB(x))
  File "/home/iaroslav/chainer-gan-lib/progressive/net.py", line 28, in __call__
    return self.c(self.inv_c * x)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/links/connection/convolution_2d.py", line 164, in __call__
    group=self.group)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 638, in convolution_2d
    y, = fnode.apply(args)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/function_node.py", line 257, in apply
    outputs = self.forward(in_data)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/function_node.py", line 364, in forward
    return self.forward_gpu(inputs)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 167, in forward_gpu
    return self._forward_cudnn(x, W, b, y)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 246, in _forward_cudnn
    group=self.group)
Will finalize trainer extensions and updater before reraising the exception.
Traceback (most recent call last):
  File "/home/iaroslav/.local/share/umake/ide/pycharm/helpers/pydev/pydevd.py", line 1596, in <module>
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/home/iaroslav/.local/share/umake/ide/pycharm/helpers/pydev/pydevd.py", line 974, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/home/iaroslav/.local/share/umake/ide/pycharm/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/iaroslav/chainer-gan-lib/progressive/train.py", line 166, in <module>
    main()
  File "/home/iaroslav/chainer-gan-lib/progressive/train.py", line 162, in main
    trainer.run()
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/training/trainer.py", line 318, in run
    six.reraise(*sys.exc_info())
  File "/usr/local/lib/python3.5/dist-packages/six.py", line 693, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/training/trainer.py", line 304, in run
    update()
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/training/updaters/standard_updater.py", line 136, in update
    self.update_core()
  File "/home/iaroslav/chainer-gan-lib/progressive/updater.py", line 59, in update_core
    y_real = self.dis(x_real, stage=self.stage)
  File "/home/iaroslav/chainer-gan-lib/progressive/net.py", line 180, in __call__
    h = F.leaky_relu(fromRGB(x))
  File "/home/iaroslav/chainer-gan-lib/progressive/net.py", line 28, in __call__
    return self.c(self.inv_c * x)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/links/connection/convolution_2d.py", line 164, in __call__
    group=self.group)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 638, in convolution_2d
    y, = fnode.apply(args)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/function_node.py", line 257, in apply
    outputs = self.forward(in_data)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/function_node.py", line 364, in forward
    return self.forward_gpu(inputs)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 167, in forward_gpu
    return self._forward_cudnn(x, W, b, y)
  File "/usr/local/lib/python3.5/dist-packages/chainer-4.0.0b2-py3.5.egg/chainer/functions/connection/convolution_2d.py", line 246, in _forward_cudnn
    group=self.group)
TypeError: create_convolution_descriptor() got an unexpected keyword argument 'group'

My OS: Ubuntu 16 I use python3 CuDNN version according to chainer.backends.cuda.cuda.cudnn.getVersion(): 7004 Cuda version according to nvcc --version: V8.0.61 cupy version: 3.0.0a1 numpy version: 1.14.0

Let me know if you need more information or if the issue should be posted in the chainer repo instead.

iaroslav-ai commented 6 years ago

I installed cupy from source as described here and now it works! :tada: Would you like a PR with a note about more recent version of dependencies for the progressive GAN?