pfnet-research / chainer-gan-lib Goto Github PK
View Code? Open in Web Editor NEWChainer implementation of recent GAN variants
License: MIT License
Chainer implementation of recent GAN variants
License: MIT License
I downloaded your cifar-10-fid.npz file and when trying to load the data using fid = FID(stat["mean"], stat["cov"], mean, cov)
then get following error: KeyError: 'mean is not a file in the archive'
Is there a discrepancy between the code and the file?
Thanks for your interesting works.
I tried chainer-gan-lib/progressive, but it does not work well,
[Environments]
chainer-4.0.0a1, cupy-3.0.0a1, python 3.5.2, numpy 1.11.1, tensorflow 1.2.0.
The error message said, "RuntimeError: cannot twice-differentiate an old style Function "sqrt"".
It seems some trouble happened on twice-differentiate of backward().
However, I confirmed that chainer-gan-lib/wgan_gp, which also uses twice-differentiate, works for me.
All error messages are as follows:
/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/cupy/core/fusion.py:659: FutureWarning: cupy.core.fusion is experimental. The interface can change in the future.
util.experimental('cupy.core.fusion')
Exception in main training loop: cannot twice-differentiate an old style Function "sqrt"
Traceback (most recent call last):
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/training/trainer.py", line 302, in run
entry.extension(self)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/reporter.py", line 98, in scope
yield
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/training/trainer.py", line 299, in run
update()
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/training/updater.py", line 223, in update
self.update_core()
File "/project/nakamura-lab07/Work/seitaro-s/chainer-gan-lib/progressive/updater.py", line 85, in update_core
loss_dis_total.backward()
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 878, in backward
self._backward_main(retain_grad)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/configuration.py", line 128, in using_config
yield
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 878, in backward
self._backward_main(retain_grad)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 971, in _backward_main
x._check_old_style_gradient()
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 396, in _check_old_style_gradient
self._old_style_grad_generator)
Will finalize trainer extensions and updater before reraising the exception.
Traceback (most recent call last):
File "train.py", line 135, in <module>
main()
File "train.py", line 131, in main
trainer.run()
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/training/trainer.py", line 313, in run
six.reraise(*sys.exc_info())
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/six.py", line 693, in reraise
raise value
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/training/trainer.py", line 302, in run
entry.extension(self)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/reporter.py", line 98, in scope
yield
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/training/trainer.py", line 299, in run
update()
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/training/updater.py", line 223, in update
self.update_core()
File "/project/nakamura-lab07/Work/seitaro-s/chainer-gan-lib/progressive/updater.py", line 85, in update_core
loss_dis_total.backward()
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 878, in backward
self._backward_main(retain_grad)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/configuration.py", line 128, in using_config
yield
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 878, in backward
self._backward_main(retain_grad)
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 971, in _backward_main
x._check_old_style_gradient()
File "/home/is/seitaro-s/.pyenv/versions/anaconda3-2.1.0/envs/chainerv4/lib/python3.5/site-packages/chainer/variable.py", line 396, in _check_old_style_gradient
self._old_style_grad_generator)
RuntimeError: cannot twice-differentiate an old style Function "sqrt"
There appears to be an error in how the loss_gp term is computed. In the code snippet, x_perturb
is used to calculate y_mid
. However, y_mid
is only used for the shape to create an array of ones, instead of the actual output from the discriminator. The values of x_perturb
do not seem to be used to compute the loss_gp
.
chainer-gan-lib/dragan/updater.py
Lines 40 to 43 in 18b7c7d
after download inception
module on common/inception/
, I got following error
from inception.inception_score import inception_score, Inception
ModuleNotFoundError: No module named 'inception.inception_score'
do I edited evaluation.py
.
from inception.inception_score
to
from common.inception.inception_score
is working on root directory of this repository and exec train.py
is correct ?
In updater of progressive GAN, the "reso", "reso_low" and "reso_high" at lines 41,47,48 must be converted to "int" as it will then be used as kernel and stride in F.average_pooling_2d
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.
I look from introduction there is not implement in recently CycleGAN, DiscoGAN, DualGAN, Can support implement for them?
There is having SN-DCGAN's results.But I can't find the code.
Will you release the code of ResNet based SN-DCGAN model for training ILRSVRC2012 dataset? I'm curious about the details of this network architecture. Thanks.
Hello.
Although generally, in GAN I think that we use deconvolution, in PGGAN you use unpooling and convolution.
Where is the original thesis as for using unpooling and convolution?
Please tell me for that.
Thanks!
Hello, I tried "python train.py --gpu -1 --algorithm dcgan --out result_dcgan " with chainerv5.0.0a1&iDeep, I saw following error:
File "/home/mingxiao/Documents/chainer-gan-lib/common/evaluation.py", line 175, in evaluation
mean, cov = get_mean_cov(model, np.asarray(xs).reshape((-1, 3, h, w)))
File "/home/mingxiao/Documents/chainer-gan-lib/common/evaluation.py", line 142, in get_mean_cov
mean = xp.mean(ys, axis=0).get()
AttributeError: 'numpy.ndarray' object has no attribute 'get'
Have you ever seen this before? Thanks in advance.
Which scores in the table are from your code? Do you have the commands to reproduce them exactly?
Traceback (most recent call last):
File "/media/scs4450/52d95cdd-64a0-4c37-9480-dc43778ffc5f/next/gan/chainer-gan-lib-master/train.py", line 191, in
main()
File "/media/scs4450/52d95cdd-64a0-4c37-9480-dc43778ffc5f/next/gan/chainer-gan-lib-master/train.py", line 187, in main
trainer.run()
File "/usr/local/lib/python3.4/dist-packages/chainer/training/trainer.py", line 313, in run
six.reraise(*sys.exc_info())
File "/usr/local/lib/python3.4/dist-packages/six.py", line 693, in reraise
raise value
File "/usr/local/lib/python3.4/dist-packages/chainer/training/trainer.py", line 302, in run
entry.extension(self)
File "/media/scs4450/52d95cdd-64a0-4c37-9480-dc43778ffc5f/next/gan/chainer-gan-lib-master/common/evaluation.py", line 104, in evaluation
mean, std = inception_score(model, ims)
File "/media/scs4450/52d95cdd-64a0-4c37-9480-dc43778ffc5f/next/gan/chainer-gan-lib-master/common/inception/inception_score.py", line 42, in inception_score
ims_batch = Variable(ims_batch, volatile=False)
File "/usr/local/lib/python3.4/dist-packages/chainer/variable.py", line 443, in init
kwargs, volatile='volatile argument is not supported anymore. '
File "/usr/local/lib/python3.4/dist-packages/chainer/utils/argument.py", line 4, in check_unexpected_kwargs
raise ValueError(message)
ValueError: volatile argument is not supported anymore. Use chainer.using_config
hello, would you please also consider CPU(especially iDeep enbaled) case? In some files, we can see that you did "model.to_gpu()" or "chainer.cuda.to_cpu(**)" without checking directly. Thanks.
I figure self.inv_c = np.sqrt(2.0/(in_ch))
should be self.inv_c = np.sqrt(2.0/(in_ch*ksize**2))
like EqualizedConv2d layer. What do you think? :0
original code:
class EqualizedDeconv2d(chainer.Chain):
def __init__(self, in_ch, out_ch, ksize, stride, pad):
w = chainer.initializers.Normal(1.0) # equalized learning rate
self.inv_c = np.sqrt(2.0/(in_ch))
super(EqualizedDeconv2d, self).__init__()
with self.init_scope():
self.c = L.Deconvolution2D(in_ch, out_ch, ksize, stride, pad, initialW=w)
def __call__(self, x):
return self.c(self.inv_c * x)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.