joaomlo

Model

Feb 4th, 2022
691
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.01 KB | None | 0 0
  1. inputs = Input((IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_CHANNELS))
  2.  
  3. s = Lambda(lambda x: x / 255) (inputs)
  4.  
  5. c1 = Conv2D(16, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (s)
  6. c1 = Dropout(0.1) (c1)
  7. c1 = Conv2D(16, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c1)
  8. p1 = MaxPooling2D((2, 2)) (c1)
  9.  
  10. c2 = Conv2D(32, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (p1)
  11. c2 = Dropout(0.1) (c2)
  12. c2 = Conv2D(32, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c2)
  13. p2 = MaxPooling2D((2, 2)) (c2)
  14.  
  15. c3 = Conv2D(64, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (p2)
  16. c3 = Dropout(0.2) (c3)
  17. c3 = Conv2D(64, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c3)
  18. p3 = MaxPooling2D((2, 2)) (c3)
  19.  
  20. c4 = Conv2D(128, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (p3)
  21. c4 = Dropout(0.2) (c4)
  22. c4 = Conv2D(128, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c4)
  23. p4 = MaxPooling2D(pool_size=(2, 2)) (c4)
  24.  
  25. c5 = Conv2D(256, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (p4)
  26. c5 = Dropout(0.3) (c5)
  27. c5 = Conv2D(256, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c5)
  28.  
  29. u6 = Conv2DTranspose(128, (2, 2), strides=(2, 2), padding='same') (c5)
  30. u6 = concatenate([u6, c4])
  31. c6 = Conv2D(128, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u6)
  32. c6 = Dropout(0.2) (c6)
  33. c6 = Conv2D(128, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c6)
  34.  
  35. u7 = Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same') (c6)
  36. u7 = concatenate([u7, c3])
  37. c7 = Conv2D(64, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u7)
  38. c7 = Dropout(0.2) (c7)
  39. c7 = Conv2D(64, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c7)
  40.  
  41. u8 = Conv2DTranspose(32, (2, 2), strides=(2, 2), padding='same') (c7)
  42. u8 = concatenate([u8, c2])
  43. c8 = Conv2D(32, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u8)
  44. c8 = Dropout(0.1) (c8)
  45. c8 = Conv2D(32, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c8)
  46.  
  47. u9 = Conv2DTranspose(16, (2, 2), strides=(2, 2), padding='same') (c8)
  48. u9 = concatenate([u9, c1], axis=3)
  49. c9 = Conv2D(16, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u9)
  50. c9 = Dropout(0.1) (c9)
  51. c9 = Conv2D(16, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c9)
  52.  
  53. outputs = Conv2D(1, (1, 1), activation='sigmoid') (c9)
  54.  
  55. model = Model(inputs=[inputs], outputs=[outputs])
  56.  
  57. #Valor originial do learning_rate = 0.001
  58. #optimizer = tf.keras.optimizers.Adam(lr=0.00001)
  59. #optimizer = tf.keras.optimizers.RMSprop(learning_rate=0.00001)
  60. optimizer = tf.keras.optimizers.SGD(learning_rate=0.00001)
  61.  
  62. model.compile(optimizer=optimizer, loss='binary_crossentropy',metrics=["accuracy", Precision(name="precision")],)
  63.  
  64. #model.summary()
Advertisement
Add Comment
Please, Sign In to add comment