def on_epoch_end(self, epoch, logs=None):
     if logs:
         for key in logs.keys():
             if epoch == 0:
                 self.history[key] = []
             self.history[key].append(logs[key])
     if epoch % 5 == 0:
         plot_history_for_callback(model_folder + '/train_history.png',
                                   self.history)
         save_history_for_callback(model_folder, self.history)
         img_vols, gt_vols, pr_vols = [], [], []
         for i in range(0, len(valid_dataset),
                        int(len(valid_dataset) / 64)):
             img_vols.append(np.load(
                 valid_dataloader.dataset.images_fps[i]))
             gt_vols.append(valid_dataloader[i][1])
             pr_vols.append(self.model.predict(valid_dataloader[i]))
         img_vols = np.stack(img_vols, axis=0)
         gt_vols = np.concatenate(gt_vols, axis=0)
         pr_vols = np.concatenate(pr_vols, axis=0)
         save_images(model_folder + '/epoch-{}-img.png'.format(epoch),
                     np.uint8(img_vols))
         save_images(model_folder + '/epoch-{}-gt.png'.format(epoch),
                     gt_vols / args.scale * 255)
         save_images(model_folder + '/epoch-{}-pr.png'.format(epoch),
                     pr_vols / args.scale * 255)
Esempio n. 2
0
 def on_epoch_end(self, epoch, logs=None):
     if logs:
         for key in logs.keys():
             if epoch == 0:
                 self.history[key] = []
             self.history[key].append(logs[key])
     if epoch % 5 == 0:
         plot_history_for_callback(model_folder + '/train_history.png',
                                   self.history)
         save_history_for_callback(model_folder, self.history)
         pr_vols = []
         for i in range(0, len(valid_dataset),
                        int(len(valid_dataset) / 36)):
             pr_vols.append(self.model.predict(valid_dataloader[i]))
         pr_vols = np.concatenate(pr_vols, axis=0)
         pr_map = map2rgb(np.argmax(pr_vols, axis=-1))
         save_images(model_folder + '/pr-{}.png'.format(epoch), pr_map)
         if epoch == 0:
             gt_vols, ph_vols = [], []
             for i in range(0, len(valid_dataset),
                            int(len(valid_dataset) / 36)):
                 ph_vols.append(valid_dataloader[i][0])
                 gt_vols.append(valid_dataloader[i][1])
             gt_vols = np.concatenate(gt_vols, axis=0)
             gt_map = map2rgb(np.argmax(gt_vols, axis=-1))
             ph_vols = np.concatenate(ph_vols, axis=0)
             ph_vols = ph_vols.squeeze()
             save_images(model_folder + '/gt.png'.format(epoch), gt_map)
             save_images(model_folder + '/img.png'.format(epoch), ph_vols)
 def on_epoch_end(self, epoch, logs=None):
     if logs:
         for key in logs.keys():
             if epoch == 0:
                 self.history[key] = []
             self.history[key].append(logs[key])
     if epoch % 10 == 0:
         plot_history_for_callback(model_folder + '/train_history.png',
                                   self.history)
         save_history_for_callback(model_folder, self.history)
         ph_vols, fl_gts, fl_prs = [], [], []
         for i in range(len(valid_dataloader)):
             ph_vol, fl_gt = valid_dataloader[i]
             fl_pr = self.model.predict(ph_vol)
             ph_vols.append(ph_vol)
             fl_gts.append(fl_gt)
             fl_prs.append(fl_pr)
         ph_vols = np.stack(ph_vols).squeeze()
         fl_gts = np.stack(fl_gts).squeeze()
         fl_prs = np.stack(fl_prs).squeeze()
         print('\n max voxel value:{:.2f}'.format(fl_prs.max()))
         print(ph_vols.shape)
         save_images(model_folder + '/epoch-{}_ph.png'.format(epoch),
                     ph_vols)
         save_images(model_folder + '/epoch-{}_gt.png'.format(epoch),
                     fl_gts * 255. / scale)
         save_images(model_folder + '/epoch-{}_pr.png'.format(epoch),
                     fl_prs * 255. / scale)
 def on_epoch_end(self, epoch, logs=None):
     if logs:
         for key in logs.keys():
             if epoch == 0:
                 self.history[key] = []
             self.history[key].append(logs[key])
     if epoch % 5 == 0:
         plot_history_for_callback(model_folder + '/train_history.png',
                                   self.history)
         save_history_for_callback(model_folder, self.history)
         img_vols, gt_vols, pr_vols = [], [], []
         for i in range(0, len(valid_dataset),
                        int(len(valid_dataset) / 36)):
             img = valid_dataloader[i][0]
             img_vols.append(
                 np.uint8(255 * (img - img.min()) /
                          (img.max() - img.min())))
             gt_vols.append(valid_dataloader[i][1])
             pr_vols.append(self.model.predict(valid_dataloader[i]))
         img_vols = np.concatenate(img_vols, axis=0)
         gt_vols = np.concatenate(gt_vols, axis=0)
         gt_map = map2rgb(np.argmax(gt_vols, axis=-1))
         pr_vols = np.concatenate(pr_vols, axis=0)
         pr_map = map2rgb(np.argmax(pr_vols, axis=-1))
         save_images(model_folder + '/epoch-{}-img.png'.format(epoch),
                     img_vols)
         save_images(model_folder + '/epoch-{}-gt.png'.format(epoch),
                     gt_map)
         save_images(model_folder + '/epoch-{}-pr.png'.format(epoch),
                     pr_map)
 def on_epoch_end(self, epoch, logs=None):
     if logs:
         for key in logs.keys():
             if epoch == 0:
                 self.history[key] = []
             self.history[key].append(logs[key])
     if epoch % 5 == 0:
         plot_history_for_callback(model_folder + '/train_history.png',
                                   self.history)
         save_history_for_callback(model_folder, self.history)