Open Feiyu-Zhang opened 5 years ago
There must be something wrong. You need to check your inputs and codes. Two GPUs will not results in the problem, I think.
There must be something wrong. You need to check your inputs and codes. Two GPUs will not results in the problem, I think.
Thanks for your patient reply. I will check the input and code.
There must be something wrong. You need to check your inputs and codes. Two GPUs will not results in the problem, I think.
I seem to have found the problem. My validate data is 16-bit/color RGB. It seems that data should be 8-bit/color RGB. I think there is a problem during generating LR validate data. I will check _scripts/generate_mod_LRbic.m
There must be something wrong. You need to check your inputs and codes. Two GPUs will not results in the problem, I think.
In _scripts/generate_mod_LRbic.m line:50 img = im2double(img); the code in this line will make LR data be 16/bits. I think that is why my problem as described occurs. I will train again. Hopefully all is well.
There must be something wrong. You need to check your inputs and codes. Two GPUs will not results in the problem, I think.
Hi, xintao. Could you tell me which version you use Matlab/octave image/opencv library?
Malab: R2017b (9.3.0.713579) 64-bit (glnxa64) / R2016b (9.1.0.441655) 64-bit (glnxa64) (they produce the same bicubic results)
Opencv:
>>> import cv2
>>> cv2.__version__
'4.0.0'
Thanks. Could you tell me which version OpenCV is in Matlab? Because I want to use scripts/generate_mod_LR_bic.m to generate low-resolution images. But I maybe generate images of other color space. So I want to know your OpenCV version in Matlab.
On Mon, May 13, 2019 at 12:06 AM Xintao notifications@github.com wrote:
Malab: R2017b (9.3.0.713579) 64-bit (glnxa64) / R2016b (9.1.0.441655) 64-bit (glnxa64) (they produce the same bicubic results)
Opencv:
import cv2 cv2.version '4.0.0'
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/xinntao/BasicSR/issues/123#issuecomment-491608158, or mute the thread https://github.com/notifications/unsubscribe-auth/AIEMRNHW3Q2YHGCBDCR4UNTPVA6BDANCNFSM4HL7YS7A .
I don't think the bicubic function in Matlab will call the opencv library. If so, please let me know.
I don't think the bicubic function in Matlab will call the opencv library. If so, please let me know.
I don't use OpenCV in Matlab. I load image-2.10.0 library in Matlab so that I can use imread,im2double,imresize... But I think my version isn't the same as yours. Could you tell me which image version in Matlab?
How can I see the image version in my Matlab?
How can I see the image version in my Matlab?
You are really kind to me. I think there are connections with my Octave(replacement of Matlab). It may generate images which are different color space or different bits per pixel. So I use Matlab to generate LR images eventually. As LR of validation dataset, the model seems to have generated the correct results. As follow, 65000 iterations(1300 epochs) PSNR:17.47. Do you think I have started to train correctly? By the way, I used your pre-trained model(_RRDB_ESRGANx4.pth) and followed the given parameter(_trainESRGAN.json). Do I need to reduce learning rate etc...
The learning rate scheme is done in the config file. Wait to see the results (like in 200k iter).
The learning rate scheme is done in the config file. Wait to see the results (like in 200k iter).
Above is baboon which is trained 265000 iterations. Do you think where is the problem?
It seems strange.... 1) may check your data 2) do you use the default config file?
There must be something wrong. You need to check your inputs and codes. Two GPUs will not results in the problem, I think.
In _scripts/generate_mod_LRbic.m line:50 img = im2double(img); the code in this line will make LR data be 16/bits. I think that is why my problem as described occurs. I will train again. Hopefully all is well.
How did you solve the problem, by modifying the function im = im2double(img)?
There must be something wrong. You need to check your inputs and codes. Two GPUs will not results in the problem, I think.
In _scripts/generate_mod_LRbic.m line:50 img = im2double(img); the code in this line will make LR data be 16/bits. I think that is why my problem as described occurs. I will train again. Hopefully all is well.
How did you solve the problem, by modifying the function im = im2double(img)?
I run code in Matlab finally. It succeeded.
I use the pre-trained model RRDB_ESRGAN_x4.pth. When my #epoch reach ~5000, I view generated validation data(Set14). The result is as follow. baboon barbara
From epoch 1 to epoch 5000, PSNR always is ~5 as follow.
19-05-08 19:05:35.406 - INFO: <epoch: 99, iter: 5,000> psnr: 6.2112e+00 19-05-08 19:49:07.859 - INFO: <epoch:199, iter: 10,000> psnr: 5.0530e+00 19-05-08 20:32:37.573 - INFO: <epoch:299, iter: 15,000> psnr: 5.0124e+00 19-05-08 21:18:05.244 - INFO: <epoch:399, iter: 20,000> psnr: 4.7408e+00 19-05-08 22:05:09.836 - INFO: <epoch:499, iter: 25,000> psnr: 4.7600e+00 19-05-08 22:50:40.863 - INFO: <epoch:599, iter: 30,000> psnr: 4.9239e+00 19-05-08 23:36:27.306 - INFO: <epoch:699, iter: 35,000> psnr: 5.0046e+00 19-05-09 00:22:15.370 - INFO: <epoch:799, iter: 40,000> psnr: 5.2917e+00 19-05-09 01:07:45.590 - INFO: <epoch:899, iter: 45,000> psnr: 4.6685e+00 19-05-09 01:53:37.342 - INFO: <epoch:999, iter: 50,000> psnr: 4.9261e+00 19-05-09 02:39:02.434 - INFO: <epoch:1099, iter: 55,000> psnr: 5.0573e+00 19-05-09 03:24:58.855 - INFO: <epoch:1199, iter: 60,000> psnr: 4.9035e+00 19-05-09 04:10:19.832 - INFO: <epoch:1299, iter: 65,000> psnr: 5.0180e+00 19-05-09 04:54:04.960 - INFO: <epoch:1399, iter: 70,000> psnr: 4.9490e+00 19-05-09 05:39:43.085 - INFO: <epoch:1499, iter: 75,000> psnr: 5.0774e+00 19-05-09 06:23:38.317 - INFO: <epoch:1599, iter: 80,000> psnr: 5.0833e+00 19-05-09 07:09:26.996 - INFO: <epoch:1699, iter: 85,000> psnr: 4.7962e+00 19-05-09 07:54:07.815 - INFO: <epoch:1799, iter: 90,000> psnr: 4.9237e+00 19-05-09 08:39:44.546 - INFO: <epoch:1899, iter: 95,000> psnr: 4.8400e+00 19-05-09 09:23:34.242 - INFO: <epoch:1999, iter: 100,000> psnr: 4.9499e+00 19-05-09 10:10:12.897 - INFO: <epoch:2099, iter: 105,000> psnr: 5.1629e+00 19-05-09 10:58:45.951 - INFO: <epoch:2199, iter: 110,000> psnr: 5.2242e+00 19-05-09 11:46:20.899 - INFO: <epoch:2299, iter: 115,000> psnr: 5.2426e+00 19-05-09 12:35:58.570 - INFO: <epoch:2399, iter: 120,000> psnr: 5.2277e+00 19-05-09 13:24:21.516 - INFO: <epoch:2499, iter: 125,000> psnr: 4.9235e+00 19-05-09 14:08:53.873 - INFO: <epoch:2599, iter: 130,000> psnr: 6.2259e+00 19-05-09 14:54:28.612 - INFO: <epoch:2699, iter: 135,000> psnr: 5.4882e+00 19-05-09 15:38:39.004 - INFO: <epoch:2799, iter: 140,000> psnr: 4.8028e+00 19-05-09 16:23:13.327 - INFO: <epoch:2899, iter: 145,000> psnr: 4.8086e+00 19-05-09 17:10:03.492 - INFO: <epoch:2999, iter: 150,000> psnr: 4.7097e+00 19-05-09 17:57:27.998 - INFO: <epoch:3099, iter: 155,000> psnr: 4.8913e+00 19-05-09 18:42:59.513 - INFO: <epoch:3199, iter: 160,000> psnr: 4.7553e+00 19-05-09 19:31:03.326 - INFO: <epoch:3299, iter: 165,000> psnr: 4.8749e+00 19-05-09 20:18:22.245 - INFO: <epoch:3399, iter: 170,000> psnr: 5.1612e+00 19-05-09 21:06:11.146 - INFO: <epoch:3499, iter: 175,000> psnr: 4.6685e+00 19-05-09 21:53:42.637 - INFO: <epoch:3599, iter: 180,000> psnr: 4.7500e+00 19-05-09 22:40:32.650 - INFO: <epoch:3699, iter: 185,000> psnr: 4.7687e+00 19-05-09 23:26:12.187 - INFO: <epoch:3799, iter: 190,000> psnr: 4.8440e+00 19-05-10 00:13:29.872 - INFO: <epoch:3899, iter: 195,000> psnr: 4.9646e+00 19-05-10 01:00:36.196 - INFO: <epoch:3999, iter: 200,000> psnr: 5.1833e+00 19-05-10 01:47:40.721 - INFO: <epoch:4099, iter: 205,000> psnr: 4.9516e+00 19-05-10 02:34:43.220 - INFO: <epoch:4199, iter: 210,000> psnr: 5.0352e+00 19-05-10 03:21:31.067 - INFO: <epoch:4299, iter: 215,000> psnr: 4.9865e+00 19-05-10 04:05:41.617 - INFO: <epoch:4399, iter: 220,000> psnr: 4.6804e+00 19-05-10 04:52:24.635 - INFO: <epoch:4499, iter: 225,000> psnr: 4.9525e+00 19-05-10 05:38:48.420 - INFO: <epoch:4599, iter: 230,000> psnr: 4.9832e+00 19-05-10 06:25:33.566 - INFO: <epoch:4699, iter: 235,000> psnr: 5.2735e+00 19-05-10 07:09:53.263 - INFO: <epoch:4799, iter: 240,000> psnr: 4.8645e+00 19-05-10 07:56:47.936 - INFO: <epoch:4899, iter: 245,000> psnr: 4.9031e+00 19-05-10 08:43:46.142 - INFO: <epoch:4999, iter: 250,000> psnr: 5.0507e+00 19-05-10 09:30:08.394 - INFO: <epoch:5099, iter: 255,000> psnr: 4.9345e+00 19-05-10 10:17:11.694 - INFO: <epoch:5199, iter: 260,000> psnr: 4.8709e+00 19-05-10 11:02:00.584 - INFO: <epoch:5299, iter: 265,000> psnr: 5.3140e+00 19-05-10 11:49:01.726 - INFO: <epoch:5399, iter: 270,000> psnr: 5.5823e+00
Is the result correct at this time? If it is wrong. Is it related to my use of two graphics cards?