Giter VIP home page Giter VIP logo

jiny2001 / dcscn-super-resolution Goto Github PK

View Code? Open in Web Editor NEW
705.0 35.0 220.0 388.65 MB

A tensorflow implementation of "Fast and Accurate Image Super Resolution by Deep CNN with Skip Connection and Network in Network", a deep learning based Single-Image Super-Resolution (SISR) model.

Home Page: https://arxiv.org/abs/1707.05425

License: MIT License

Python 99.89% Dockerfile 0.11%
deep-learning computer-vision super-resolution tensorflow python

dcscn-super-resolution's People

Contributors

jiny2001 avatar knutzuidema avatar tehtea avatar xiaotianm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dcscn-super-resolution's Issues

Split images tricks ?

Hello sir,
I am quite impress with your paper results and i am trying to implement it for my project. However I have a question related to the build_batch function in the loader.py.
screenshot from 2018-04-12 19-20-27
I read your paper and i see you have never mentioned about splitting the input image into smaller batches. I am confusing that you are using the whole low resolution image or the small batch image (crop from the original low resolution image) as input to your CNN. Can you explain it for me ? Thank you !

Data Augmentation

Hi, i have my dataset with a lot of images .PNG, 640x480 with Bit depth 16. when i run augmentation.py, its transform all of then in Bit Depth 8, and i "loosing data" (my image become almost white). one more time, no clue.

Invalid DISPLAY variable

After training, there is an error at model.save_graphs(flags.graph_dir, trial)

Traceback (most recent call last):
File "train.py", line 99, in
tf.app.run()
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "train.py", line 44, in main
train(model, FLAGS, i)
File "train.py", line 89, in train
model.save_graphs(flags.graph_dir, trial)
File "/data1/xxx/cv/dcscn-super-resolution/DCSCN.py", line 513, in save_graphs
plt.plot(self.csv_epochs, self.csv_training_psnr, "b", label='Training PSNR')
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/pyplot.py", line 3306, in plot
ax = gca()
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/pyplot.py", line 950, in gca
return gcf().gca(**kwargs)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/pyplot.py", line 586, in gcf
return figure()
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/pyplot.py", line 535, in figure
**kwargs)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/backends/backend_qt5agg.py", line 44, in new_figure_manager
return new_figure_manager_given_figure(num, thisFig)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/backends/backend_qt5agg.py", line 51, in new_figure_manager_given_figure
canvas = FigureCanvasQTAgg(figure)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/backends/backend_qt5agg.py", line 242, in init
super(FigureCanvasQTAgg, self).init(figure=figure)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/backends/backend_qt5agg.py", line 66, in init
super(FigureCanvasQTAggBase, self).init(figure=figure)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/backends/backend_qt5.py", line 236, in init
_create_qApp()
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/matplotlib/backends/backend_qt5.py", line 144, in _create_qApp
raise RuntimeError('Invalid DISPLAY variable')
RuntimeError: Invalid DISPLAY variable

How to proceed with Decimal Scaling factor?

Hi,

First of all thanks for the code. I have a quick question. The paper deals with upscaling the resolution by scale factor of 2 , 3 etc.
So I can basically upscale 8 * 8 to 16 * 16(scale 2) or 24 * 24 (scale 3) or 32 * 32(scale 4)

How to adopt this techniques to say, if I want to upscale 24 * 24 to 32 * 32 (scale 1.3) , or 28 * 28 to 32 * 32 (scale 1.1)? Is this possible?

Training Dataset?

Ehhh, Sorry, I konw you are really busy recently. So please forgive me to bother you again firstly.

I find your training images in BSD dataset are .png format. Are these ok to train?
in your paper, I find the "total number of training images is 1,164 and the total size is 435MB". But I augment your BSD200(.png format)+Set91(.bmp format). They are only 259MB.

And the training result is not good.

in this site: https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/
I only can download the jpg format images.
Can you provide the link of BSD200 of .bmp format?
Thank you very much

self_ensemble

hi, i dont understand what self_ensemble does...? [1..8]??
what 1 means, what 8 does?

calculate the MSE between the images with the type of float ?

I find in your code, you have calculated the mse betweem two images with the type of float.

def compute_mse(image1, image2, border_size=0):
	if len(image1.shape) == 2:
		image1 = image1.reshape(image1.shape[0], image1.shape[1], 1)
	if len(image2.shape) == 2:
		image2 = image2.reshape(image2.shape[0], image2.shape[1], 1)

	if image1.shape[0] != image2.shape[0] or image1.shape[1] != image2.shape[1] or image1.shape[2] != image2.shape[2]:
		return None

	if image1.dtype == np.uint8:
		image1 = image1.astype(np.double)
	if image2.dtype == np.uint8:
		image2 = image2.astype(np.double)

	mse = 0.0
	for i in range(border_size, image1.shape[0] - border_size):
		for j in range(border_size, image1.shape[1] - border_size):
			for k in range(image1.shape[2]):
				error = image1[i, j, k] - image2[i, j, k]
				mse += error * error

	return mse / ((image1.shape[0] - 2 * border_size) * (image1.shape[1] - 2 * border_size) * image1.shape[2])

However, the psnr should calculated between two images(uint8).
So, whether it is necessary to convert the result images to "uint8", and then convert them to "double "again to calculate the PSNR or MSE.

readme

hi, not really an error just a type error, in the readme file, the description on default value of "min_filters" should be 48, not 196 (just like in args.py)

Reconstruction Network and Network in Network

Hey Jin! You have done an excellent job!! I am trying to figure out what is going on the reconstruction network as regards to the network in network technique. For example, do we have to use a perceptron layer on layers A1, B1, B2? Could you provide me with some insight?
Thank you in advance!

sr.py header

Hi, i think your header in sr.py is out of date.... locks like it were from evaluate.py header, (last line of comment should be something like py sr.py --layers=12 --filters=196 --file=image.jpg)

SELU seems a good drop-in replacement for PReLu

I code your model in PyTorch (with some changes) and run some experiment on self-collected images. I have very limited GPU resources, so I am not able to test selu thoroughly in the model. The results might be an illusion but worth more testing.

Model specification:

  • upscale: 2
  • feature-extraction layers: 12
  • first feature-extraction filters: 198
  • last feature-extraction filters: 48 (number of filters are decreased by exponential decay)
  • reconstruction filters ("nin_filters"): 128
  • up sampling filters ("reconstruct_filters"): 32

no dropouts, no weight decays, no ensemble.

Dataset:
High resolution png images are cropped into 96x96 patches (non overlapping) and down sampled by bicubic. They are then converted into jpeg with 50% quality as input data. In the final reconstruction part, input images are up sampled by bilinear.

optimizer:
Adam, initial learning rate is 5e-4, betas are (0.9, 0.999)

Here are the results:
Y axis is ssim score, and x axis is the number of epochs.

SELU with L1 loss:
initial weights are normal with 0, 1/number of weights as recommended by SELU's creators.
init
selu l12 196 48 128 32

PReLu with L1 loss
prelu l12 196 48 128 32

PReLU with MSE loss
prelu mse l12 196 48 128 32

Some extra potential benefits on using SELU:
Batch norm, dropout and alpha dropout may have negative impact during training. I add alpha dropout with drop probability of 0.02 and find the model has much higher loss and lower SSIM. In addition, gradient clipping seems redundant.

When I set the reconstruction filters, or "nin_filters" in your model's term, to be 64, the model is unstable in the first 100 epochs. But as I increase the number, the instability fades away.

train issue

when trying to train, i get a error from configparser.py "ValueError: invalid literal for int() with base 10: '255.0'. with that i get a error on \helper\loader.py line 259
image

how do i restore a model

Hello,
How do I do if I want to restore a model I already have trained, and continue training on that model?

Parameters of the c-DCSCN model

Hi,

I'm trying to train the c-DCSCN model that is referenced at the paper, but I'm not being able to get the complexity of this model. What parameters should I use to create this model?

Thanks for advance!

Result for layers

is there a way to know or show/view what is the networking learning in each layer?

Image size

Training data is a large part of my own image data set,testing data is another small part of the image data set,is it right?
What is the maximum size of the training image and testing image?
Does the code work for large size(6000-7000) training data?My GPU is GeForce GT 630M (as follows),I don't know whether I can train the data on my computer.Can you give me some guidance?
If I installed tensorflow-GPU,will it train with GPU by default?and how long it works?

3

train so slowly

I train your code use yang_bsd_4 dataset, it's so slowly. suggest use tfrecords for loading data, and tf.depth_to_space can replace convert_from_multi_channel_image, tf.spaces_to_depth can replace convert_to_multi_channel_image imilarly.
These can improve train speed.

Frozen graph for inference

Hello sirs,
I would like to test your model on mobile device for my own project. In order to do that, i need to convert your ckpt trained files into frozen inference graph (pb format).
Based on this Tensorflow tutorial https://www.tensorflow.org/mobile/prepare_models, I need to know the input node and output node of your network. Can you help me to do that ?
Thanks !

somthing about calculate PSNR

I have ran your model,but it gives me lower PSNR values in comparison to ones mentioned in READ.md file . I am bit confused if I am understanding something wrong or whats wrong that I am not getting the reported values.The data gap with the article is about 1dB.

python3 evaluate.py --test_dataset=set14 --save_results=true

/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
return f(*args, **kwds)
Python Interpreter version:3.5
tensorflow version:1.0.0
numpy version:1.15.0
Session and graph initialized.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

DCSCN v2-------------------------------------
2018/8/22 16:52:39 [dcscn_L12_F196to48_NIN_A64_PS_R1F32]
Traceback (most recent call last):
File "evaluate.py", line 78, in
tf.app.run()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/platform/app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "evaluate.py", line 46, in main
model.build_graph()
File "/home/jing/examples/dcscn-super-resolution-master/DCSCN.py", line 212, in build_graph
use_batch_norm=self.batch_norm, dropout_rate=self.dropout_rate)
File "/home/jing/examples/dcscn-super-resolution-master/helper/tf_graph.py", line 126, in build_conv
h = self.conv2d(input_tensor, w, self.cnn_stride, bias=b, use_batch_norm=use_batch_norm, name=name)
File "/home/jing/examples/dcscn-super-resolution-master/helper/tf_graph.py", line 107, in conv2d
self.complexity += self.pix_per_input * int(w.shape[0] * w.shape[1] * w.shape[2] * w.shape[3])
AttributeError: 'Variable' object has no attribute 'shape'

x2 scale

Hi @jiny2001 , thank you very much for this amazing work, could you please explan to me how to get 2x scale for my own photo, iam very sorry for wasteing your time 😊😊

some questions ablut training my own data.

I am using your network to train my own data in the field of public security,for exmple,license plate number.while when I downsample the picture that the number can not be seen clearly. It seems bad performance when I use trained model to upsample it .Do you have any advice?

Add document about implement Network in Network

I am training model using your implemented code ver1. I tried to read your implementation code of the Network in Network (NIN) component and found that you used just convolution 2d component. I know this is not an issue but can you explain your implementation of Network in Network?

One more thing, I found that the shape of the output of the scaled image is weird. For example, if the input image shape is [H, W] then the output shape of 3 times scale is [H, W, scalescale] = [H, W, 9] instead of [H3, W*3]. What reason you did that? does it your trick to implement the NIN? do you have any document about this implementation?

python sr.py error

I downloaded the latest code,and ran

python sr.py --file tmp.bmp

then i got some errors bellow

DCSCN v2-------------------------------------
2018/4/23 10:37:53 [dcscn_L12_F196to48_NIN_A64_PS_R1F32]
Feature:196 166 148 133 120 108 97 86 76 66 57 48  Total: (1301)64 32 32 384 1  Complexity:1,754,942 Receptive Fields:29
CNN1/conv_W:0 (3, 3, 1, 196)=1764, CNN1/conv_B:0 196, CNN1/prelu/CNN1_prelu:0 196, CNN2/conv_W:0 (3, 3, 196, 166)=292824, CNN2/conv_B:0 166, CNN2/prelu/CNN2_prelu:0 166, CNN3/conv_W:0 (3, 3, 166, 148)=221112, CNN3/conv_B:0 148, CNN3/prelu/CNN3_prelu:0 148, CNN4/conv_W:0 (3, 3, 148, 133)=177156, CNN4/conv_B:0 133, CNN4/prelu/CNN4_prelu:0 133, CNN5/conv_W:0 (3, 3, 133, 120)=143640, CNN5/conv_B:0 120, CNN5/prelu/CNN5_prelu:0 120, CNN6/conv_W:0 (3, 3, 120, 108)=116640, CNN6/conv_B:0 108, CNN6/prelu/CNN6_prelu:0 108, CNN7/conv_W:0 (3, 3, 108, 97)=94284, CNN7/conv_B:0 97, CNN7/prelu/CNN7_prelu:0 97, CNN8/conv_W:0 (3, 3, 97, 86)=75078, CNN8/conv_B:0 86, CNN8/prelu/CNN8_prelu:0 86, CNN9/conv_W:0 (3, 3, 86, 76)=58824, CNN9/conv_B:0 76, CNN9/prelu/CNN9_prelu:0 76, CNN10/conv_W:0 (3, 3, 76, 66)=45144, CNN10/conv_B:0 66, CNN10/prelu/CNN10_prelu:0 66, CNN11/conv_W:0 (3, 3, 66, 57)=33858, CNN11/conv_B:0 57, CNN11/prelu/CNN11_prelu:0 57, CNN12/conv_W:0 (3, 3, 57, 48)=24624, CNN12/conv_B:0 48, CNN12/prelu/CNN12_prelu:0 48, A1/conv_W:0 (1, 1, 1301, 64)=83264, A1/conv_B:0 64, A1/prelu/A1_prelu:0 64, B1/conv_W:0 (1, 1, 1301, 32)=41632, B1/conv_B:0 32, B1/prelu/B1_prelu:0 32, B2/conv_W:0 (3, 3, 32, 32)=9216, B2/conv_B:0 32, B2/prelu/B2_prelu:0 32, Up-PS/Up-PS_CNN/conv_W:0 (3, 3, 96, 384)=331776, Up-PS/Up-PS_CNN/conv_B:0 384, R-CNN1/conv_W:0 (3, 3, 96, 1)=864,
Total 48 variables, 1,754,942 params
Model initialized.
2018-04-23 10:38:07.455673: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
2018-04-23 10:38:07.456275: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.456140: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.457115: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.457231: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.457489: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.457527: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.457530: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.457596: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]
2018-04-23 10:38:07.457714: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Up-PS/Up-PS_CNN/conv_B/Adam not found in checkpoint
         [[Node: save/RestoreV2_139 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_139/tensor_names, save/RestoreV2_139/shape_and_slices)]]

Memory problem

Hi,

I clone the latest version and try to fin-tuned the old model, but this time i got memory problem. screen shot is attached.
dscn_fine-tuned-memory_erro

low GPU utilization rate

Hi, @jiny2001
I'm trying to train compact version of DCSCN. But I found that the GPU utilization rate is very unstable. It seems that GPU is waiting for CPU to feed data. Have you encounter this problem while training?
My training process takes 1.841sec/step. Is this a normal condition? Could you share some training log with me?
Thx.

Syntax error message.

Hi I am new to this and trying to figure out how to apply to a sample image. I am receiving the following error;

$ python sr.py --file image001.png --dataset yang_bsd_4 --filters_decay_gamma 1.5 
Traceback (most recent call last):
  File "sr.py", line 11, in <module>
    import DCSCN
  File "/home/user01/Downloads/dcscn-super-resolution-master/DCSCN.py", line 20, in <module>
    from helper import loader, utilty as util
  File "/home/user01/Downloads/dcscn-super-resolution-master/helper/loader.py", line 137
    print('.', end='', flush=True)
                  ^
SyntaxError: invalid syntax

Finetuning the old model ??

is it is possible to finetued the old model ? Or we have to put all the images for the old model along with our own images and train the model from scratch ? Can any body guide me in this regards ?

multiple GPU

Hi
I have a server with 4 GPU, trying to train. but i get an error (sorry the many captures of the error)

image
image
image

image

image

how i can use the four? or why is this error ( i am giving a 5 images for test, and 20 for train, the images are 640x480)

Error when applying to an image

I copy img_001.png from set5 to the root of the project folder and then run:
$ python sr.py --file img_001.png --model_name L7_F32to8_G1.20_NIN_A24_B8_BI_D0.80_prelu_yang_bsd_4

Then I got the following error:

`
DCSCN -------------------------------------
2017/9/15 0:6:12 [dcscn_L7_F32to8_G1.20_NIN_A24_B8_BI_D0.80_prelu_yang_bsd_4]
Feature:96 76 65 55 47 39 32 Total: (410) Complexity:244,193 Receptive Fields:15
conv0/conv_W:0 (3, 3, 1, 96)=864, conv0/conv_B:0 96, conv0/prelu/conv0_prelu:0 96, conv1/conv_W:0 (3, 3, 96, 76)=65664, conv1/conv_B:0 76, conv1/prelu/conv1_prelu:0 76, conv2/conv_W:0 (3, 3, 76, 65)=44460, conv2/conv_B:0 65, conv2/prelu/conv2_prelu:0 65, conv3/conv_W:0 (3, 3, 65, 55)=32175, conv3/conv_B:0 55, conv3/prelu/conv3_prelu:0 55, conv4/conv_W:0 (3, 3, 55, 47)=23265, conv4/conv_B:0 47, conv4/prelu/conv4_prelu:0 47, conv5/conv_W:0 (3, 3, 47, 39)=16497, conv5/conv_B:0 39, conv5/prelu/conv5_prelu:0 39, conv6/conv_W:0 (3, 3, 39, 32)=11232, conv6/conv_B:0 32, conv6/prelu/conv6_prelu:0 32, A1/conv_W:0 (1, 1, 410, 64)=26240, A1/conv_B:0 64, A1/prelu/A1_prelu:0 64, B1/conv_W:0 (1, 1, 410, 32)=13120, B1/conv_B:0 32, B1/prelu/B1_prelu:0 32, B2/conv_W:0 (3, 3, 32, 32)=9216, B2/conv_B:0 32, B2/prelu/B2_prelu:0 32, L/conv_W:0 (1, 1, 96, 4)=384,
Total 31 variables, 244,193 params
Model Initialised.
2017-09-15 00:06:14.407804: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.409125: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.410852: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.412998: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.415173: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.415535: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.417138: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.417145: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.421739: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.422484: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.422607: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.422591: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.423801: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.426588: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.427108: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.427570: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.428823: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.430250: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.430774: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.432214: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.432995: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.433159: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.433920: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.434185: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.434398: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.435313: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.436181: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.437035: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.437051: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.437489: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.437582: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.437690: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.439742: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.440607: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.441015: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.442150: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.444129: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.444212: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.445271: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.444945: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.448664: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.450690: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.450777: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.453682: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.453631: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.453609: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.455588: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.455694: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.458604: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.458700: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.462923: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.462951: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.464283: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.464367: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.466582: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.467657: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.468162: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.468365: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.470517: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.470707: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.470844: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.470972: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.471242: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.471381: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.472487: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.472653: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.473281: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.473426: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.473613: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.473793: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.473860: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.474886: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.475011: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.475239: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.475808: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.476009: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.476221: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.476401: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.477846: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.477955: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.478424: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.478589: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.478724: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.478909: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.478982: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.479141: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.480150: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
2017-09-15 00:06:14.480258: W tensorflow/core/framework/op_kernel.cc:1158] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]
Traceback (most recent call last):
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1139, in _do_call
return fn(*args)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1121, in _run_fn
status, run_metadata)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/contextlib.py", line 66, in exit
next(self.gen)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "sr.py", line 49, in
tf.app.run()
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "sr.py", line 26, in main
model.load_model()
File "/data1/xxx/cv/dcscn-super-resolution/DCSCN.py", line 417, in load_model
self.saver.restore(self.sess, filename)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1548, in restore
{self.saver_def.filename_tensor_name: save_path})
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 789, in run
run_metadata_ptr)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 997, in _run
feed_dict_string, options, run_metadata)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1132, in _do_run
target_list, options, run_metadata)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1152, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]

Caused by op 'save/Assign_78', defined at:
File "sr.py", line 49, in
tf.app.run()
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "sr.py", line 23, in main
model.build_summary_saver()
File "/data1/xxx/cv/dcscn-super-resolution/DCSCN.py", line 402, in build_summary_saver
self.saver = tf.train.Saver(max_to_keep=None)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1139, in init
self.build()
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1170, in build
restore_sequentially=self._restore_sequentially)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 691, in build
restore_sequentially, reshape)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 419, in _AddRestoreOps
assign_ops.append(saveable.restore(tensors, shapes))
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 155, in restore
self.op.get_shape().is_fully_defined())
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/ops/state_ops.py", line 271, in assign
validate_shape=validate_shape)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/ops/gen_state_ops.py", line 45, in assign
use_locking=use_locking, name=name)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2506, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1269, in init
self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [39] rhs shape= [11]
[[Node: save/Assign_78 = Assign[T=DT_FLOAT, _class=["loc:@conv5/conv_B"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](conv5/conv_B/Adam, save/RestoreV2_78/_59)]]

`

Result PSNR

Hi

you have a section where you show the different values of PSNR comparing. is there a way to modify evaluation.py to do this, and compare my model with my dataset vs bicubic?

image

wrong Training Path

Are line 38 and 41 alright? i am a little confuse traying to train with new images

image

Where the checkpoints are saved

I am running the code for DIV2K dataset with all default parameters. It has run for more than 25 epochs. I don't see model checkpoints getting saved anywhere. Is there something wrong?
How do I reload the model after certain epoch and evaluate on test data?

Error when training with scale 3 and scale 4

I can train with:
$ python -u train.py --dataset yang91 --layers 10 --filters 196 --min_filters 48 --filters_decay_gamma 1.2 --last_cnn_size 3 --scale 2

but when I change --scale to 3 or 4, it causes error, it seem that the image is too small to patch?

Loaded [data/yang91/t2.bmp]: 172 x 179 x 3 Saved [batch_data/yang91/input/000086.bmp] Saved [batch_data/yang91/interpolated/000086.bmp] Saved [batch_data/yang91/true/000086.bmp] Saved [batch_data/yang91/input/000087.bmp] Saved [batch_data/yang91/interpolated/000087.bmp] Saved [batch_data/yang91/true/000087.bmp] Saved [batch_data/yang91/input/000088.bmp] Saved [batch_data/yang91/interpolated/000088.bmp] Saved [batch_data/yang91/true/000088.bmp] Saved [batch_data/yang91/input/000089.bmp] Saved [batch_data/yang91/interpolated/000089.bmp] Saved [batch_data/yang91/true/000089.bmp] Saved [batch_data/yang91/input/000090.bmp] Saved [batch_data/yang91/interpolated/000090.bmp] Saved [batch_data/yang91/true/000090.bmp] Saved [batch_data/yang91/input/000091.bmp] Saved [batch_data/yang91/interpolated/000091.bmp] Saved [batch_data/yang91/true/000091.bmp] Saved [batch_data/yang91/input/000092.bmp] Saved [batch_data/yang91/interpolated/000092.bmp] Saved [batch_data/yang91/true/000092.bmp] Saved [batch_data/yang91/input/000093.bmp] Saved [batch_data/yang91/interpolated/000093.bmp] Saved [batch_data/yang91/true/000093.bmp] Loaded [data/yang91/t20.bmp]: 78 x 78 x 3 Traceback (most recent call last): File "train.py", line 113, in <module> tf.app.run() File "/opt/anaconda2/envs/tf121py35/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "train.py", line 30, in main FLAGS.batch_image_size, FLAGS.stride_size) File "/data1/xxx/cv/dcscn-super-resolution/DCSCN.py", line 160, in load_datasets datasets.build_batch(data_dir, batch_dir) File "/data1/xxx/cv/dcscn-super-resolution/helper/loader.py", line 185, in build_batch input_count = input_batch_images.shape[0] AttributeError: 'NoneType' object has no attribute 'shape'

Problem training a model

I tried to train a new model with different parameters, but I always get the same problem. The Model initialized and then it does not do anything else. Should I wait or is it that I'm doing something wrong? I attach an image at the moment where the program stays.

imagen

Thanks for your help!

evaluate.py

i have a dataset with .png image with 8 of bit depth (gray scale). when i run evaluate.py, this input image, becomes 24 bit depth, i think they should stay with the same depth (should be the same image). any suggest?

original image on datasetfolder
image

image create after run evaluate.py
image

If validation set gets bigger, it crashes due to lack of resource

For example, in evaluate(), we run sess over self.x : self.test.input.images.
However, if validation set gets bigger, it quickly run out of memory.
As in the train step, batch process might mitigate this issue.
However, I'm not sure summary_op should be also changed or not.

summary_str, mse = self.sess.run([self.summary_op, self.mse],
feed_dict={self.x: self.test.input.images,
self.x2: self.test.input.quad_images,
self.y: self.test.true.quad_images,
self.dropout_input: 1.0})

ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[2394,64,128,128]

Architecture

Hello Jin. You made great job. I try to understand your architecture at version 1. I wonder if the first 7 layers is convolutional. Are all the other layer for the reconstruction deconvolutional? Thanks in advance!

Testing Data

Does the training data and testing data image type need to be consistent?
If I use my own training data and testing data,and place them in the TrainData and TestData directory respectively.For training,can I use --dataset=TrainData --test_dataset=TestData ? Or modify the test_dataset definition in arg.py ?

training error

i run train.py from cmd console, but for doing that i have to write "py train.py .... " and i am getting train.py like one more argument for the script. trying to fix it, no clue.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.