def main():
	print 'Initializing...'
	Sim.initialize()
		
	white = LinePopulation( params['white x mean'], params['white y mean'],
				params['white x std dev'], params['white y std dev'], params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['white mean loc'], 
				params['white loc sd'], params['white talk radius'], 'white' )
	
	seasoned = LinePopulation( 0.0, 0.0, 0.0, 0.0, params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['seasoned mean loc'], 
				params['seasoned loc sd'], params['seasoned talk radius'], 'seasoned' )
	
	bozal0 = LinePopulation( params['bozal0 x mean'], params['bozal0 y mean'],
				params['bozal0 x std dev'], params['bozal0 y std dev'], params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['bozal mean loc'], 
				params['bozal loc sd'], params['bozal talk radius'], 'bozal 0')
	
	bozal1 = LinePopulation( params['bozal1 x mean'], params['bozal1 y mean'],
				params['bozal1 x std dev'], params['bozal1 y std dev'], params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['bozal mean loc'], 
				params['bozal loc sd'], params['bozal talk radius'], 'bozal 1' )
	
	for i in range(params['num white']):
		white.new_agent()
	for i in range(params['num slaves']):
		if i%2 == 0:
			bozal0.new_agent()
		else:
			bozal1.new_agent()
	
	adjuster = PopAdjuster( white, seasoned, bozal0, bozal1, params['update period'],
					params['pop schedule'], params['white pop targets'],
					params['slave pop targets'], params['proportion seasoned'] )
	Sim.activate( adjuster, adjuster.go() )
	
	number = math.ceil(params['proportion seasoned']*white.num_agents())
	adjuster.get_seasoned( number, white, bozal0, bozal1, seasoned )
	
	plotter = Plotter('gradual', params['plot period'], params['stop time'], params)
	Sim.activate( plotter, plotter.go() )
	
	print 'Simulating...'
	Sim.simulate(until=params['stop time'])
	print 'Simulation Complete at t=%s' % Sim.now()
	
	plotter.cleanup()
def main():
	print 'Initializing...'
	Sim.initialize()
	
	Agent.lang_tolerance = params['lang tolerance']
	
	white = LangRelPop( params['white x mean'], params['white y mean'],
				params['white x std dev'], params['white y std dev'], params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['white mean loc'], 
				params['white loc sd'], params['white talk radius'], 'white' )
	
	seasoned = LangRelPop( params['seasoned x mean'], params['seasoned y mean'],
				params['seasoned x std dev'], params['seasoned y std dev'], params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['seasoned mean loc'], 
				params['seasoned loc sd'], params['seasoned talk radius'], 'seasoned' )
	
	bozal0 = LangRelPop( params['bozal0 x mean'], params['bozal0 y mean'],
				params['bozal0 x std dev'], params['bozal0 y std dev'], params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['bozal mean loc'], 
				params['bozal loc sd'], params['bozal talk radius'], 'bozal 0')
	
	bozal1 = LangRelPop( params['bozal1 x mean'], params['bozal1 y mean'],
				params['bozal1 x std dev'], params['bozal1 y std dev'], params['mean speak'], 
				params['mean learn'], params['mean innovation'], params['bozal mean loc'], 
				params['bozal loc sd'], params['bozal talk radius'], 'bozal 1' )
	
	for i in range(params['num white']):
		white.new_agent()	
	for i in range(params['num seasoned']):
		seasoned.new_agent()
	for i in range(params['num bozal']):
		if i%2 == 0:
			bozal0.new_agent()
		else:
			bozal1.new_agent()
	
	plotter = Plotter('centripetal by lang', params['plot period'], params['stop time'], params)
	Sim.activate( plotter, plotter.go() )
	
	print 'Simulating...'
	Sim.simulate(until=params['stop time'])
	print 'Simulation Complete at t=%s' % Sim.now()
	
	plotter.cleanup()
Esempio n. 3
0
def cpu_vs_gpu(epochs, train_data, validation_data, table_output_path = ''):
    """
    This function can be used ot produce to compare the speed (in seconds) between
    the usage of the gpu and cpu.
    :param epochs: A list of epochs which should be used
    :param train_data: The training data (obtained from splitter.py)
    :param validation_data: The validation data (obtained from splitter.py)
    :param table_output_path: The path to which the output should be written
    """
    gpu_results = []
    cpu_results = []
    p = Plotter()
    for epoch in epochs:
        gpu_params = edit_params(['hm_epochs' ,'gpu'], [epoch, True])
        cpu_params = edit_params(['hm_epochs' ,'gpu'], [epoch, False])
        gpu_results.append(CNN().run_model(gpu_params, train_data, validation_data))
        cpu_results.append(CNN().run_model(cpu_params, train_data, validation_data))

    gpu_x, gpu_y = p.get_x_y(gpu_results, 'number_epochs', 'run_time')
    cpu_x, cpu_y = p.get_x_y(cpu_results, 'number_epochs', 'run_time')
    if table_output_path:
        header = ['epoch','gpu_time','cpu_time']
        write_to_file(table_output_path + 'gpu_vs_cpu.txt',header, [gpu_x, gpu_y, cpu_y])
    p.double_line([gpu_x,cpu_x], [gpu_y, cpu_y], ['GPU','CPU'])
Esempio n. 4
0
__author__ = 'matthew'
from Mesh import Mesh
from Solver import Solver
from Plot import Plotter
import Glob

#Create mesh
mesh = Mesh()

#create solver and run loop
solver = Solver(mesh=mesh)
solver.solverLoop(mesh)

#Create plotter and plot
plotter = Plotter(mesh)
plotter.plot()
	print 'Initializing...'
	Sim.initialize()
	
	print 'Random seed: ' + repr(params['random seed'])
	random.seed(params['random seed'])
	
	pop0 = LinePopulation( 500.0, 500.0, params['initial x std dev'], params['initial y std dev'], 
							params['mean speak'], params['mean learn'], params['mean innovation'],
							500.0, params['pop0 loc sd'], params['mean talk radius'] )
	
	for i in range(params['num agents']):
		pop0.new_agent()
	
	segregator = Segregator()
	Sim.activate( segregator, segregator.go() )

def simulate():
	print 'Simulating...'
	Sim.simulate(until=params['stop time'])
	print 'Simulation Complete at t=%s' % Sim.now()
	
if __name__ == '__main__':
	initialize()
	
	plotter = Plotter('segregate', params['plot period'], params['stop time'], params)
	Sim.activate( plotter, plotter.go() )
	
	simulate()
	
	plotter.cleanup()