elif args.descriptor == 'bow_dense_sift': sift_descriptors = SIFT(nfeatures=300, type='DENSE', dense_sift_step=6) bow_descriptor = BOW(k=512, pyramid_levels=pyramid_levels) else: sift_descriptors = None bow_descriptor = None print('Invalid descriptor') myEvaluation = Evaluation(evaluation_path=args.evaluation_path, save_plots=True) if args.do_train: start_time = time.time() train_data = InputData.get_labeled_data() if args.do_compute_features: #descriptors, descriptors_idx = sift_descriptors.extract_features_simple(data_dictionary=train_data) train_descriptors_path = "/imatge/mgorriz/work/master/models/session02/test2/train_descriptors.npy" descriptors, descriptors_idx = \ sift_descriptors.extract_features_simple(data_dictionary=train_data, load=True, path=train_descriptors_path) codebook = bow_descriptor.compute_codebook(descriptors) bow_descriptor.save( codebook, os.path.join(args.codebook_path, 'codebook.pkl'), 'codebook') train_visual_words = bow_descriptor.extract_features( descriptors,