Multi-Style-Photo-Cartoonization icon indicating copy to clipboard operation
Multi-Style-Photo-Cartoonization copied to clipboard

IndexError: list index out of range? Thank you for your help.

Open Jamie-Cheung opened this issue 2 years ago • 2 comments

the start ------------ Options ------------- batchSize: 4 beta1: 0.5 checkpoints_dir: ./checkpoints classifier_framework: conv4 continue_train: False d_domains: 3 dataroot: F:\Muti-cartoon\Multi-Style-Photo-Cartoonization-main\datasets\alps1 display_freq: 100 display_id: 0 display_port: 8097 display_single_pane_ncols: 0 display_winsize: 256 encoder_test: False fineSize: 256 gpu_ids: [0] init: True init_lr: 0.0002 init_niter: 20 input_nc: 3 isTrain: True lambda_classfication: 0.5 lambda_content: 0.2 loadSize: 256 lr: 1e-05 max_dataset_size: inf nThreads: 0 n_domains: 3 name: train ndf: 32 netD_framework: cartoon_discriminator netD_n_layers: 4 netG_framework: cartoon_generator netG_n_blocks: 9 netG_n_shared: 0 ngf: 64 niter: 100 niter_decay: 50 no_flip: False no_html: False no_lsgan: False norm: instance output_nc: 3 phase: train pool_size: 50 print_freq: 100 resize_or_crop: resize_and_crop save_epoch_freq: 5 use_dropout: False vgg_pretrained_mode: ./vgg19.pth which_epoch: 0 -------------- End ---------------- load data from: F:\Muti-cartoon\Multi-Style-Photo-Cartoonization-main\datasets\alps1\train0 F:\Muti-cartoon\Multi-Style-Photo-Cartoonization-main\datasets\alps1\train1_hayao F:\Muti-cartoon\Multi-Style-Photo-Cartoonization-main\datasets\alps1\train2_shinkai F:\Muti-cartoon\Multi-Style-Photo-Cartoonization-main\datasets\alps1\train3_hosoda

training images = 5402

Sequential( (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): ReLU(inplace=True) (2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): ReLU(inplace=True) (4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (5): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (6): ReLU(inplace=True) (7): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (8): ReLU(inplace=True) (9): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (10): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (11): ReLU(inplace=True) (12): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (13): ReLU(inplace=True) (14): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (15): ReLU(inplace=True) (16): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (17): ReLU(inplace=True) (18): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (19): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (20): ReLU(inplace=True) (21): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (22): ReLU(inplace=True) (23): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (24): ReLU(inplace=True) (25): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (26): ReLU(inplace=True) (27): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (28): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (29): ReLU(inplace=True) (30): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (31): ReLU(inplace=True) (32): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (33): ReLU(inplace=True) (34): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (35): ReLU(inplace=True) (36): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) ) [Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)), ReLU(inplace=True), Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)), ReLU(inplace=True), MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False), Conv2d(64, 128, ke rnel_size=(3, 3), stride=(1, 1), padding=(1, 1)), ReLU(inplace=True), Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))] load VGG weights successfully ---------- Networks initialized ------------- ResnetGenEncoder( (model): Sequential( (0): ReflectionPad2d((3, 3, 3, 3)) (1): Conv2d(3, 64, kernel_size=(7, 7), stride=(1, 1)) (2): InstanceNorm2d(64, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): ReLU(inplace=True) (4): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1)) (5): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (6): InstanceNorm2d(128, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (7): ReLU(inplace=True) (8): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1)) (9): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (10): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (11): ReLU(inplace=True) (12): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (13): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (14): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (15): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (16): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) ) ) ResnetGenDecoder_upsample( (model): Sequential( (0): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (1): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (2): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (3): ResnetBlock( (conv_block): SequentialContext( (0): ReflectionPad2d((1, 1, 1, 1)) (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (2): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (3): PReLU(num_parameters=1) (4): ReflectionPad2d((1, 1, 1, 1)) (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1)) (6): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) ) ) (4): Upsample(scale_factor=2.0, mode=bilinear) (5): Conv2d(256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (6): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): InstanceNorm2d(128, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (8): ReLU(inplace=True) (9): Upsample(scale_factor=2.0, mode=bilinear) (10): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (11): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (12): InstanceNorm2d(64, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (13): ReLU(inplace=True) (14): Conv2d(64, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (15): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (16): InstanceNorm2d(32, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (17): ReLU(inplace=True) (18): Conv2d(32, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (19): Conv2d(16, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (20): InstanceNorm2d(16, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (21): ReLU(inplace=True) (22): Conv2d(16, 3, kernel_size=(7, 7), stride=(1, 1), padding=(3, 3)) (23): Tanh() ) ) Created 1 Encoder-Decoder pairs Number of parameters per Encoder: 7016965 Number of parameters per Deocder: 5310999 NLayerDiscriminator( (model_dis): Sequential( (0): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): LeakyReLU(negative_slope=0.2, inplace=True) (2): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): InstanceNorm2d(128, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (6): LeakyReLU(negative_slope=0.2, inplace=True) (7): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1)) (8): LeakyReLU(negative_slope=0.2, inplace=True) (9): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (10): InstanceNorm2d(256, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False) (11): LeakyReLU(negative_slope=0.2, inplace=True) (12): Conv2d(256, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) ) Created 3 Discriminators Number of parameters per Discriminator: 538305 aux_classifier_conv_4( (main): Sequential( (0): Conv2d(3, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1)) (1): LeakyReLU(negative_slope=0.01) (2): Conv2d(32, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.01) (4): Conv2d(64, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.01) (6): Conv2d(128, 256, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1)) (7): LeakyReLU(negative_slope=0.01) (8): Conv2d(256, 512, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1)) (9): LeakyReLU(negative_slope=0.01) (10): Conv2d(512, 4, kernel_size=(8, 8), stride=(1, 1), bias=False) ) )

create web directory ./checkpoints\train\web... 0.0002 Traceback (most recent call last): File "train.py", line 30, in for i, data in enumerate(dataset): # get the data as input {'A':image, 'B":image} File "F:\Muti-cartoon\Multi-Style-Photo-Cartoonization-main\data\data_loader.py", line 21, in iter for i, data in enumerate(self.dataloader): File "D:\anaconda\envs\th1.71\lib\site-packages\torch\utils\data\dataloader.py", line 435, in next data = self._next_data() File "D:\anaconda\envs\th1.71\lib\site-packages\torch\utils\data\dataloader.py", line 475, in _next_data data = self._dataset_fetcher.fetch(index) # may raise StopIteration File "D:\anaconda\envs\th1.71\lib\site-packages\torch\utils\data_utils\fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "D:\anaconda\envs\th1.71\lib\site-packages\torch\utils\data_utils\fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "F:\Muti-cartoon\Multi-Style-Photo-Cartoonization-main\data\unaligned_dataset.py", line 90, in getitem edge_index_A = random.randint(0, self.edge_sizes[self.DA]-1) IndexError: list index out of range

Jamie-Cheung avatar Apr 14 '22 13:04 Jamie-Cheung

在unaligned_dataset文件的第21行出现加载路径写作,正确应该改为edge_path = os.path.join(opt.dataroot + '\edge*')

Jamie-Cheung avatar Apr 16 '22 03:04 Jamie-Cheung

@Jamie-Cheung what command did you use to train?

impactcolor avatar Nov 17 '22 08:11 impactcolor