def main(): apollocaffe.set_device(0) #apollocaffe.set_cpp_loglevel(0) apollocaffe.set_random_seed(0) np.random.seed(0) job = sys.argv[1] corpus_name = sys.argv[2] config = util.Struct(**yaml.load(CONFIG)) if corpus_name == "abstract": train_scenes, dev_scenes, test_scenes = corpus.load_abstract() else: assert corpus_name == "birds" train_scenes, dev_scenes, test_scenes = corpus.load_birds() apollo_net = ApolloNet() print "loaded data" print "%d training examples" % len(train_scenes) listener0_model = Listener0Model(apollo_net, config.model) speaker0_model = Speaker0Model(apollo_net, config.model) sampling_speaker1_model = SamplingSpeaker1Model(apollo_net, config.model) compiled_speaker1_model = CompiledSpeaker1Model(apollo_net, config.model) if job == "train.base": train(train_scenes, dev_scenes, listener0_model, apollo_net, config.opt) train(train_scenes, dev_scenes, speaker0_model, apollo_net, config.opt) apollo_net.save("models/%s.base.caffemodel" % corpus_name) exit() if job == "train.compiled": apollo_net.load("models/%s.base.caffemodel" % corpus_name) print "loaded model" train(train_scenes, dev_scenes, compiled_speaker1_model, apollo_net, config.opt) apollo_net.save("models/%s.compiled.caffemodel" % corpus_name) exit() if job in ("sample.base", "sample.compiled"): if job == "sample.base": apollo_net.load("models/%s.base.caffemodel" % corpus_name) else: apollo_net.load("models/%s.compiled.caffemodel" % corpus_name) print "loaded model" if job == "sample.base": models = { "sampling_speaker1": sampling_speaker1_model, } elif job == "sample.compiled": models = { "compiled_speaker1": compiled_speaker1_model, } name = job.split(".")[1] run_experiment("one_different", corpus_name, name, models, dev_scenes) run_experiment("by_similarity", corpus_name, name, models, dev_scenes) run_experiment("all_same", corpus_name, name, models, dev_scenes)
def __init__(self, config, opt_config): self.config = config self.opt_config = opt_config self.models = [] for cmodel in config.models: with open(cmodel.config) as config_f: mconfig = Struct(**yaml.load(config_f)) model = models.build_model(mconfig.model, mconfig.opt) model.load(cmodel.weights) self.models.append(model) self.n_models = len(self.models) self.apollo_net = ApolloNet()
#!/usr/bin/env python2 import caffe import apollocaffe from apollocaffe import ApolloNet, layers import numpy as np import timeit #caffe.set_mode_gpu() apollocaffe.set_device(0) net = ApolloNet() batch_size = 64 data = np.random.random(size=(batch_size, 512, 20, 20)).astype(np.float32) labels = np.random.randint(10, size=(batch_size, )).astype(np.int32).astype( np.float32) #print data.dtype #print labels.dtype #def load_mem(): # net.clear_forward() # net.f(layers.MemoryData( # "mem", data, labels, tops=["input_top", "label_top"], # batch_size=batch_size, channels=512, width=20, height=20)) # #def load_np(): # net.clear_forward() # net.f(layers.NumpyData("np", data)) # #load_mem()
def __init__(self): self.net = ApolloNet() self.experiences = []
def __init__(self): self.net = ApolloNet() self.transitions = []