def init_based_on_last_frame(this, lastResult): this.schedule, this.Q = init_schedule(this, this.A, this.nEdges) # Initialize the node data (particles, likelihood and max marginal value) this.b = [None]*this.nNodes this.new_b = [None]*this.nNodes for i in this.nodeIdx: #print ' ###*** nParticles ' +str(i) + ': ' + str(this.nParticles[i]) this.b[i] = {'x':lastResult.new_b[i]['x'][:,:this.nParticles[i]], 'L':np.zeros((this.nParticles[i])), 'value':np.zeros((this.nParticles[i]))} #print ' *** x: ' + str(this.b[i]['x'].shape) #print ' *** L: ' + str(this.b[i]['L'].shape) #print ' *** v: ' + str(this.b[i]['value'].shape) this.new_b[i] = {'x':lastResult.new_b[i]['x'][:,:this.nParticles[i]], 'L':np.zeros((this.nParticles[i])), 'value':np.zeros((this.nParticles[i]))} # Particles initialization init_particles_based_on_last_frame(this, lastResult) # Beliefs initialization for i in this.nodeIdx: this.b[i]['L'] = particles.compute_likelihood(this, i, this.b[i]['x']) this.b[i]['value'] = this.b[i]['L'] # Messages initialization init_messages(this) return
def init(this): this.schedule, this.Q = init_schedule(this, this.A, this.nEdges) # Initialize the node data (particles, likelihood and max marginal value) this.b = [None]*this.nNodes this.new_b = [None]*this.nNodes for i in this.nodeIdx: this.b[i] = {'x':np.zeros((this.nodeDim[i],this.nParticles[i])), 'L':np.zeros((this.nParticles[i])), 'value':np.zeros((this.nParticles[i]))} this.new_b[i] = {'x':np.zeros((this.nodeDim[i],this.nParticles[i])), 'L':np.zeros((this.nParticles[i])), 'value':np.zeros((this.nParticles[i]))} # Particles initialization init_particles(this) # Beliefs initialization for i in this.nodeIdx: this.b[i]['L'] = particles.compute_likelihood(this, i, this.b[i]['x']) this.b[i]['value'] = this.b[i]['L'] # Messages initialization init_messages(this) return