예제 #1
0
 def predict(self, sentence):
     "predict a sentence based on trained classifier"
     if self.trained == 0:
         print >> sys.stderr, 'please train the classifier first'
         return None
     sent_feat = util.get_feature(sentence, self.all_tokens)
     return self.classifier.classify(sent_feat)
예제 #2
0
 def predict(self, sentence):
     "predict a sentence based on trained classifier"
     if self.trained == 0:
         print >> sys.stderr, 'please train the classifier first'
         return None
     sent_feat = util.get_feature(sentence, self.all_tokens)
     return self.classifier.classify(sent_feat)
예제 #3
0
 def __init__(self):
     K.clear_session()
     self.features = get_feature('./video_features/', './audio_features/')
     self.video_features = self.features.load_video_features()
     self.audio_features, self.audio_list = self.features.load_audio_features(
     )
     self.library_features, self.library_list = self.load_library_features()
     self.dataset_length = len(self.audio_features)
     self.generator = wgan.WGAN().build_generator()
     self.generator.load_weights('./models/wgan_generator1_weights.hdf5')
예제 #4
0
파일: gan.py 프로젝트: kevinlin91/MMproj
    def train(self, epochs=10000, batch_size=128):

        #training features
        features = util.get_feature(
            '../final_video_features_with_scene_train/',
            '../audio_features_train/', '../youtube_id.txt')
        video_features = np.array(features.load_video_features())
        audio_features = np.array(features.load_audio_features())

        # Adversarial ground truths

        valid = np.ones((batch_size, 1))

        fake = np.zeros((batch_size, 1))

        for epoch in range(epochs):

            #training discriminator
            idx = np.random.randint(0, len(audio_features), batch_size)
            audio_feature = audio_features[idx]

            video_feature = video_features[idx]

            #generate audio features from generator
            gen_audio_feature = self.generator.predict(video_feature)

            #discriminator loss
            d_loss_real = self.discriminator.train_on_batch(
                audio_feature, valid)

            d_loss_fake = self.discriminator.train_on_batch(
                gen_audio_feature, fake)

            d_loss = 0.5 * np.add(d_loss_real, d_loss_fake)

            #train generator
            g_loss = self.combine.train_on_batch(video_feature, valid)
            print("%d [D loss: %f, acc.: %.2f%%] [G loss: %f]" %
                  (epoch, d_loss[0], 100 * d_loss[1], g_loss))
        self.save_model()
예제 #5
0
 def __init__(self):
     self.features = get_feature('./final_video_features_with_scene_test/',
                                 './audio_features_test/',
                                 './youtube_id.txt')
     self.video_features = self.features.load_video_features()
     self.audio_features = self.features.load_audio_features()
     self.dataset_length = len(self.audio_features)
     self.library_features, self.library_list = self.load_library_features()
     self.library_length = len(self.library_features)
     self.cfa_video = pickle.load(
         open('./models/saved_models/cfa_video.pickle', 'rb'))
     self.cfa_audio = pickle.load(
         open('./models/saved_models/cfa_audio.pickle', 'rb'))
     self.cfa_video_features = np.dot(
         np.array([x.tolist() for x in self.video_features]),
         self.cfa_video)
     self.cfa_audio_features = np.dot(
         np.array([x.tolist() for x in self.audio_features]),
         self.cfa_audio)
     self.cfa_library_features = np.dot(
         np.array([x.tolist() for x in self.library_features]),
         self.cfa_audio)
예제 #6
0
    ap.add_argument("input_image_path", help="Input Image Path")
    ap.add_argument("--es_hosts",
                    default="http://127.0.0.1:9200",
                    help="Comma-separated elasticsearch host URLs.")
    ap.add_argument("-k1", type=int, default=100, help="k1")
    ap.add_argument("-k2", type=int, default=10, help="k2")
    return vars(ap.parse_args())


if __name__ == '__main__':
    args = get_args()

    input_image_path = Path(args['input_image_path'])
    img = Image.open(str(input_image_path))
    print(input_image_path)
    feature = get_feature(img)

    search_id = 'search0000'
    aknn_doc = {
        "_id": search_id,
        "_source": {
            "path": '',
            "_aknn_vector": feature.tolist()
        }
    }

    index_name = 'images'
    doc_type = 'image'
    body = {
        "_index": index_name,
        "_type": doc_type,
예제 #7
0
파일: cfa.py 프로젝트: kevinlin91/MMproj
from util import get_feature
import numpy as np
import pickle
training_features = get_feature('./final_video_features_with_scene_train/',
                                './audio_features_train/', './youtube_id.txt')
video_features = training_features.load_video_features()
audio_features = training_features.load_audio_features()
np_video_features = np.array([x.tolist() for x in video_features]).transpose()
np_audio_features = np.array([x.tolist() for x in audio_features])

print(np_video_features.shape)
print(np_audio_features.shape)

input_features = np.dot(np_video_features, np_audio_features)

u, s, v = np.linalg.svd(input_features, full_matrices=False)
v = v.T

pickle.dump(u, open('./models/saved_models/cfa_video.pickle', 'wb'))
pickle.dump(v, open('./models/saved_models/cfa_audio.pickle', 'wb'))
예제 #8
0
import nltk
import util



feat_tokens = util.read_subj_obj_data();

classifier = nltk.NaiveBayesClassifier.train(feat_tokens[0])
sen = "it"
sentence = util.filter_stop_words(util.tokenize(sen))
featureset = util.get_feature(sentence, feat_tokens[1])
print classifier.classify(featureset)
print feat_tokens[0][-1]
#print classifier.show_most_informative_features(100)
예제 #9
0
                    '--output_dir',
                    type=str,
                    default='features',
                    help='Directory output json')

    args = vars(ap.parse_args())
    image_dir = Path(args['image_dir'])
    assert image_dir.exists(), 'no image directory found.'
    output_dir = Path(args['output_dir'])
    if not output_dir.exists():
        output_dir.mkdir(parents=True, exist_ok=True)

    image_paths = get_image_path(image_dir)
    features = []
    for i, image_path in enumerate(tqdm(image_paths, desc='extracting')):
        img = Image.open(str(image_path))
        img = img.convert('RGB')
        binary_array = get_feature(img)
        if len(binary_array) != 64:
            print(f'  {image_path}')
        features.append({
            'id': str(i),
            'path': str(image_path),
            'feature_vector': binary_array.tolist()
        })

    for i, feature in enumerate(tqdm(features, desc='writing')):
        fname = f'features-{i:08}.json'
        with gzip.open(str(output_dir / fname), 'wb') as f:
            f.write(json.dumps(feature).encode())