Code Monkey home page Code Monkey logo

bmsg-gan's Introduction

BMSG-GAN

PyTorch implementation of [MSG-GAN].

**Please note that this is not the repo for the MSG-GAN research paper. Please head over to the msg-stylegan-tf repository for the official code and trained models for the MSG-GAN paper.

SageMaker

Training is now supported on AWS SageMaker. Please read https://docs.aws.amazon.com/sagemaker/latest/dg/pytorch.html

Flagship Diagram

MSG-GAN: Multi-Scale Gradient GAN for Stable Image Synthesis

Abstract:
While Generative Adversarial Networks (GANs) have seen huge successes in image synthesis tasks, they are notoriously difficult to use, in part due to instability during training. One commonly accepted reason for this instability is that gradients passing from the discriminator to the generator can quickly become uninformative, due to a learning imbalance during training. In this work, we propose the Multi-Scale Gradient Generative Adversarial Network (MSG-GAN), a simple but effective technique for addressing this problem which allows the flow of gradients from the discriminator to the generator at multiple scales. This technique provides a stable approach for generating synchronized multi-scale images. We present a very intuitive implementation of the mathematical MSG-GAN framework which uses the concatenation operation in the discriminator computations. We empirically validate the effect of our MSG-GAN approach through experiments on the CIFAR10 and Oxford102 flowers datasets and compare it with other relevant techniques which perform multi-scale image synthesis. In addition, we also provide details of our experiment on CelebA-HQ dataset for synthesizing 1024 x 1024 high resolution images.

Training time-lapse gif

An explanatory training time-lapse video/gif for the MSG-GAN. The higher resolution layers initially display plain colour blocks but eventually (very soon) the training penetrates all layers and then they all work in unison to produce better samples. Please observe the first few secs of the training, where the face like blobs appear in a sequential order from the lowest resolution to the highest resolution.

Multi-Scale Gradients architecture

proposed MSG-GAN architecture

The above figure describes the architecture of MSG-GAN for generating synchronized multi-scale images. Our method is based on the architecture proposed in proGAN, but instead of a progressively growing training scheme, includes connections from the intermediate layers of the generator to the intermediate layers of the discriminator. The multi-scale images input to the discriminator are converted into spatial volumes which are concatenated with the corresponding activation volumes obtained from the main path of convolutional layers.


For the discrimination process, appropriately downsampled versions of the real images are fed to corresponding layers of the discriminator as shown in the diagram (from above).


synchronization explanation


Above figure explains how, during training, all the layers in the MSG-GAN first synchronize colour-wise and subsequently improve the generated images at various scales. The brightness of the images across all layers (scales) synchronizes eventually

Running the Code

Please note to use value of learning_rate=0.003 for both G and D for all experiments for best results. The model is quite robust and converges to a very similar FID or IS very quickly even for different learning rate settings. Please use the relativistic-hinge as the loss function (set as default) for training.

Start the training by running the train.py script in the sourcecode/ directory. Refer to the following parameters for tweaking for your own use:

-h, --help            show this help message and exit
  --generator_file GENERATOR_FILE
                        pretrained weights file for generator
  --generator_optim_file GENERATOR_OPTIM_FILE
                        saved state for generator optimizer
  --shadow_generator_file SHADOW_GENERATOR_FILE
                        pretrained weights file for the shadow generator
  --discriminator_file DISCRIMINATOR_FILE
                        pretrained_weights file for discriminator
  --discriminator_optim_file DISCRIMINATOR_OPTIM_FILE
                        saved state for discriminator optimizer
  --images_dir IMAGES_DIR
                        path for the images directory
  --folder_distributed FOLDER_DISTRIBUTED
                        whether the images directory contains folders or not
  --flip_augment FLIP_AUGMENT
                        whether to randomly mirror the images during training
  --sample_dir SAMPLE_DIR
                        path for the generated samples directory
  --model_dir MODEL_DIR
                        path for saved models directory
  --loss_function LOSS_FUNCTION
                        loss function to be used: standard-gan, wgan-gp,
                        lsgan,lsgan-sigmoid,hinge, relativistic-hinge
  --depth DEPTH         Depth of the GAN
  --latent_size LATENT_SIZE
                        latent size for the generator
  --batch_size BATCH_SIZE
                        batch_size for training
  --start START         starting epoch number
  --num_epochs NUM_EPOCHS
                        number of epochs for training
  --feedback_factor FEEDBACK_FACTOR
                        number of logs to generate per epoch
  --num_samples NUM_SAMPLES
                        number of samples to generate for creating the grid
                        should be a square number preferably
  --checkpoint_factor CHECKPOINT_FACTOR
                        save model per n epochs
  --g_lr G_LR           learning rate for generator
  --d_lr D_LR           learning rate for discriminator
  --adam_beta1 ADAM_BETA1
                        value of beta_1 for adam optimizer
  --adam_beta2 ADAM_BETA2
                        value of beta_2 for adam optimizer
  --use_eql USE_EQL     Whether to use equalized learning rate or not
  --use_ema USE_EMA     Whether to use exponential moving averages or not
  --ema_decay EMA_DECAY
                        decay value for the ema
  --data_percentage DATA_PERCENTAGE
                        percentage of data to use
  --num_workers NUM_WORKERS
                        number of parallel workers for reading files
Sample Training Run

For training a network at resolution 256 x 256, use the following arguments:

$ python train.py --depth=7 \ 
                  --latent_size=512 \
                  --images_dir=<path to images> \
                  --sample_dir=samples/exp_1 \
                  --model_dir=models/exp_1

Set the batch_size, feedback_factor and checkpoint_factor accordingly. We used 2 Tesla V100 GPUs of the DGX-1 machine for our experimentation.

Generated samples on different datasets

⭐ [NEW] ⭐ CelebA HQ [1024 x 1024] (30K dataset)
CelebA-HQ


⭐ [NEW] ⭐ Oxford Flowers (improved samples) [256 x 256] (8K dataset)
oxford_big oxford_variety


CelebA HQ [256 x 256] (30K dataset)
CelebA-HQ


LSUN Bedrooms [128 x 128] (3M dataset)
lsun_bedrooms


CelebA [128 x 128] (200K dataset)
CelebA


Synchronized all-res generated samples

Cifar-10 [32 x 32] (50K dataset)
cifar_allres


Oxford-102 Flowers [256 x 256] (8K dataset)
flowers_allres


Cite our work

@article{karnewar2019msg,
  title={MSG-GAN: Multi-Scale Gradient GAN for Stable Image Synthesis},
  author={Karnewar, Animesh and Wang, Oliver and Iyengar, Raghu Sesha},
  journal={arXiv preprint arXiv:1903.06048},
  year={2019}
}

Other Contributors 😄

Cartoon Set [128 x 128] (10K dataset) by @huangzh13
Cartoon_Set


Thanks

Please feel free to open PRs here if you train on other datasets using this architecture.

Best regards,
@akanimax :)

bmsg-gan's People

Contributors

akanimax avatar huangzh13 avatar markstrefford avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bmsg-gan's Issues

How to quick test for trained model

Hi, I have train the MSG-GAN model with flower-102 dataset, and I have trained model weight.
So, how can I quick test this model to generate same flower from noise ??

Will I write load network and generate code ?? or you have this code but Not show then in ReadMe

Would you update ReadMe about how to test ?? this is better for use, thank you

No space left on disk

Hi, @akanimax ,thanks for sharing your code. I want to train my own data (colour fundus photos) to data augmentation. the number and resolution of my data set are 235 and 1024*1024. I trained more than 260 epochs, but generated images are still bad and happened the error "No space left on disk" , it is that the saved models and samples used too much space of my disk(170G). How can I solve the problems? Thanks a lot.

demo.py

I trained the model with:
python train.py --depth=7 --latent_size=512 --images_dir=../data/flowers --sample_dir=samples/exp_1 --model_dir=models/exp_1

and I test with:
python demo.py --generator_file=models/exp_1/GAN_DIS_3.pth --depth=7 --latent_size=512

but some error:

Missing key(s) in state_dict: "module.layers.0.conv_1.weight", "module.layers.0.conv_1.bias", "module.layers.0.conv_2.weight", "module.layers.0.conv_2.bias", "module.layers.1.conv_1.weight", "module.layers.1.conv_1.bias", "module.layers.1.conv_2.weight", "module.layers.1.conv_2.bias", "module.layers.2.conv_1.weight", "module.layers.2.conv_1.bias", "module.layers.2.conv_2.weight", "module.layers.2.conv_2.bias", "module.layers.3.conv_1.weight", "module.layers.3.conv_1.bias", "module.layers.3.conv_2.weight", "module.layers.3.conv_2.bias", "module.layers.4.conv_1.weight", "module.layers.4.conv_1.bias", "module.layers.4.conv_2.weight", "module.layers.4.conv_2.bias", "module.layers.5.conv_1.weight", "module.layers.5.conv_1.bias", "module.layers.5.conv_2.weight", "module.layers.5.conv_2.bias", "module.layers.6.conv_1.weight", "module.layers.6.conv_1.bias", "module.layers.6.conv_2.weight", "module.layers.6.conv_2.bias", "module.rgb_converters.0.weight", "module.rgb_converters.0.bias", "module.rgb_converters.1.weight", "module.rgb_converters.1.bias", "module.rgb_converters.2.weight", "module.rgb_converters.2.bias", "module.rgb_converters.3.weight", "module.rgb_converters.3.bias", "module.rgb_converters.4.weight", "module.rgb_converters.4.bias", "module.rgb_converters.5.weight", "module.rgb_converters.5.bias", "module.rgb_converters.6.weight", "module.rgb_converters.6.bias".
Unexpected key(s) in state_dict: "rgb_to_features.0.weight", "rgb_to_features.0.bias", "rgb_to_features.1.weight", "rgb_to_features.1.bias", "rgb_to_features.2.weight", "rgb_to_features.2.bias", "rgb_to_features.3.weight", "rgb_to_features.3.bias", "rgb_to_features.4.weight", "rgb_to_features.4.bias", "rgb_to_features.5.weight", "rgb_to_features.5.bias", "final_converter.weight", "final_converter.bias", "layers.0.conv_1.weight", "layers.0.conv_1.bias", "layers.0.conv_2.weight", "layers.0.conv_2.bias", "layers.1.conv_1.weight", "layers.1.conv_1.bias", "layers.1.conv_2.weight", "layers.1.conv_2.bias", "layers.2.conv_1.weight", "layers.2.conv_1.bias", "layers.2.conv_2.weight", "layers.2.conv_2.bias", "layers.3.conv_1.weight", "layers.3.conv_1.bias", "layers.3.conv_2.weight", "layers.3.conv_2.bias", "layers.4.conv_1.weight", "layers.4.conv_1.bias", "layers.4.conv_2.weight", "layers.4.conv_2.bias", "layers.5.conv_1.weight", "layers.5.conv_1.bias", "layers.5.conv_2.weight", "layers.5.conv_2.bias", "final_block.conv_1.weight", "final_block.conv_1.bias", "final_block.conv_2.weight", "final_block.conv_2.bias", "final_block.conv_3.weight", "final_block.conv_3.bias".

how to solve it?

Training at half-/mixed-precision?

Seeing very interesting results so far with the code in this repo. I'm wondering if @akanimax or anyone else has had any luck speeding up training with this repo by using half-precision or mixed-precision?

A runtime error occurred while running 'train.py'...

I encountered this error when I was training in the following configuration:

python train.py --images_dir='data/bird' --folder_distributed=True --sample_dir='samples/exp_1' --model_dir='models/exp_1'

I changed default options in train.py where
"default='os.environ['SM_MODEL_DIR']," to “samples/exp_1',” "default=os.environ['SM_CHANNEL_TRAINING'],“ to "default='data/bird',",
"default='os.environ['SM_MODEL_DIR']," to “samples/exp_1',”

The dataset is loaded correctly.
but it failed in training with this error :

Traceback (most recent call last):
File "train.py", line 267, in
main(parse_arguments())
File "train.py", line 261, in main
start=args.start
File "/data/user/BMSG-GAN/sourcecode/MSG_GAN/GAN.py", line 417, in train
for (i, batch) in enumerate(data, 1):
File "/data/user/.local/lib/python3.5/site-packages/torch/utils/data/dataloader.py", line 582, in next
return self._process_next_batch(batch)
File "/data/user/.local/lib/python3.5/site-packages/torch/utils/data/dataloader.py", line 608, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
RuntimeError: Traceback (most recent call last):
File "/data/user/.local/lib/python3.5/site-packages/torch/utils/data/_utils/worker.py", line 99, in worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/data/user/.local/lib/python3.5/site-packages/torch/utils/data/utils/worker.py", line 99, in
samples = collate_fn([dataset[i] for i in batch_indices])
File "/data/user/BMSG-GAN/sourcecode/data_processing/DataLoader.py", line 132, in getitem
img = self.transform(img)
File "/data/user/.local/lib/python3.5/site-packages/torchvision/transforms/transforms.py", line 60, in call
img = t(img)
File "/data/user/.local/lib/python3.5/site-packages/torchvision/transforms/transforms.py", line 163, in call
return F.normalize(tensor, self.mean, self.std, self.inplace)
File "/data/user/.local/lib/python3.5/site-packages/torchvision/transforms/functional.py", line 208, in normalize
tensor.sub
(mean[:, None, None]).div
(std[:, None, None])
RuntimeError: output with shape [1, 128, 128] doesn't match the broadcast shape [3, 128, 128]

I think this error has nothing to do with my modification.
Could you please tell me what caused this error?

runtimeerror

Change the number of gpus

@akanimax.Hi,
Nice work,I've implemented your code.It helped me a lot. But,I want to change the number of gpus.I own two Tesla graphics CARDS.Would you please tell me how to modify it! Thanks!

WGAN-GP loss: averaging penalties or not?

Hi @akanimax

First of all many thanks for this amazing contribution.

In the paper, it is stated we modified the gradient penalty to be the average of the penalties over each input.
I didn't see any of that in the original MSG-GAN tensorflow implementation, neither in the BMSG-GAN implementation: it seems rather like only the gradient penalty of the higher resolution image is used.

Did I miss something, or is it a slight variation between the paper and the implementation?

Cheers

edit: related to #35

when I train the model ? The d_loss is always 0.0 ? Is there some problems ?

Elapsed [0:05:20.807550] batch: 252 d_loss: 0.000000 g_loss: 9.195433
Elapsed [0:05:32.021947] batch: 261 d_loss: 0.000000 g_loss: 9.544848
Elapsed [0:05:43.313830] batch: 270 d_loss: 0.000000 g_loss: 8.533874
Elapsed [0:05:54.605321] batch: 279 d_loss: 0.000000 g_loss: 8.899170
Elapsed [0:06:06.190011] batch: 288 d_loss: 0.000000 g_loss: 18.478725
Elapsed [0:06:17.612306] batch: 297 d_loss: 0.000000 g_loss: 7.378197

Msggan quality results

Hello!

I am using msggan, but I get worse results than in the paper.

I tried celebHQ whole dataset (100k samples), with resolution 64x64 and 128x,128.
For 64x64 I have done ~250 epochs
and for 128x128 ~ 47epochs.

Results are not bad (much better than DCGAN), but they have worse texture quality than in msggan paper, and only 30% samples looks realistic. 70% samples look like monster (weird faces, weird artifacts etc).

I am using 3060ti
batch size 12
Rest of hyperparameters are default like in repo (LR = 0.003, latent_size = 512, loss_function = relativistic-hinge, flip-augment=True)

Any ideas? Can anyone share results?

image

I am attaching my 64x64 results (every epoch is 100k samples, so 251 epoch is 25mln real samples)

image

and 47 epoch for 256x256

Can't load images | KeyError: 'SM_CHANNEL_TRAINING'

i ran !python train.py --depth=7 --latent_size=512 --images_dir='../data/train' --num_epochs=100 --num_samples=8 --sample_dir=samples/exp_1 --model_dir=models/exp_1
and got this error:

Traceback (most recent call last):
  File "train.py", line 267, in <module>
    main(parse_arguments())
  File "train.py", line 57, in parse_arguments
    default=os.environ['SM_CHANNEL_TRAINING'],
  File "/usr/lib/python3.6/os.py", line 669, in __getitem__
    raise KeyError(key) from None
KeyError: 'SM_CHANNEL_TRAINING'

i'm using google colab on pytorch 1.7 version
dataset im using is "Linnaeus 5 256X256" from here
data folder has 2 folders inside: train and test. inside them folders containing jpg images

what i tried and didnt work:
used a different path
pytorch 1.0.0 version
on my local machine
removing some & all parameters
using a different dataset

i hope somebody help me, i spent hours trying to find a solution and didn't succeed.

Thank you.

Sagemaker environment vars should not be required

USE_SAGEMAKER is checked at the beginning of train.py but not in the arg code which includes a few sagemaker variables. Easy enough to comment out but would be nice just to pull the USE_SAGEMAKER through completely in the code for all variables.

Would you add compute IS and FID code ??

hi, It is me again.

I think many kind of method for computing IS and FID , so would you release your code about how to compute IS and FID for cifar10 , celeba_HQ, dataset?

WGAN-GP for Training MSG_ProGAN is failed

Hi, I read your newest version paper (v3) in arxiv, and i saw that add MSG_styleGAN information, I'm glad to see it , but I have some question about paper :

  1. I think you paper said the result of showing in paper is trained MSG_ProGAN by using WGAN-GP, and trained MSG_styleGAN by using Non-saturating GAN loss with 1-sided gp. This repo is for training MSG_ProGAN but default GAN loss is relativistic-hinge and then I changed it to wgan-gp it failed ,because of not support for mult-scale Discriminator , Can you update this function code. (B.T.W) I implemented by myself but I don't right or false)

  2. why default using relativistic-hinge not WGAN-gp

Starting point to add conditioning on labels?

Sorry @akanimax to open a new issue but this is a question I would love some help with. Basically I want to modify your architecture slightly to add the functionality of conditioning on image labels. For example if training on the flowers set, rather than just load image data to the model, load both image data + accompanying image label data like image of sunflower and label like tall yellow flower, black seeds in middle etc.

Can you give me an idea of how to start with this with your code?
My plan to generate labels is use subfolders in image set where each subfolder name contains images of that name.

Thanks again,
Mason

Data preprocessing tips

Hello @akanimax , awesome results.

I have my own use case which is generate realistic images of vehicles.
I am using a publicly available dataset for testing, I think stanford cars dataset.

I am wondering how important alignment is. For example if I have cars in different orientation (facing left, right etc) should I make them all aligned for the GAN training? If I don't, will this hinder the ability to generate images?

Thanks for any insight,
Mason

How importance about **Equalized learning rate**

Hi, as I know this trick start with StyleGAN, but I not train GAN successful with it,I see, you also recommend it, So, I want to ask, how importance about eql with your feeling

Why smaller batch size results better results? With the epochs increased, the G loss went up?

There are 8k+ 256*256 images in my datasets, I set batchsize=32 and trained with 4 12GB GPUs, but it's not as good as I set batchsize = 4 and trained with one GPU,neither the training speed nor the image quality. Why a smaller batch size results better results? Is there a best batchsize?
Beside,I set batchsize=4, when epoch>70, g-loss went up obviously,and qualities of generated images went worse.Why did this happen? (Training process was interrupted when epoch = 54, I reloaded weight files and optimer states from epoch 53 )
Thanks!

MSG-cycleGAN

I try to implement msg way to cycleGAN for two weeks.
The generator : Unet-withSkipConnection and downsample(k=4, s=2 conv) upsample(Deconv) 8x.

But the D_loss, both D_A and D_B always decreased near to zero and G_loss(lsgan) always stuck in 0.01 ...

What I want to know is whether this combination will work? msg + cycleGAN?
Anybody tried before?

About the performance of BMSG-GAN

Hi, you published BBMSG-GAN. And In order to match the performance of ProGANs, you increased the size of the Discriminator (the one here in BMSG-GAN is technically half that of ProGAN) and use tricks like Batch Spoofing. So, do you mean that the performance of Pro-GANs is better than BMSG-GAN? But BBMSG-GAN is better than Pro-GANs? Of course, the number of parameters is bigger?

Error(s) in loading state_dict for DataParallel in generating_samples.py

After a whole training with

$ python3 sourcecode/train.py --depth=7 --latent_size=256 --images_dir=DATASET --sample_dir=sampledir/exp2 --model_dir=modeldir/exp2

when launching

$ python3 sourcecode/generate_samples.py --generator_file=modeldir/exp2/GAN_GEN_100.pth --depth=7 --out_dir=outputdir

I got:

''
Creating generator object ...
Loading the generator weights from: modeldir/exp2/GAN_GEN_100.pth
Traceback (most recent call last):
File "sourcecode/generate_samples.py", line 134, in
main(parse_arguments())
File "sourcecode/generate_samples.py", line 105, in main
gen.load_state_dict(
File "~/.local/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for DataParallel:
Missing key(s) in state_dict: "module.layers.7.conv_1.weight", "module.layers.7.conv_1.bias", "module.layers.7.conv_2.weight", "module.layers.7.conv_2.bias", "module.layers.8.conv_1.weight", "module.layers.8.conv_1.bias", "module.layers.8.conv_2.weight", "module.layers.8.conv_2.bias", "module.rgb_converters.7.weight", "module.rgb_converters.7.bias", "module.rgb_converters.8.weight", "module.rgb_converters.8.bias".
''

Both training and generation are executed on the same machine with multiple GPUs enabled and ready.

Training scripts for CIFAR-10

Hi Akanimax, thanks for your great work!

Could you please also release the training scripts for CIFAR10 generation?

I met this error when run python3 demo.py

Hi, @markstrefford @owang @sridharmahadevan @akanimax @huangzh13

I met this error when run python3 demo.py

tezro@sgi320:~/deepZ/BMSG-GAN/sourcecode$ python3 demo.py --generator_file ./GAN_GEN_60.pth
Traceback (most recent call last):
File "demo.py", line 9, in
from generate_multi_scale_samples import progressive_upscaling
File "/home/tezro/deepZ/BMSG-GAN/sourcecode/generate_multi_scale_samples.py", line 9, in
from torchvision.utils import make_grid
File "/usr/local/lib/python3.7/dist-packages/torchvision/init.py", line 1, in
from torchvision import models
File "/usr/local/lib/python3.7/dist-packages/torchvision/models/init.py", line 12, in
from . import detection
File "/usr/local/lib/python3.7/dist-packages/torchvision/models/detection/init.py", line 1, in
from .faster_rcnn import *
File "/usr/local/lib/python3.7/dist-packages/torchvision/models/detection/faster_rcnn.py", line 13, in
from .rpn import AnchorGenerator, RPNHead, RegionProposalNetwork
File "/usr/local/lib/python3.7/dist-packages/torchvision/models/detection/rpn.py", line 8, in
from . import _utils as det_utils
File "/usr/local/lib/python3.7/dist-packages/torchvision/models/detection/_utils.py", line 74, in
@torch.jit.script
File "/usr/local/lib/python3.7/dist-packages/torch/jit/init.py", line 364, in script
graph = _script_graph(fn, _frames_up=_frames_up + 1)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/init.py", line 359, in _script_graph
ast = get_jit_ast(fn)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 132, in get_jit_ast
return build_def(SourceRangeFactory(source), py_ast.body[0])
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 151, in build_def
build_stmts(ctx, body))
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 123, in build_stmts
stmts = [build_stmt(ctx, s) for s in stmts]
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 123, in
stmts = [build_stmt(ctx, s) for s in stmts]
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 140, in call
return method(ctx, node)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 205, in build_Assign
rhs = build_expr(ctx, stmt.value)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 140, in call
return method(ctx, node)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 314, in build_Call
func = build_expr(ctx, expr.func)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 140, in call
return method(ctx, node)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 300, in build_Attribute
value = build_expr(ctx, expr.value)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 140, in call
return method(ctx, node)
File "/usr/local/lib/python3.7/dist-packages/torch/jit/frontend.py", line 422, in build_Subscript
raise NotSupportedError(base.range(), "slicing multiple dimensions at the same time isn't supported yet")
torch.jit.frontend.NotSupportedError: slicing multiple dimensions at the same time isn't supported yet
proposals (Tensor): boxes to be encoded

What's wrong to me ??

Best,
@bemoregt.

I have met this error when run train.py ...

Hi, @owang @sridharmahadevan @akanimax @huangzh13

I have met this error when run train.py ...
What's wrong to me?

oem@sgi:~/BMSG-GAN/sourcecode$ python3 train.py --depth=7 --latent_size=128 --images_dir='../data/celebJapan/train' --sample_dir=samples/exp_2 --model_dir=models/exp_2
Total number of images in the dataset: 6604

error message -
Starting the training process ...

Epoch: 1
Elapsed [0:00:04.581270] batch: 1 d_loss: 4.346926 g_loss: 6.674685
Traceback (most recent call last):
File "train.py", line 254, in
main(parse_arguments())
File "train.py", line 248, in main
start=args.start
File "/home/oem/BMSG-GAN/sourcecode/MSG_GAN/GAN.py", line 482, in train
gen_img_files)
File "/home/oem/BMSG-GAN/sourcecode/MSG_GAN/GAN.py", line 345, in create_grid
samples = [Generator.adjust_dynamic_range(sample) for sample in samples]
File "/home/oem/BMSG-GAN/sourcecode/MSG_GAN/GAN.py", line 345, in
samples = [Generator.adjust_dynamic_range(sample) for sample in samples]
File "/home/oem/BMSG-GAN/sourcecode/MSG_GAN/GAN.py", line 96, in adjust_dynamic_range
data = data * scale + bias
TypeError: mul() received an invalid combination of arguments - got (numpy.float32), but expected one of:

  • (Tensor other)
    didn't match because some of the arguments have invalid types: (numpy.float32)
  • (Number other)
    didn't match because some of the arguments have invalid types: (numpy.float32)

Thanks in advance ~

Model collapse

Why are all the images generated by me using the trained network exactly the same?
I observed the training process, and the images generated using different noises are still somewhat different, but gradually they become the same image. What is the reason? Is my training data too small?

deprecated function call in generate_samples

I am a bit lame with GitHub pull requests so here is a note that a call is deprecated:

generate_samples.py:126: DeprecationWarning: imsave is deprecated!
imsave is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
Use imageio.imwrite instead.
ss_image.squeeze(0).permute(1, 2, 0).cpu())

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.