Running on local URL: http://localhost:7860/ To create a public link, set `share=True` in `launch()`. img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() )Running on local URL: http://localhost:7860/ To create a public link, set `share=True` in `launch()`. img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() )Running on local URL: http://localhost:7860/ To create a public link, set `share=True` in `launch()`. img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (270, 480, 3) (2160, 3840, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (255, 255, 3) (255, 255, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (600, 270, 3) (2400, 1080, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (480, 216, 3) (1920, 864, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (480, 216, 3) (1920, 864, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (270, 585, 3) (1080, 2340, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (480, 216, 3) (1920, 864, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) Illumination_Alone( (conv1): Conv2d(1, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv5): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)) (leaky_relu_1): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_2): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_3): LeakyReLU(negative_slope=0.2, inplace=True) (leaky_relu_4): LeakyReLU(negative_slope=0.2, inplace=True) (relu): ReLU() ) Adjust_naive( (conv1): Conv2d(2, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv3): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (conv4): Conv2d(32, 1, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2)) (leaky_relu): LeakyReLU(negative_slope=0.2) (relu): ReLU() ) (342, 456, 3) (2736, 3648, 3) img_path ./demo/input/3.png output ./demo/output ratio 5 Decom_model_low_path ./ckpt/init_low.pth unfolding_model_path ./ckpt/unfolding.pth adjust_model_path ./ckpt/L_adjust.pth gpu_id 0 ===========> loading pretrained Illumination Adjustment Model from: ./ckpt/L_adjust.pth Decom( (decom): 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, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (3): LeakyReLU(negative_slope=0.2, inplace=True) (4): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (5): LeakyReLU(negative_slope=0.2, inplace=True) (6): Conv2d(32, 4, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (7): ReLU() ) ) HalfDnCNNSE( (conv1): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu1): ReLU(inplace=True) (conv2): Conv2d(1, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu2): ReLU(inplace=True) (se_layer): SELayer( (avg_pool): AdaptiveAvgPool2d(output_size=1) (fc): Sequential( (0): Linear(in_features=64, out_features=4, bias=False) (1): ReLU(inplace=True) (2): Linear(in_features=4, out_features=64, bias=False) (3): Sigmoid() ) ) (conv3): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu3): ReLU(inplace=True) (conv4): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu4): ReLU(inplace=True) (conv5): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu5): ReLU(inplace=True) (conv6): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu6): ReLU(inplace=True) (conv7): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (relu7): ReLU(inplace=True) (conv8): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) )WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received. WARNING: Invalid HTTP request received.