joaomlo

Novo Modelo

Feb 4th, 2022
957
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.81 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. p5 = MaxPooling2D(pool_size=(2, 2)) (c5)
  29.  
  30. c6 = Conv2D(512, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (p5)
  31. c6 = Dropout(0.3) (c6)
  32. c6 = Conv2D(512, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c6)
  33. p6 = MaxPooling2D(pool_size=(2, 2)) (c6)
  34.  
  35. c7 = Conv2D(1024, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (p6)
  36. c7 = Dropout(0.3) (c7)
  37. c7 = Conv2D(1024, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c7)
  38. p7 = MaxPooling2D(pool_size=(2, 2)) (c7)
  39.  
  40. c8 = Conv2D(2048, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (p7)
  41. c8 = Dropout(0.3) (c8)
  42. c8 = Conv2D(2048, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c8)
  43. p8 = MaxPooling2D(pool_size=(2, 2)) (c8)
  44.  
  45. u9 = Conv2DTranspose(1024, (2, 2), strides=(2, 2), padding='same') (c8)
  46. u9 = concatenate([u9, c7])
  47. c9 = Conv2D(1024, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u9)
  48. c9 = Dropout(0.2) (c9)
  49. c9 = Conv2D(1024, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c9)
  50.  
  51. u10 = Conv2DTranspose(512, (2, 2), strides=(2, 2), padding='same') (c9)
  52. u10 = concatenate([u10, c6])
  53. c10 = Conv2D(512, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u10)
  54. c10 = Dropout(0.2) (c10)
  55. c10 = Conv2D(512, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c10)
  56.  
  57. u11 = Conv2DTranspose(216, (2, 2), strides=(2, 2), padding='same') (c10)
  58. u11 = concatenate([u11, c5])
  59. c11 = Conv2D(216, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u11)
  60. c11 = Dropout(0.2) (c11)
  61. c11 = Conv2D(216, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c11)
  62.  
  63. u12 = Conv2DTranspose(128, (2, 2), strides=(2, 2), padding='same') (c11)
  64. u12 = concatenate([u12, c4])
  65. c12 = Conv2D(128, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u12)
  66. c12 = Dropout(0.2) (c12)
  67. c12 = Conv2D(128, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c12)
  68.  
  69. u13 = Conv2DTranspose(64, (2, 2), strides=(2, 2), padding='same') (c12)
  70. u13 = concatenate([u13, c3])
  71. c13 = Conv2D(64, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u13)
  72. c13 = Dropout(0.2) (c13)
  73. c13 = Conv2D(64, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c13)
  74.  
  75. u14 = Conv2DTranspose(32, (2, 2), strides=(2, 2), padding='same') (c13)
  76. u14 = concatenate([u14, c2])
  77. c14 = Conv2D(32, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u14)
  78. c14 = Dropout(0.2) (c14)
  79. c14 = Conv2D(32, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c14)
  80.  
  81. u15 = Conv2DTranspose(16, (2, 2), strides=(2, 2), padding='same') (c14)
  82. u15 = concatenate([u15, c1])
  83. c15 = Conv2D(16, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (u15)
  84. c15 = Dropout(0.2) (c15)
  85. c15 = Conv2D(16, (3, 3), activation='elu', kernel_initializer='he_normal', padding='same') (c15)
  86.  
  87. outputs = Conv2D(1, (1, 1), activation='sigmoid') (c15)
  88.  
  89. model = Model(inputs=[inputs], outputs=[outputs])
  90.  
  91. #Valor originial do learning_rate = 0.001
  92. #optimizer = tf.keras.optimizers.Adam(lr=0.00001)
  93. #optimizer = tf.keras.optimizers.RMSprop(learning_rate=0.00001)
  94. optimizer = tf.keras.optimizers.SGD(learning_rate=0.00001)
  95.  
  96. model.compile(optimizer=optimizer, loss='binary_crossentropy',metrics=["accuracy", Precision(name="precision")],)
  97.  
  98. #model.summary()
Advertisement
Add Comment
Please, Sign In to add comment