Skip to content

Instantly share code, notes, and snippets.

@Abhishek-Shaw-Kolkata
Created March 13, 2021 15:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Abhishek-Shaw-Kolkata/06f8e49afc51ff7c8d82b85f268ee5cf to your computer and use it in GitHub Desktop.
Save Abhishek-Shaw-Kolkata/06f8e49afc51ff7c8d82b85f268ee5cf to your computer and use it in GitHub Desktop.
import tensorflow as tf
from tensorflow.keras import Model
dense_net_121 = tf.keras.applications.DenseNet121(input_shape=[256,256,3],include_top=False,pooling='avg')
base_model_output = tf.keras.layers.Dense(units=14,activation='relu')(dense_net_121.output)
base_model = Model(inputs = dense_net_121.input,outputs=base_model_output)
base_model.load_weights('brucechou1983_CheXNet_Keras_0.3.0_weights.h5')
output_layer = tf.keras.layers.Dense(1,activation='sigmoid')(base_model.layers[-2].output)
model = Model(inputs=base_model.inputs, outputs=output_layer)
model1=tf.keras.layers.UpSampling2D((2,2))(model.layers[-3].output)
model1=tf.keras.layers.concatenate([model1,model.get_layer('pool4_conv').output])
model1=tf.keras.layers.Conv2D(256,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.Conv2D(256,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.UpSampling2D((2,2))(model1)
model1=tf.keras.layers.concatenate([model1,model.get_layer('pool3_conv').output])
model1=tf.keras.layers.Conv2D(128,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.Conv2D(128,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1= tf.keras.layers.Dropout(0.5)(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.UpSampling2D((2,2))(model1)
model1=tf.keras.layers.concatenate([model1,model.get_layer('pool2_conv').output])
model1=tf.keras.layers.Conv2D(64,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1= tf.keras.layers.Dropout(0.5)(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.Conv2D(64,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.UpSampling2D((2,2))(model1)
model1=tf.keras.layers.concatenate([model1,model.get_layer('conv1/relu').output])
model1=tf.keras.layers.Conv2D(32,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.Conv2D(32,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1= tf.keras.layers.Dropout(0.7)(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.UpSampling2D((2,2))(model1)
model1=tf.keras.layers.Conv2D(16,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.Conv2D(16,(3,3),padding='same',use_bias=False,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.BatchNormalization()(model1)
model1=tf.keras.layers.Activation('relu')(model1)
model1=tf.keras.layers.Conv2D(1,(3,3),padding='same',use_bias=True,kernel_initializer='glorot_uniform')(model1)
model1=tf.keras.layers.Activation('sigmoid')(model1)
unet_chexnet_model=Model(inputs=model.inputs, outputs=model1)
unet_chexnet_model.compile(optimizer=tf.keras.optimizers.Adam(lr=0.0001),loss=combined_loss, metrics=['accuracy',dice_coef])
unet_chexnet_model.summary()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment