def autosave(self, mode): if "interval" in mode: #if 0 == (self.current_epoch + 1) % self.save_interval: if 0 == self.current_epoch % self.save_interval: save_path = self.save_path + "/" + self.model.name + "-epoch-" + str(self.current_epoch) + ".pkl" VideoModel.save(self.model, save_path) logger.info("....Saving to " + os.path.abspath(save_path)) if "best" in mode: if self.current_validation_error < self.best_validation_error: save_path = self.save_path + "/" + self.model.name + "-validation-best.pkl" VideoModel.save(self.model, save_path) logger.info("....Saving to " + os.path.abspath(save_path)) if "final" in mode: if self.current_epoch == self.max_epoch: save_path = self.save_path + "/" + self.model.name + "-epoch-" + str(self.current_epoch) + ".pkl" VideoModel.save(self.model, save_path) logger.info("....Saving to " + os.path.abspath(save_path))
############################## attention layer dst_model.middle_layers[4].param[28].set_value( src2_model.middle_layers[2].param[12].get_value()) dst_model.middle_layers[4].param[29].set_value( src2_model.middle_layers[2].param[13].get_value()) dst_model.middle_layers[4].param[30].set_value( src2_model.middle_layers[2].param[14].get_value()) dst_model.middle_layers[4].param[31].set_value( src2_model.middle_layers[2].param[15].get_value()) dst_model.middle_layers[4].param[32].set_value( src2_model.middle_layers[2].param[16].get_value()) ############################## copy full layers from_layers = [0, 1, 3, 5] to_layers = [0, 1, 5, 7] for ii, jj in zip(from_layers, to_layers): if len(src2_model.middle_layers[ii].param) > 0 and len( dst_model.middle_layers[jj].param) > 0: for src_param, dst_param in zip(src2_model.middle_layers[ii].param, dst_model.middle_layers[jj].param): #assert src_param.name == dst_param.name assert src_param.get_value().shape == dst_param.get_value().shape dst_param.set_value(src_param.get_value()) # In[5]: VideoModel.save(dst_model, save_model_file) # In[ ]: