Beispiel #1
0
        
    def __str__(self):
        return "".join(self.tree[node].tag.symbol+repr(self.spatial_model.positions[node]) for node in self.tree.expand_tree(mode=Tree.DEPTH) 
                       if self.tree[node].tag.symbol in self.grammar.terminals and
                          self.tree[node].tag.symbol is not 'Null')
        

if __name__ == '__main__':
    # best b values: for visual 750, for haptics 
        # object 1: 5000
        # object 2: 9000
        # object 3: 5000 (maybe lower)
        # object 4: 6000
    data = np.load('data/visual/1.npy')
    params = {'b': 750.0}
    forward_model = VisionForwardModel()
    #forward_model = HapticsForwardModel()
    
    # TEST TREES: We look at the prior, likelihood and acceptance probabilities for
    # empty tree, correct configuration (4 parts in correct positions) and tree with 
    # 1 part (ear) removed. Our purpose is to understand the b value we should set
    # to make sure correct configuration has the highest posterior.
      
    # Tree with no parts
    t1 = Tree()
    t1.create_node(ParseNode('S', 1), identifier='S')
    t1.create_node(ParseNode('Null', ''), parent='S')
     
    spatial_model1 = AoMRSimpleSpatialModel()
     
    rrs = AoMRSimpleShapeState(forward_model=forward_model, data=data, 
Beispiel #2
0
import numpy as np
from aomr_grammar import AoMRShapeState, AoMRSpatialModel
from vision_forward_model import VisionForwardModel
from mcmc_sampler import MCMCSampler
import sys
from haptics_forward_model import HapticsForwardModel

if __name__ == '__main__':
    # AoMR Simple Shape Grammar, visual condition
    obj_id = int(sys.argv[1])
    b = float(sys.argv[2])
    forward_model_type = sys.argv[3]  #v, h or vh
    spatial_model = AoMRSpatialModel()
    if forward_model_type == 'v':
        forward_model = VisionForwardModel(body_fixed=False)
        npy_path = 'data/visual'
        info = 'AoMRShapeGrammar Visual Obj{0:d}'.format(obj_id)
    elif forward_model_type == 'h':
        forward_model = HapticsForwardModel(body_fixed=False)
        npy_path = 'data/haptic'
        info = 'AoMRShapeGrammar Haptic Obj{0:d}'.format(obj_id)
    elif forward_model_type == 'vh':
        raise NotImplementedError()
    else:
        raise Exception('Forward model type can be v, h or vh')

    data = np.load('{0:s}/{1:d}.npy'.format(npy_path, obj_id))

    # visual condition
    # b parameter for objects