Skip to content

Commit 62b73b8

Browse files
committed
code files
1 parent b4ad840 commit 62b73b8

22 files changed

+5577
-14
lines changed

transfer_learning_train.py renamed to Chapter02/transfer_learning_train.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
from keras.callbacks import EarlyStopping, ModelCheckpoint, CSVLogger, Callback
3232
from keras.applications.resnet50 import preprocess_input
3333
import h5py
34-
34+
import argparse
3535

3636

3737
def get_im_cv2(path,dim=224):
@@ -48,7 +48,7 @@ def pre_process(img):
4848

4949
# Function to build X, y in numpy format based on the train/validation datasets
5050
def read_data(class_folders,path,num_class,dim,train_val='train'):
51-
print train_val
51+
print(train_val)
5252
train_X,train_y = [],[]
5353
for c in class_folders:
5454
path_class = path + str(train_val) + '/' + str(c)
@@ -73,7 +73,7 @@ def inception_pseudo(dim=224,freeze_layers=30,full_freeze='N'):
7373
model_final = Model(input = model.input,outputs=out)
7474
if full_freeze != 'N':
7575
for layer in model.layers[0:freeze_layers]:
76-
layer.trainable = False
76+
layer.trainable = False
7777
return model_final
7878

7979
# ResNet50 Model for transfer Learning
@@ -89,7 +89,7 @@ def resnet_pseudo(dim=224,freeze_layers=10,full_freeze='N'):
8989
model_final = Model(input = model.input,outputs=out)
9090
if full_freeze != 'N':
9191
for layer in model.layers[0:freeze_layers]:
92-
layer.trainable = False
92+
layer.trainable = False
9393
return model_final
9494

9595
# VGG16 Model for transfer Learning
@@ -106,7 +106,7 @@ def VGG16_pseudo(dim=224,freeze_layers=10,full_freeze='N'):
106106
model_final = Model(input = model.input,outputs=out)
107107
if full_freeze != 'N':
108108
for layer in model.layers[0:freeze_layers]:
109-
layer.trainable = False
109+
layer.trainable = False
110110
return model_final
111111

112112

@@ -148,7 +148,7 @@ def train_model(train_X,train_y,n_fold=5,batch_size=16,dim=224,lr=1e-5,model='Re
148148
CSVLogger('keras-5fold-run-01-v1-epochs_ib.log', separator=',', append=False),reduce_lr,
149149
ModelCheckpoint(
150150
'kera1-5fold-run-01-v1-fold-' + str('%02d' % (k + 1)) + '-run-' + str('%02d' % (1 + 1)) + '.check',
151-
monitor='val_loss', mode='min', # mode must be set to max or Keras will be confused
151+
monitor='val_loss', mode='min',
152152
save_best_only=True,
153153
verbose=1)
154154
]
@@ -173,7 +173,7 @@ def train_model(train_X,train_y,n_fold=5,batch_size=16,dim=224,lr=1e-5,model='Re
173173
def inference_validation(test_X,test_y,model_save_dest,n_class=5,folds=5):
174174
pred = np.zeros((len(test_X),n_class))
175175

176-
for k in xrange(1,folds + 1):
176+
for k in range(1,folds + 1):
177177
model = keras.models.load_model(model_save_dest[k])
178178
pred = pred + model.predict(test_X)
179179
pred = pred/(1.0*folds)
@@ -186,22 +186,23 @@ def inference_validation(test_X,test_y,model_save_dest,n_class=5,folds=5):
186186

187187
if __name__ == "__main__":
188188
start_time = time.time()
189-
path = '/home/santanu/Downloads/Diabetic Retinopathy/New/'
189+
path = '/media/santanu/9eb9b6dc-b380-486e-b4fd-c424a325b976/book AI/Diabetic Retinopathy/New/'
190190
class_folders = ['0','1','2','3','4']
191191
num_class = len(class_folders)
192192
dim = 224
193193
lr = 1e-5
194-
print 'Starting time:',start_time
194+
print('Starting time:',start_time)
195+
print("Starting Data processing")
195196
train_X,train_y = read_data(class_folders,path,num_class,dim,train_val='train')
196197
model_save_dest = train_model(train_X,train_y,n_fold=5,batch_size=16,dim=224,lr=1e-5,model='InceptionV3')
197198
#model_save_dest = {1:'InceptionV3__1'}
198199
test_X,test_y = read_data(class_folders,path,num_class,dim,train_val='validation')
199200
pred_class,accuracy,kappa = inference_validation(test_X,test_y,model_save_dest,n_class=5,folds=5)
200201
np.save(path + "dict_model",model_save_dest)
201-
print "-----------------------------------------------------"
202-
print "Kappa score:", kappa
203-
print "accuracy:", accuracy
204-
print "End of training"
205-
print "-----------------------------------------------------"
202+
print("-----------------------------------------------------")
203+
print("Kappa score:", kappa)
204+
print("accuracy:", accuracy)
205+
print("End of training")
206+
print("-----------------------------------------------------")
206207

207208

0 commit comments

Comments
 (0)