Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. wtm=Input((4,4,1))
  2. image = Input((28, 28, 1))
  3. conv1 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl1e')(image)
  4. conv2 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl2e')(conv1)
  5. conv3 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl3e')(conv2)
  6. BN=BatchNormalization()(conv3)
  7. encoded = Conv2D(1, (5, 5), activation='relu', padding='same',name='encoded_I')(BN)
  8.  
  9.  
  10.  
  11. rep=Kr.layers.Lambda(lambda x:Kr.backend.repeat(x,28))
  12. a=rep(Kr.layers.Lambda(lambda x:x[1,1])(wtm))
  13.  
  14. add_const = Kr.layers.Lambda(lambda x: x[0] + x[1])
  15. encoded_merged = add_const([encoded,a])
  16.  
  17.  
  18. #-----------------------decoder------------------------------------------------
  19. #------------------------------------------------------------------------------
  20. deconv1 = Conv2D(64, (5, 5), activation='elu', padding='same', name='convl1d')(encoded_merged)
  21. deconv2 = Conv2D(64, (5, 5), activation='elu', padding='same', name='convl2d')(deconv1)
  22. deconv3 = Conv2D(64, (5, 5), activation='elu',padding='same', name='convl3d')(deconv2)
  23. deconv4 = Conv2D(64, (5, 5), activation='elu',padding='same', name='convl4d')(deconv3)
  24. BNd=BatchNormalization()(deconv4)
  25. #DrO2=Dropout(0.25,name='DrO2')(BNd)
  26.  
  27. decoded = Conv2D(1, (5, 5), activation='sigmoid', padding='same', name='decoder_output')(BNd)
  28. #model=Model(inputs=image,outputs=decoded)
  29.  
  30. model=Model(inputs=[image,wtm],outputs=decoded)
  31.  
  32. decoded_noise = GaussianNoise(0.5)(decoded)
  33.  
  34. #----------------------w extraction------------------------------------
  35. convw1 = Conv2D(64, (5,5), activation='relu', name='conl1w')(decoded_noise)#24
  36. convw2 = Conv2D(64, (5,5), activation='relu', name='convl2w')(convw1)#20
  37. #Avw1=AveragePooling2D(pool_size=(2,2))(convw2)
  38. convw3 = Conv2D(64, (5,5), activation='relu' ,name='conl3w')(convw2)#16
  39. convw4 = Conv2D(64, (5,5), activation='relu' ,name='conl4w')(convw3)#12
  40. #Avw2=AveragePooling2D(pool_size=(2,2))(convw4)
  41. convw5 = Conv2D(64, (5,5), activation='relu', name='conl5w')(convw4)#8
  42. convw6 = Conv2D(64, (5,5), activation='relu', name='conl6w')(convw5)#4
  43. convw7 = Conv2D(64, (5,5), activation='relu',padding='same', name='conl7w',dilation_rate=(2,2))(convw6)#4
  44. convw8 = Conv2D(64, (5,5), activation='relu', padding='same',name='conl8w',dilation_rate=(2,2))(convw7)#4
  45. convw9 = Conv2D(64, (5,5), activation='relu',padding='same', name='conl9w',dilation_rate=(2,2))(convw8)#4
  46. convw10 = Conv2D(64, (5,5), activation='relu',padding='same', name='conl10w',dilation_rate=(2,2))(convw9)#4
  47. BNed=BatchNormalization()(convw10)
  48. pred_w = Conv2D(1, (1, 1), activation='sigmoid', padding='same', name='reconstructed_W',dilation_rate=(2,2))(BNed)
  49.  
  50. w_extraction=Model(inputs=[image,wtm],outputs=[decoded,pred_w])
  51.  
  52. w_extraction.summary()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement