def prepare_data(labels): datas = {} autoencoder = keras.models.load_model('model') layer_name = 'enc' encoded_layer = Model(inputs=autoencoder.input, outputs=autoencoder.get_layer(layer_name).output) for label in labels: print("Getting encoded data for", label) datas[label] = [] dataController = DataController(batch_size=batch_size, data_list=normal_labels) while 1: data = dataController.generate('full') if data is False: break x = data["x"] enc_out = encoded_layer.predict(x) datas[label].extend(enc_out) datas[label] = np.array(datas[label]) with open('encoded_datas.pkl', 'wb') as f: pickle.dump(datas, f, pickle.HIGHEST_PROTOCOL) return datas