Skip to content

Instantly share code, notes, and snippets.

@MasterWinston
Last active October 25, 2022 13:37
Show Gist options
  • Save MasterWinston/d4b5ba578c90fca610383c20705dede7 to your computer and use it in GitHub Desktop.
Save MasterWinston/d4b5ba578c90fca610383c20705dede7 to your computer and use it in GitHub Desktop.
[10/13/22 14:35:01] INFO {'data_root': 'E:/wansongbo/LibFewS trainer.py:372
hot/data/mydataset', 'image_size':
84, 'use_memory': False, 'augment':
True, 'augment_times': 1,
'augment_times_query': 1,
'workers': 0, 'dataloader_num': 2,
'device_ids': 0, 'n_gpu': 1,
'seed': 0, 'deterministic': True,
'port': 36865, 'log_name': None,
'log_level': 'info',
'log_interval': 100,
'log_paramerter': False,
'result_root': './results',
'save_interval': 10, 'save_part':
['emb_func'], 'tag': None, 'epoch':
20, 'test_epoch': 5,
'parallel_part': ['emb_func'],
'pretrain_path': None, 'resume':
False, 'way_num': 4, 'shot_num': 4,
'query_num': 12, 'test_way': 4,
'test_shot': 4, 'test_query': 12,
'episode_size': 1, 'train_episode':
1000, 'test_episode': 300,
'batch_size': 64, 'val_per_epoch':
1, 'optimizer': {'kwargs': {'lr':
0.01, 'momentum': 0.9, 'nesterov':
True, 'weight_decay': 0.0005},
'name': 'SGD', 'other':
{'emb_func': 0.1}}, 'lr_scheduler':
{'kwargs': {'T_max': 100,
'eta_min': 0}, 'name':
'CosineAnnealingLR'}, 'warmup': 0,
'includes': ['headers/data.yaml',
'headers/device.yaml',
'headers/misc.yaml',
'headers/model.yaml',
'headers/optimizer.yaml',
'classifiers/RENet.yaml',
'backbones/Conv64F.yaml'],
'augment_method': None, 'backbone':
{'kwargs': {'avg_pool': False,
'drop_rate': 0.0, 'is_flatten':
False, 'keep_prob': 0.0,
'maxpool_last2': True}, 'name':
'resnet12'}, 'classifier': {'name':
'RENet', 'kwargs': {'feat_dim':
640, 'lambda_epi': 1.0,
'temperature': 1.0,
'temperature_attn': 1.0,
'num_classes': 64}}, 'tb_scale':
3.3333333333333335, 'rank': 0}
INFO RENet( trainer.py:372
(emb_func): ResNet(
(layer1): Sequential(
(0): BasicBlock(
(conv1): Conv2d(3, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(3, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer2): Sequential(
(0): BasicBlock(
(conv1): Conv2d(64, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(160, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(160, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(64, 160,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer3): Sequential(
(0): BasicBlock(
(conv1): Conv2d(160, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(320, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(320, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(160, 320,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer4): Sequential(
(0): BasicBlock(
(conv1): Conv2d(320, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(640, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(640, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(320, 640,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(dropout): Dropout(p=1.0,
inplace=False)
)
(fc): Linear(in_features=640,
out_features=64, bias=True)
(scr_layer): SCRLayer(
(model): Sequential(
(0):
SelfCorrelationComputation(
(unfold):
Unfold(kernel_size=(5, 5),
dilation=1, padding=2, stride=1)
(relu): ReLU()
)
(1): SCR(
(conv1x1_in): Sequential(
(0): Conv2d(640, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv1): Sequential(
(0): Conv3d(64, 64,
kernel_size=(1, 3, 3), stride=(1,
1, 1), bias=False)
(1): BatchNorm3d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv2): Sequential(
(0): Conv3d(64, 64,
kernel_size=(1, 3, 3), stride=(1,
1, 1), bias=False)
(1): BatchNorm3d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv1x1_out): Sequential(
(0): Conv2d(64, 640,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
)
)
)
(cca_layer): CCALayer(
(cca_module): CCA(
(conv): Sequential(
(0): SepConv4d(
(proj): Sequential(
(0): Conv2d(1, 16,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv1): Sequential(
(0): Conv3d(1, 1,
kernel_size=(1, 3, 3), stride=(1,
1, 1), padding=(0, 1, 1),
bias=False)
(1): BatchNorm3d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv2): Sequential(
(0): Conv3d(1, 1,
kernel_size=(3, 3, 1), stride=(1,
1, 1), padding=(1, 1, 0),
bias=False)
(1): BatchNorm3d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(relu):
ReLU(inplace=True)
)
(1): ReLU(inplace=True)
(2): SepConv4d(
(proj): Sequential(
(0): Conv2d(16, 1,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv1): Sequential(
(0): Conv3d(16, 16,
kernel_size=(1, 3, 3), stride=(1,
1, 1), padding=(0, 1, 1),
bias=False)
(1): BatchNorm3d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv2): Sequential(
(0): Conv3d(16, 16,
kernel_size=(3, 3, 1), stride=(1,
1, 1), padding=(1, 1, 0),
bias=False)
(1): BatchNorm3d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(relu):
ReLU(inplace=True)
)
)
)
(cca_1x1): Sequential(
(0): Conv2d(640, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU()
)
)
(loss_func): CrossEntropyLoss()
)
INFO Trainable params in the model: trainer.py:372
12668504
INFO load 7467 train image with 4 label. trainer.py:372
INFO load 2561 val image with 4 label. trainer.py:372
INFO load 2487 test image with 4 label. trainer.py:372
WARNING with zero workers, the training trainer.py:372
phase will be very slow
INFO SGD ( trainer.py:372
Parameter Group 0
dampening: 0
initial_lr: 0.1
lr: 0.1
momentum: 0.9
nesterov: True
weight_decay: 0.0005
Parameter Group 1
dampening: 0
initial_lr: 0.01
lr: 0.01
momentum: 0.9
nesterov: True
weight_decay: 0.0005
)
INFO ============ Train on the train set trainer.py:372
============
INFO learning rate: [0.1, 0.01] trainer.py:372
[10/13/22 14:35:43] INFO Epoch-(0): [100/1000] Time 0.248 trainer.py:372
(0.414) Calc 0.245 (0.285)
Data 0.000 (0.127) Loss 1.779
(3.127) Acc@1 72.917 (57.521)
[10/13/22 14:35:47] INFO * Acc@1 60.471 trainer.py:372
INFO ============ Validation on the val trainer.py:372
set ============
Traceback (most recent call last):
File "E:/wansongbo/LibFewShot/run_trainer.py", line 37, in <module>
main(0, config)
File "E:/wansongbo/LibFewShot/run_trainer.py", line 30, in main
trainer.train_loop(rank)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 87, in train_loop
val_acc = self._validate(epoch_idx, is_test=False)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 263, in _validate
[elem for each_batch in batch for elem in each_batch]
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "E:\wansongbo\LibFewShot\core\model\abstract_model.py", line 32, in forward
return self.set_forward(x)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\autograd\grad_mode.py", line 28, in decorate_context
return func(*args, **kwargs)
File "E:\wansongbo\LibFewShot\core\model\finetuning\renet.py", line 384, in set_forward
ep_images, _ = batch
ValueError: too many values to unpack (expected 2)
Process finished with exit code 1
[10/13/22 14:37:12] INFO {'data_root': 'E:/wansongbo/LibFewS trainer.py:372
hot/data/mydataset', 'image_size':
84, 'use_memory': False, 'augment':
True, 'augment_times': 1,
'augment_times_query': 1,
'workers': 0, 'dataloader_num': 2,
'device_ids': 0, 'n_gpu': 1,
'seed': 0, 'deterministic': True,
'port': 47616, 'log_name': None,
'log_level': 'info',
'log_interval': 100,
'log_paramerter': False,
'result_root': './results',
'save_interval': 10, 'save_part':
['emb_func'], 'tag': None, 'epoch':
20, 'test_epoch': 5,
'parallel_part': ['emb_func'],
'pretrain_path': None, 'resume':
False, 'way_num': 4, 'shot_num': 4,
'query_num': 10, 'test_way': 4,
'test_shot': 4, 'test_query': 10,
'episode_size': 1, 'train_episode':
1000, 'test_episode': 300,
'batch_size': 64, 'val_per_epoch':
1, 'optimizer': {'kwargs': {'lr':
0.01, 'momentum': 0.9, 'nesterov':
True, 'weight_decay': 0.0005},
'name': 'SGD', 'other':
{'emb_func': 0.1}}, 'lr_scheduler':
{'kwargs': {'T_max': 100,
'eta_min': 0}, 'name':
'CosineAnnealingLR'}, 'warmup': 0,
'includes': ['headers/data.yaml',
'headers/device.yaml',
'headers/misc.yaml',
'headers/model.yaml',
'headers/optimizer.yaml',
'classifiers/RENet.yaml',
'backbones/Conv64F.yaml'],
'augment_method': None, 'backbone':
{'kwargs': {'avg_pool': False,
'drop_rate': 0.0, 'is_flatten':
False, 'keep_prob': 0.0,
'maxpool_last2': True}, 'name':
'resnet12'}, 'classifier': {'name':
'RENet', 'kwargs': {'feat_dim':
640, 'lambda_epi': 1.0,
'temperature': 1.0,
'temperature_attn': 1.0,
'num_classes': 64}}, 'tb_scale':
3.3333333333333335, 'rank': 0}
INFO RENet( trainer.py:372
(emb_func): ResNet(
(layer1): Sequential(
(0): BasicBlock(
(conv1): Conv2d(3, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(3, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer2): Sequential(
(0): BasicBlock(
(conv1): Conv2d(64, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(160, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(160, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(64, 160,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer3): Sequential(
(0): BasicBlock(
(conv1): Conv2d(160, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(320, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(320, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(160, 320,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer4): Sequential(
(0): BasicBlock(
(conv1): Conv2d(320, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(640, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(640, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(320, 640,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(dropout): Dropout(p=1.0,
inplace=False)
)
(fc): Linear(in_features=640,
out_features=64, bias=True)
(scr_layer): SCRLayer(
(model): Sequential(
(0):
SelfCorrelationComputation(
(unfold):
Unfold(kernel_size=(5, 5),
dilation=1, padding=2, stride=1)
(relu): ReLU()
)
(1): SCR(
(conv1x1_in): Sequential(
(0): Conv2d(640, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv1): Sequential(
(0): Conv3d(64, 64,
kernel_size=(1, 3, 3), stride=(1,
1, 1), bias=False)
(1): BatchNorm3d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv2): Sequential(
(0): Conv3d(64, 64,
kernel_size=(1, 3, 3), stride=(1,
1, 1), bias=False)
(1): BatchNorm3d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv1x1_out): Sequential(
(0): Conv2d(64, 640,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
)
)
)
(cca_layer): CCALayer(
(cca_module): CCA(
(conv): Sequential(
(0): SepConv4d(
(proj): Sequential(
(0): Conv2d(1, 16,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv1): Sequential(
(0): Conv3d(1, 1,
kernel_size=(1, 3, 3), stride=(1,
1, 1), padding=(0, 1, 1),
bias=False)
(1): BatchNorm3d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv2): Sequential(
(0): Conv3d(1, 1,
kernel_size=(3, 3, 1), stride=(1,
1, 1), padding=(1, 1, 0),
bias=False)
(1): BatchNorm3d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(relu):
ReLU(inplace=True)
)
(1): ReLU(inplace=True)
(2): SepConv4d(
(proj): Sequential(
(0): Conv2d(16, 1,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv1): Sequential(
(0): Conv3d(16, 16,
kernel_size=(1, 3, 3), stride=(1,
1, 1), padding=(0, 1, 1),
bias=False)
(1): BatchNorm3d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv2): Sequential(
(0): Conv3d(16, 16,
kernel_size=(3, 3, 1), stride=(1,
1, 1), padding=(1, 1, 0),
bias=False)
(1): BatchNorm3d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(relu):
ReLU(inplace=True)
)
)
)
(cca_1x1): Sequential(
(0): Conv2d(640, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU()
)
)
(loss_func): CrossEntropyLoss()
)
INFO Trainable params in the model: trainer.py:372
12668504
INFO load 7467 train image with 4 label. trainer.py:372
INFO load 2561 val image with 4 label. trainer.py:372
INFO load 2487 test image with 4 label. trainer.py:372
WARNING with zero workers, the training trainer.py:372
phase will be very slow
INFO SGD ( trainer.py:372
Parameter Group 0
dampening: 0
initial_lr: 0.1
lr: 0.1
momentum: 0.9
nesterov: True
weight_decay: 0.0005
Parameter Group 1
dampening: 0
initial_lr: 0.01
lr: 0.01
momentum: 0.9
nesterov: True
weight_decay: 0.0005
)
INFO ============ Train on the train set trainer.py:372
============
INFO learning rate: [0.1, 0.01] trainer.py:372
[10/13/22 14:37:52] INFO Epoch-(0): [100/1000] Time 0.229 trainer.py:372
(0.403) Calc 0.227 (0.266)
Data 0.000 (0.135) Loss 2.014
(3.222) Acc@1 70.000 (54.975)
[10/13/22 14:37:56] INFO * Acc@1 57.802 trainer.py:372
INFO ============ Validation on the val trainer.py:372
set ============
Traceback (most recent call last):
File "E:/wansongbo/LibFewShot/run_trainer.py", line 37, in <module>
main(0, config)
File "E:/wansongbo/LibFewShot/run_trainer.py", line 30, in main
trainer.train_loop(rank)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 87, in train_loop
val_acc = self._validate(epoch_idx, is_test=False)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 246, in _validate
for batch_idx, batch in enumerate(zip(*loader)):
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\utils\data\dataloader.py", line 521, in __next__
data = self._next_data()
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\utils\data\dataloader.py", line 1203, in _next_data
return self._process_data(data)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\utils\data\dataloader.py", line 1229, in _process_data
data.reraise()
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\_utils.py", line 434, in reraise
raise exception
RuntimeError: Caught RuntimeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\utils\data\_utils\worker.py", line 287, in _worker_loop
data = fetcher.fetch(index)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\utils\data\_utils\fetch.py", line 52, in fetch
return self.collate_fn(data)
File "E:\wansongbo\LibFewShot\core\data\collates\collate_functions.py", line 181, in __call__
return self.method(batch)
File "E:\wansongbo\LibFewShot\core\data\collates\collate_functions.py", line 160, in method
-1, self.way_num, self.shot_num + self.query_num
RuntimeError: shape '[-1, 4, 14]' is invalid for input of size 64
Process finished with exit code 1
[10/17/22 18:24:33] INFO {'data_root': 'E:/wansongbo/LibFewS trainer.py:372
hot/data/miniImageNet--ravi',
'image_size': 84, 'use_memory':
False, 'augment': True,
'augment_times': 1,
'augment_times_query': 1,
'workers': 0, 'dataloader_num': 1,
'device_ids': 0, 'n_gpu': 1,
'seed': 2147483647,
'deterministic': True, 'port':
50069, 'log_name': None,
'log_level': 'info',
'log_interval': 100,
'log_paramerter': False,
'result_root': './results',
'save_interval': 10, 'save_part':
['emb_func'], 'tag': None, 'epoch':
20, 'test_epoch': 5,
'parallel_part': ['emb_func'],
'pretrain_path': None, 'resume':
False, 'way_num': 5, 'shot_num': 5,
'query_num': 15, 'test_way': 5,
'test_shot': 5, 'test_query': 15,
'episode_size': 2, 'train_episode':
2000, 'test_episode': 600,
'batch_size': 16, 'val_per_epoch':
1, 'optimizer': {'name': 'Adam',
'kwargs': {'lr': 0.001}, 'other':
None}, 'lr_scheduler': {'name':
'StepLR', 'kwargs': {'gamma': 1.0,
'step_size': 20}}, 'warmup': 0,
'includes': ['headers/data.yaml',
'headers/device.yaml',
'headers/misc.yaml',
'headers/model.yaml',
'headers/optimizer.yaml',
'backbones/resnet12.yaml'],
'classifier': {'name': 'MAML',
'kwargs': {'inner_param': {'lr':
0.1, 'train_iter': 5, 'test_iter':
10}, 'feat_dim': 640}}, 'backbone':
{'name': 'resnet12', 'kwargs':
{'keep_prob': 0.0, 'avg_pool':
True, 'is_flatten': True,
'maxpool_last2': True}},
'tb_scale': 3.3333333333333335,
'rank': 0}
INFO MAML( trainer.py:372
(emb_func): ResNet(
(layer1): Sequential(
(0): BasicBlock(
(conv1): Conv2d_fw(3, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d_fw(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d_fw(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d_fw(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d_fw(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d_fw(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d_fw(3, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d_fw(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer2): Sequential(
(0): BasicBlock(
(conv1): Conv2d_fw(64, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d_fw(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d_fw(160,
160, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn2): BatchNorm2d_fw(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d_fw(160,
160, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn3): BatchNorm2d_fw(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d_fw(64, 160,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d_fw(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer3): Sequential(
(0): BasicBlock(
(conv1): Conv2d_fw(160,
320, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn1): BatchNorm2d_fw(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d_fw(320,
320, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn2): BatchNorm2d_fw(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d_fw(320,
320, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn3): BatchNorm2d_fw(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d_fw(160, 320,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d_fw(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer4): Sequential(
(0): BasicBlock(
(conv1): Conv2d_fw(320,
640, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn1): BatchNorm2d_fw(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d_fw(640,
640, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn2): BatchNorm2d_fw(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d_fw(640,
640, kernel_size=(3, 3), stride=(1,
1), padding=(1, 1), bias=False)
(bn3): BatchNorm2d_fw(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d_fw(320, 640,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d_fw(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(avgpool):
AvgPool2d(kernel_size=5, stride=1,
padding=0)
(dropout): Dropout(p=1.0,
inplace=False)
)
(loss_func): CrossEntropyLoss()
(classifier): MAMLLayer(
(layers): Sequential(
(0):
Linear_fw(in_features=640,
out_features=5, bias=True)
)
)
)
INFO Trainable params in the model: trainer.py:372
12427525
INFO load 38400 train image with 64 trainer.py:372
label.
WARNING with zero workers, the training trainer.py:372
phase will be very slow
INFO load 9600 val image with 16 label. trainer.py:372
WARNING with zero workers, the training trainer.py:372
phase will be very slow
INFO load 12000 test image with 20 trainer.py:372
label.
WARNING with zero workers, the training trainer.py:372
phase will be very slow
INFO Adam ( trainer.py:372
Parameter Group 0
amsgrad: False
betas: (0.9, 0.999)
eps: 1e-08
initial_lr: 0.001
lr: 0.001
weight_decay: 0
)
INFO ============ Train on the train set trainer.py:372
============
INFO learning rate: [0.001] trainer.py:372
[10/17/22 18:27:28] INFO Epoch-(0): [100/2000] Time 3.557 trainer.py:372
(3.498) Calc 2.897 (2.879)
Data 0.657 (0.617) Loss 1.655
(3.110) Acc@1 34.000 (28.307)
[10/17/22 18:30:19] INFO Epoch-(0): [200/2000] Time 3.380 trainer.py:372
(3.458) Calc 2.846 (2.842)
Data 0.533 (0.614) Loss 1.477
(2.527) Acc@1 38.000 (28.380)
[10/17/22 18:33:11] INFO Epoch-(0): [300/2000] Time 3.349 trainer.py:372
(3.450) Calc 2.787 (2.837)
Data 0.559 (0.610) Loss 1.446
(2.183) Acc@1 39.333 (31.133)
[10/17/22 18:36:00] INFO Epoch-(0): [400/2000] Time 3.396 trainer.py:372
(3.432) Calc 2.803 (2.824)
Data 0.591 (0.606) Loss 1.427
(2.000) Acc@1 40.667 (32.803)
[10/17/22 18:38:50] INFO Epoch-(0): [500/2000] Time 3.513 trainer.py:372
(3.425) Calc 2.853 (2.816)
Data 0.658 (0.607) Loss 1.649
(1.882) Acc@1 28.000 (34.216)
[10/17/22 18:41:38] INFO Epoch-(0): [600/2000] Time 3.441 trainer.py:372
(3.414) Calc 2.804 (2.807)
Data 0.635 (0.605) Loss 1.380
(1.804) Acc@1 44.000 (35.191)
[10/17/22 18:44:26] INFO Epoch-(0): [700/2000] Time 3.344 trainer.py:372
(3.408) Calc 2.770 (2.803)
Data 0.571 (0.603) Loss 1.405
(1.741) Acc@1 38.667 (36.202)
[10/17/22 18:47:13] INFO Epoch-(0): [800/2000] Time 3.293 trainer.py:372
(3.400) Calc 2.762 (2.799)
Data 0.529 (0.599) Loss 1.589
(1.692) Acc@1 32.667 (37.187)
[10/17/22 18:50:02] INFO Epoch-(0): [900/2000] Time 3.345 trainer.py:372
(3.397) Calc 2.770 (2.796)
Data 0.574 (0.598) Loss 1.462
(1.659) Acc@1 43.333 (37.587)
[10/17/22 18:52:53] INFO Epoch-(0): [1000/2000] Time 3.329 trainer.py:372
(3.398) Calc 2.773 (2.797)
Data 0.553 (0.599) Loss 1.325
(1.629) Acc@1 46.667 (38.159)
[10/17/22 18:55:41] INFO Epoch-(0): [1100/2000] Time 3.277 trainer.py:372
(3.395) Calc 2.779 (2.795)
Data 0.494 (0.598) Loss 1.166
(1.600) Acc@1 53.333 (38.825)
[10/17/22 18:58:30] INFO Epoch-(0): [1200/2000] Time 3.296 trainer.py:372
(3.395) Calc 2.761 (2.794)
Data 0.532 (0.598) Loss 1.314
(1.576) Acc@1 46.667 (39.427)
[10/17/22 19:01:19] INFO Epoch-(0): [1300/2000] Time 3.375 trainer.py:372
(3.393) Calc 2.780 (2.793)
Data 0.594 (0.598) Loss 1.264
(1.552) Acc@1 44.667 (40.044)
[10/17/22 19:04:07] INFO Epoch-(0): [1400/2000] Time 3.346 trainer.py:372
(3.391) Calc 2.770 (2.792)
Data 0.573 (0.597) Loss 1.239
(1.530) Acc@1 50.000 (40.738)
[10/17/22 19:06:56] INFO Epoch-(0): [1500/2000] Time 3.315 trainer.py:372
(3.390) Calc 2.754 (2.791)
Data 0.558 (0.597) Loss 1.402
(1.510) Acc@1 41.333 (41.312)
[10/17/22 19:10:00] INFO Epoch-(0): [1600/2000] Time 3.331 trainer.py:372
(3.408) Calc 2.789 (2.808)
Data 0.541 (0.598) Loss 1.340
(1.492) Acc@1 50.667 (41.831)
[10/17/22 19:12:54] INFO Epoch-(0): [1700/2000] Time 3.362 trainer.py:372
(3.412) Calc 2.788 (2.811)
Data 0.573 (0.598) Loss 1.354
(1.475) Acc@1 44.667 (42.405)
[10/17/22 19:15:45] INFO Epoch-(0): [1800/2000] Time 3.299 trainer.py:372
(3.412) Calc 2.789 (2.811)
Data 0.508 (0.599) Loss 1.173
(1.461) Acc@1 56.000 (42.833)
[10/17/22 19:18:35] INFO Epoch-(0): [1900/2000] Time 3.449 trainer.py:372
(3.412) Calc 2.721 (2.810)
Data 0.726 (0.600) Loss 1.242
(1.447) Acc@1 44.000 (43.259)
[10/17/22 19:21:23] INFO Epoch-(0): [2000/2000] Time 3.332 trainer.py:372
(3.410) Calc 2.755 (2.808)
Data 0.576 (0.600) Loss 1.228
(1.433) Acc@1 47.333 (43.829)
INFO * Acc@1 43.829 trainer.py:372
INFO ============ Validation on the val trainer.py:372
set ============
Traceback (most recent call last):
File "E:/wansongbo/LibFewShot/run_trainer.py", line 45, in <module>
main(0, config)
File "E:/wansongbo/LibFewShot/run_trainer.py", line 38, in main
trainer.train_loop(rank)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 87, in train_loop
val_acc = self._validate(epoch_idx, is_test=False)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 263, in _validate
[elem for each_batch in batch for elem in each_batch]
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "E:\wansongbo\LibFewShot\core\model\abstract_model.py", line 32, in forward
return self.set_forward(x)
File "E:\wansongbo\LibFewShot\core\model\meta\maml.py", line 70, in set_forward
self.set_forward_adaptation(episode_support_image, episode_support_target)
File "E:\wansongbo\LibFewShot\core\model\meta\maml.py", line 123, in set_forward_adaptation
grad = torch.autograd.grad(loss, fast_parameters, create_graph=True)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\autograd\__init__.py", line 236, in grad
inputs, allow_unused, accumulate_grad=False)
RuntimeError: CUDA out of memory. Tried to allocate 44.00 MiB (GPU 0; 24.00 GiB total capacity; 22.63 GiB already allocated; 0 bytes free; 23.18 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Process finished with exit code 1
[10/25/22 21:23:09] INFO {'data_root': 'E:/wansongbo/LibFewS trainer.py:387
hot/data/miniImageNet--ravi',
'image_size': 84, 'use_memory':
False, 'augment': True,
'augment_times': 1,
'augment_times_query': 1,
'workers': 0, 'dataloader_num': 2,
'device_ids': 0, 'n_gpu': 1,
'seed': 0, 'deterministic': True,
'port': 44207, 'log_name': None,
'log_level': 'info',
'log_interval': 100,
'log_paramerter': False,
'result_root': './results',
'save_interval': 10, 'save_part':
['emb_func'], 'tag': None, 'epoch':
100, 'test_epoch': 5,
'parallel_part': ['emb_func'],
'pretrain_path': None, 'resume':
False, 'way_num': 5, 'shot_num': 5,
'query_num': 15, 'test_way': 5,
'test_shot': 5, 'test_query': 15,
'episode_size': 1, 'train_episode':
300, 'test_episode': 200,
'batch_size': 128, 'val_per_epoch':
1, 'optimizer': {'kwargs': {'lr':
0.001, 'momentum': 0.9, 'nesterov':
True, 'weight_decay': 0.0005},
'name': 'SGD', 'other':
{'emb_func': 0.001}},
'lr_scheduler': {'kwargs':
{'T_max': 100, 'eta_min': 0},
'name': 'CosineAnnealingLR'},
'warmup': 0, 'includes':
['headers/data.yaml',
'headers/device.yaml',
'headers/misc.yaml',
'headers/model.yaml',
'headers/optimizer.yaml',
'classifiers/RENet.yaml',
'backbones/Conv64F.yaml'],
'augment_method': None, 'backbone':
{'kwargs': {'avg_pool': False,
'drop_rate': 0.0, 'is_flatten':
False, 'keep_prob': 0.0,
'maxpool_last2': True}, 'name':
'resnet12'}, 'classifier':
{'kwargs': {'feat_dim': 640,
'lambda_epi': 0.25, 'num_classes':
64, 'temperature': 0.2,
'temperature_attn': 5.0}, 'name':
'RENet'}, 'tb_scale': 1.5, 'rank':
0}
INFO RENet( trainer.py:387
(emb_func): ResNet(
(layer1): Sequential(
(0): BasicBlock(
(conv1): Conv2d(3, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(64, 64,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(3, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer2): Sequential(
(0): BasicBlock(
(conv1): Conv2d(64, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(160, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(160, 160,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(64, 160,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(160,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer3): Sequential(
(0): BasicBlock(
(conv1): Conv2d(160, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(320, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(320, 320,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(160, 320,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(320,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(layer4): Sequential(
(0): BasicBlock(
(conv1): Conv2d(320, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(relu):
LeakyReLU(negative_slope=0.1)
(conv2): Conv2d(640, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn2): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(conv3): Conv2d(640, 640,
kernel_size=(3, 3), stride=(1, 1),
padding=(1, 1), bias=False)
(bn3): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(maxpool):
MaxPool2d(kernel_size=2, stride=2,
padding=0, dilation=1,
ceil_mode=False)
(downsample): Sequential(
(0): Conv2d(320, 640,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(DropBlock): DropBlock()
)
)
(dropout): Dropout(p=1.0,
inplace=False)
)
(fc): Linear(in_features=640,
out_features=64, bias=True)
(scr_layer): SCRLayer(
(model): Sequential(
(0):
SelfCorrelationComputation(
(unfold):
Unfold(kernel_size=(5, 5),
dilation=1, padding=2, stride=1)
(relu): ReLU()
)
(1): SCR(
(conv1x1_in): Sequential(
(0): Conv2d(640, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv1): Sequential(
(0): Conv3d(64, 64,
kernel_size=(1, 3, 3), stride=(1,
1, 1), bias=False)
(1): BatchNorm3d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv2): Sequential(
(0): Conv3d(64, 64,
kernel_size=(1, 3, 3), stride=(1,
1, 1), bias=False)
(1): BatchNorm3d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU(inplace=True)
)
(conv1x1_out): Sequential(
(0): Conv2d(64, 640,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(640,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
)
)
)
(cca_layer): CCALayer(
(cca_module): CCA(
(conv): Sequential(
(0): SepConv4d(
(proj): Sequential(
(0): Conv2d(1, 16,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv1): Sequential(
(0): Conv3d(1, 1,
kernel_size=(1, 3, 3), stride=(1,
1, 1), padding=(0, 1, 1),
bias=False)
(1): BatchNorm3d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv2): Sequential(
(0): Conv3d(1, 1,
kernel_size=(3, 3, 1), stride=(1,
1, 1), padding=(1, 1, 0),
bias=False)
(1): BatchNorm3d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(relu):
ReLU(inplace=True)
)
(1): ReLU(inplace=True)
(2): SepConv4d(
(proj): Sequential(
(0): Conv2d(16, 1,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(1,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv1): Sequential(
(0): Conv3d(16, 16,
kernel_size=(1, 3, 3), stride=(1,
1, 1), padding=(0, 1, 1),
bias=False)
(1): BatchNorm3d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(conv2): Sequential(
(0): Conv3d(16, 16,
kernel_size=(3, 3, 1), stride=(1,
1, 1), padding=(1, 1, 0),
bias=False)
(1): BatchNorm3d(16,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
)
(relu):
ReLU(inplace=True)
)
)
)
(cca_1x1): Sequential(
(0): Conv2d(640, 64,
kernel_size=(1, 1), stride=(1, 1),
bias=False)
(1): BatchNorm2d(64,
eps=1e-05, momentum=0.1,
affine=True,
track_running_stats=True)
(2): ReLU()
)
)
(loss_func): CrossEntropyLoss()
)
INFO Trainable params in the model: trainer.py:387
12668504
INFO load 38400 train image with 64 trainer.py:387
label.
INFO load 9600 val image with 16 label. trainer.py:387
WARNING with zero workers, the training trainer.py:387
phase will be very slow
INFO load 12000 test image with 20 trainer.py:387
label.
WARNING with zero workers, the training trainer.py:387
phase will be very slow
INFO SGD ( trainer.py:387
Parameter Group 0
dampening: 0
initial_lr: 0.001
lr: 0.001
momentum: 0.9
nesterov: True
weight_decay: 0.0005
Parameter Group 1
dampening: 0
initial_lr: 0.001
lr: 0.001
momentum: 0.9
nesterov: True
weight_decay: 0.0005
)
INFO ============ Train on the train set trainer.py:387
============
INFO learning rate: [0.001, 0.001] trainer.py:387
Traceback (most recent call last):
File "E:/wansongbo/LibFewShot/run_trainer.py", line 46, in <module>
main(0, config)
File "E:/wansongbo/LibFewShot/run_trainer.py", line 39, in main
trainer.train_loop(rank)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 87, in train_loop
train_acc = self._train(epoch_idx)
File "E:\wansongbo\LibFewShot\core\trainer.py", line 185, in _train
[elem for each_batch in batch for elem in each_batch]
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "E:\wansongbo\LibFewShot\core\model\abstract_model.py", line 30, in forward
return self.set_forward_loss(x)
File "E:\wansongbo\LibFewShot\core\model\finetuning\renet.py", line 426, in set_forward_loss
g_feat = self.encode(g_images) # [128, 640, 5, 5]
File "E:\wansongbo\LibFewShot\core\model\finetuning\renet.py", line 368, in encode
x = self.emb_func(x)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "E:\wansongbo\LibFewShot\core\model\backbone\resnet_12.py", line 272, in forward
x = self.layer1(x)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\container.py", line 141, in forward
input = module(input)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "E:\wansongbo\LibFewShot\core\model\backbone\resnet_12.py", line 75, in forward
residual = self.downsample(x)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\container.py", line 141, in forward
input = module(input)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\modules\batchnorm.py", line 179, in forward
self.eps,
File "C:\Users\Asteria\.conda\envs\fewshotlearning\lib\site-packages\torch\nn\functional.py", line 2283, in batch_norm
input, weight, bias, running_mean, running_var, training, momentum, eps, torch.backends.cudnn.enabled
RuntimeError: CUDA out of memory. Tried to allocate 222.00 MiB (GPU 0; 24.00 GiB total capacity; 6.12 GiB already allocated; 15.18 GiB free; 6.36 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Process finished with exit code 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment