Closed ABDOELSHEMY closed 6 years ago
It seems your validation data set doesn't have enough images to index, are you using DIV2K data set?
i use DIV2K data set DIV2K_valid_HR=100 png photo DIV2K_valid_LR_bicubic x4=100 png photo
for mor information please take look if i make anything in the bad way 1- i download SRGAN_Wasserstein project 2- i set my image folder in config.py 3- i download pretrained model for DIV2K 4- in SRGAN_Wasserstein project i make checkpoint folder and put the g_srgan.npz on it 5- i start evaluation with "python main.py --mode=evaluate" sorry for wasting your time
Sorry my bad, DIV2K are png images, but in my earlier training, I changed my main.py to read jpg images, after that I forgot to change it back. I've already make it right, please git pull the repo. Thanks again.
thank you very much for your support, the above error was gone now, then another one appear
PS D:\SRGAN Wasserstein> python main.py --mode=evaluate
C:\Users\ABDO\AppData\Local\Programs\Python\Python35\lib\site-packages\h5py__init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float
to np.floating
is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type
.
from ._conv import register_converters as _register_converters
[*] creates samples/evaluate ...
read 32 from data2017/DIV2K_valid_LR_bicubic/X4/
read 64 from data2017/DIV2K_valid_LR_bicubic/X4/
read 96 from data2017/DIV2K_valid_LR_bicubic/X4/
read 100 from data2017/DIV2K_valid_LR_bicubic/X4/
read 32 from data2017/DIV2K_valid_HR/
read 64 from data2017/DIV2K_valid_HR/
read 96 from data2017/DIV2K_valid_HR/
read 100 from data2017/DIV2K_valid_HR/
[TL] InputLayer SRGAN_g/in: (?, 384, 510, 3)
[TL] Conv2dLayer SRGAN_g/n64s1/c: shape:[9, 9, 3, 64] strides:[1, 1, 1, 1] pad:SAME act:relu
[TL] Conv2dLayer SRGAN_g/n64s1/c1/0: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/0: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/0: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/0: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/0: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/1: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/1: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/1: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/1: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/1: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/2: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/2: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/2: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/2: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/2: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/3: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/3: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/3: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/3: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/3: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/4: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/4: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/4: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/4: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/4: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/5: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/5: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/5: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/5: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/5: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/6: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/6: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/6: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/6: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/6: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/7: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/7: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/7: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/7: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/7: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/8: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/8: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/8: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/8: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/8: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/9: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/9: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/9: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/9: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/9: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/10: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/10: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/10: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/10: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/10: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/11: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/11: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/11: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/11: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/11: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/12: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/12: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/12: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/12: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/12: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/13: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/13: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/13: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/13: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/13: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/14: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/14: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/14: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/14: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/14: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c1/15: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b1/15: decay:0.900000 epsilon:0.000010 act:relu is_train:False
[TL] Conv2dLayer SRGAN_g/n64s1/c2/15: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b2/15: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/b_residual_add/15: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n64s1/c/m: shape:[3, 3, 64, 64] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] BatchNormLayer SRGAN_g/n64s1/b/m: decay:0.900000 epsilon:0.000010 act:identity is_train:False
[TL] ElementwiseLayer SRGAN_g/add3: size:(?, 384, 510, 64) fn:add
[TL] Conv2dLayer SRGAN_g/n256s1/1: shape:[3, 3, 64, 256] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] SubpixelConv2d SRGAN_g/pixelshufflerx2/1: scale: 2 n_out_channel: 64 act: relu
[TL] Conv2dLayer SRGAN_g/n256s1/2: shape:[3, 3, 64, 256] strides:[1, 1, 1, 1] pad:SAME act:identity
[TL] SubpixelConv2d SRGAN_g/pixelshufflerx2/2: scale: 2 n_out_channel: 64 act: relu
[TL] Conv2dLayer SRGAN_g/out: shape:[9, 9, 64, 3] strides:[1, 1, 1, 1] pad:SAME act:tanh
2018-05-20 14:01:30.715172: I C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\35\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
Traceback (most recent call last):
File "C:\Users\ABDO\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\common_shapes.py", line 686, in _call_cpp_shape_fn_impl
input_tensors_as_shapes, status)
File "C:\Users\ABDO\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 473, in exit__
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension 0 in both shapes must be equal, but are 9 and 3 for 'Assign' (op: 'Assign') with input shapes: [9,9,3,64], [3,3,3,64].
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 351, in
sorry for that.
Git pull again, fix some saving dirs error, mine works fine. You'll see this:
LR size: (384, 510, 3) / generated HR size: (1, 1536, 2040, 3)
[*] save images
Oh I konw what happened, you are using the original author's pretrained weights, his final layer's conv kernel of SRGAN_g
(model.py
line 53) is using 1×1 kernel, but I changed this kernel to 9×9, so you'll get this weights unequal error.
Two advice:
SRGAN_g
's final conv kernel (model.py
line 53) to (1, 1) instead of (9, 9), and using the provided pretrained weights.great, you are amazing man, i will take the second advice, thank you @JustinhoCHN for your effort and time.
You are welcome, you are helping debug this repo, thanks.
works perfect now, i just forced to change ( line 24 ) also to (3, 3) instead of (9, 9), and every thing is ok, thank you.
hi @JustinhoCHN thank you for sharing your great work when i start to try the project it give me this error
PS D:\SRGAN Wasserstein> python main.py --mode=evaluate C:\Users\ABDO\AppData\Local\Programs\Python\Python35\lib\site-packages\h5py__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from
train()
File "main.py", line 306, in evaluate
float
tonp.floating
is deprecated. In future, it will be treated asnp.float64 == np.dtype(float).type
. from ._conv import register_converters as _register_converters [!] samples/evaluate exists ... Traceback (most recent call last): File "main.py", line 351, in========================== DEFINE MODEL
IndexError: list index out of range
i run python 3.5 TensorFlow 1.4 TensorLayer 1.8.5 windows 10 i can run tensorlayer/srgan without any errors. how can i fix this please