Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. import tensorflow as tf
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. import os
  5.  
  6. n_iterations = 1000
  7. #fuction for convo layers
  8. def convo(X,inp_channel,out_channel):
  9. #with tf.variable_scope(scope or "linear"):
  10. W1 = tf.Variable(tf.random_normal([5, 5,inp_channel, 8], stddev=0.1), name="W1")
  11. B1 = tf.Variable(tf.random_normal([8], stddev=0.1), name="B1")
  12. conv1=tf.nn.conv2d(X,W1,strides=[1,1,1,1],padding='SAME')+B1
  13.  
  14.  
  15. conv1 = tf.nn.relu(conv1)
  16. W2 = tf.Variable(tf.random_normal([5, 5,8, out_channel], stddev=0.1), name="W2")
  17. B2 = tf.Variable(tf.random_normal([out_channel], stddev=0.1), name="B2")
  18. conv2=tf.nn.conv2d(conv1,W2,strides=[1,1,1,1],padding='SAME')+B2
  19.  
  20. conv2 = tf.nn.relu(conv2)
  21. return conv2
  22.  
  23.  
  24. files = [os.path.join('abc.jpg')]
  25. data=plt.imread(files[0]).astype(np.float32)/255
  26. img=[data.tolist()]
  27.  
  28. files2 = [os.path.join('blur2.jpeg')]
  29. data2=plt.imread(files2[0]).astype(np.float32)/255
  30. img2=[data2.tolist()]
  31.  
  32. inp_img= tf.placeholder(tf.float32, shape=[None,804,1920,3], name='X')
  33. out_img = tf.placeholder(tf.float32, shape=[None,804,1920,3], name='Y')
  34.  
  35.  
  36. n_channels=[3,3,3,3]
  37.  
  38. Previous_out=inp_img
  39. #initiating convo layers
  40. for conv_i in range(1,len(n_channels)):
  41.  
  42. current_i=convo(X=Previous_out,inp_channel= n_channels[conv_i-1],out_channel= n_channels[conv_i])
  43. Previous_out= tf.reshape(Previous_out,[1,804,1920,n_channels[conv_i]])
  44. Previous_out=current_i+Previous_out
  45. Final_out= Previous_out
  46.  
  47.  
  48.  
  49.  
  50. #cost_function
  51. cost = current_i+inp_img - out_img
  52. loss = tf.reduce_sum(tf.square(cost))
  53. optimizer = tf.train.AdamOptimizer(0.001).minimize(loss)
  54. sess = tf.InteractiveSession()
  55. init = tf.global_variables_initializer().run()
  56.  
  57. for it_i in range(n_iterations):
  58.  
  59. optimizer.run(feed_dict={inp_img:img,out_img:img2})
  60. if it_i%20 == 0:
  61. train_accuracy=loss.eval(feed_dict={int_img:img,out_img:img2})
  62. print(it_i,train_accuracy)
  63. final_img=Final_out.eval(feed_dict={int_img:img,out_img:img2})
  64. final_img1=np.squeeze(np.array(final_img))
  65. plt.imshow(final_img1)
  66. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement