Example #1
0
matrix1 = graph1.create_matrix(amount_nodes)
edges1 = graph1.generate_edges(amount_nodes, percent_edges)
matrix1 = graph1.add_edges(matrix1, edges1)
list_edges = graph1.make_list_edges_distances(matrix1)
netxgraph1 = graph1.build_networkx_graph(list_edges)

# +
# matrix1
# -

# This initializes regular SOM grid matrix, it needs to be passes instead of matrix1 for it to work
# Also one needs to experiment with sigma to achieve good results learning rate
matrix2 = graph1.standard_som_distance_matrix(length, width)
matrix2

map1 = MapClass(data, length, width, learning_rate, number_epochs, matrix2,
                sigma, data_lables, batch_size, shuffle, netxgraph1)

# +
# ### Drawing configuration

# drawtype="rbg" tries to draw colors on map - needs an input data with 3 vectors

# drawtype="black-white" draws black-white
# drawtype="networkx" graph drawing using the networkx library
# drawtype="None" - default draws empty space

# Also there is networkx graph drawing

# labels=True or False draws labels on the map... labels are necessary...

# draw_every_epoch=0 Don't draw anything
Example #2
0
data_lables = color_names
batch_size = 2

length = 10
width = 10
number_iterations = 100
shuffle = True

learning_rate = 0.01
# + {}
# trainloader = ""

# def load_data(data, batch_size=4):
#     dim = len(data[0])
#     number_rows_data = len(data)

#     trainloader = torch.utils.data.DataLoader(data, batch_size=batch_size, shuffle=True)

#     return trainloader, dim, number_rows_data
# -

map1 = MapClass(data, length, width, learning_rate, number_iterations, matrix1,
                data_lables, batch_size, shuffle)

# +
# training, dim, number_rows_data = load_data(data, batch_size)
# -

plt.rcParams['figure.dpi'] = 150
map1.large_cycle(draw_every_epoch=10, rgb=True)
    if dim == 1:
        return map_.view(length, width)
    else:
        return map_.view(dim, length, width)


def large_cycle(map_, training_data):
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))
    for i in range(number_iterations):
        cycle(map_, training_data)
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))


training = load_data(data)

map1 = MapClass(length, width, dim, move_closer_coef)

map1.map

map1.cycle(training)

map1.map

map1.distance_matrix

map1.impact_matrix

basic_visualization(map1.map)
Example #4
0
def mk_map(res, map_grid_vars, map_prop_vars):

	mapSize = (map_grid_vars['height'], map_grid_vars['width']) # (height, width) --> (rows, cols)	
	myMap = MapClass(res,mapSize)

	"""
	Begin initializing board, everything is first initialized to:
	empty, not path, black, driving surface, and ground level.
	"""
	for y in xrange(0,map_grid_vars['height']):	
		for x in xrange(0,map_grid_vars['width']):
			myMap.grid[y][x]['level'] = map_prop_vars['ground']
			myMap.grid[y][x]['desc'] = map_prop_vars['driv_srfc']
			myMap.grid[y][x]['color'] = map_prop_vars['black']
			myMap.grid[y][x]['path'] = map_prop_vars['not_path']
			myMap.grid[y][x]['status'] = map_prop_vars['empty']
	#define upper platform
	for y in xrange(0,map_grid_vars['upPltH']):	
		for x in xrange(0,map_grid_vars['upPltW']):
			myMap.grid[y][x]['level'] = map_prop_vars['upp_plat']
	#define upper ramp
	for y in xrange(0, map_grid_vars['upRmpH']):
		for x in xrange(map_grid_vars['upPltW'], map_grid_vars['width'] - map_grid_vars['loPltW']):
			myMap.grid[y][x]['level'] = map_prop_vars['ramp']
	#define lower platform
	for y in xrange(0, map_grid_vars['loPltH']):
		for x in xrange(map_grid_vars['width'] - map_grid_vars['loPltW'], map_grid_vars['width']):
			myMap.grid[y][x]['level'] = map_prop_vars['lwr_plat']
	#define lower ramp
	for y in xrange(map_grid_vars['loPltH'], map_grid_vars['loPltH'] + map_grid_vars['loRmpH']):
		for x in xrange(map_grid_vars['width'] - map_grid_vars['loRmpW'], map_grid_vars['width']):
			myMap.grid[y][x]['level'] = map_prop_vars['ramp']
	#define edge between upper platform and ground and long ramp and ground
	y = map_grid_vars['upPltH'] - 1; 
	for x in xrange(0, map_grid_vars['upPltW'] + map_grid_vars['upRmpW'] + 1):
		#Map[x][y].level = 9
		myMap.grid[y][x]['desc'] = map_prop_vars['edge']
	#define edge between short ramp and ground
	x = map_grid_vars['upPltW'] + map_grid_vars['upRmpW']
	for y in xrange(map_grid_vars['loPltH'], (map_grid_vars['loPltH'] + map_grid_vars['loRmpH'])):
		#Map[x][y].level = 9
		myMap.grid[y][x]['desc'] = map_prop_vars['edge']

	"""walls"""
	#define long wall along width of course (south side)
	for y in xrange(map_grid_vars['height'] - map_grid_vars['wall'], map_grid_vars['height']):
		for x in xrange(0, map_grid_vars['width']):
			myMap.grid[y][x]['desc'] = map_prop_vars['wall']
	#define short wall along width of course (north side)
	for y in xrange(map_grid_vars['upPltH'], map_grid_vars['upPltH'] + map_grid_vars['wall']):
		for x in xrange(0, map_grid_vars['upPltW'] + map_grid_vars['upRmpW']):
			myMap.grid[y][x]['desc'] = map_prop_vars['wall']
	#define long wall along height of course (west side)
	for y in xrange(map_grid_vars['upPltH'], map_grid_vars['height']):
		for x in xrange(0, map_grid_vars['wall']):
			myMap.grid[y][x]['desc'] = map_prop_vars['wall']
	#short wall along height of course (east side)
	for y in xrange(map_grid_vars['loPltH'] + map_grid_vars['loRmpH'] - map_grid_vars['RampWall'], map_grid_vars['height']):
		for x in xrange(map_grid_vars['width'] - map_grid_vars['wall'], map_grid_vars['width']):
			myMap.grid[y][x]['desc'] = map_prop_vars['wall']

	"""start area"""
	#start area - white outHine - includes start area, next loop fixes enclosed area
	for y in xrange(map_grid_vars['height'] - map_grid_vars['wall'] - map_grid_vars['startH'] - map_grid_vars['whiteLine'], map_grid_vars['height'] - map_grid_vars['wall']):
		for x in xrange(map_grid_vars['wall'], map_grid_vars['wall'] + map_grid_vars['startW'] + map_grid_vars['whiteLine']):
			myMap.grid[y][x]['desc'] = map_prop_vars['line']
			myMap.grid[y][x]['color'] = map_prop_vars['white']
	#start area - fix enclosed area
	for y in xrange(map_grid_vars['height'] - map_grid_vars['wall'] - map_grid_vars['startH'], map_grid_vars['height'] - map_grid_vars['wall']):
		for x in xrange(map_grid_vars['wall'], map_grid_vars['wall'] + map_grid_vars['startW']):
			myMap.grid[y][x]['desc'] = map_prop_vars['start']
			myMap.grid[y][x]['color'] = map_prop_vars['black']

	"""air loading zone"""
	#air loading zone - white outline - includes enclosed space, next 2 loops fix
	for y in xrange(map_grid_vars['upPlt_2_Air'], map_grid_vars['upPltH']-map_grid_vars['upPlt_2_Air']):
		for x in xrange(0, map_grid_vars['air_long']+map_grid_vars['whiteLine']):
			myMap.grid[y][x]['desc'] = map_prop_vars['line']
			myMap.grid[y][x]['color'] = map_prop_vars['white']
	#air loading zone - fix enclosure - use two loops to account for seperating white line
	for y in xrange(map_grid_vars['upPlt_2_Air']+map_grid_vars['whiteLine'], map_grid_vars['upPlt_2_Air']+map_grid_vars['whiteLine']+map_grid_vars['zone_short']):
		for x in xrange(0,map_grid_vars['air_long']):
			myMap.grid[y][x]['desc'] = map_prop_vars['air']	
			myMap.grid[y][x]['color'] = map_prop_vars['unk']	#color unknown
	for y in xrange(map_grid_vars['upPlt_2_Air']+map_grid_vars['whiteLine']+map_grid_vars['zone_short']+map_grid_vars['whiteLine'], map_grid_vars['upPltH']-map_grid_vars['upPlt_2_Air']-map_grid_vars['whiteLine']):
		for x in xrange(0,map_grid_vars['air_long']):
			myMap.grid[y][x]['desc'] = map_prop_vars['air']	
			myMap.grid[y][x]['color'] = map_prop_vars['unk']	#color unknown

	"""cargo area"""
	#cargo storage - white outline - includes enclosed area, next loop fixes
	for y in xrange(map_grid_vars['upPltH']+map_grid_vars['wall'], map_grid_vars['upPltH']+map_grid_vars['wall']+map_grid_vars['stor_long']+map_grid_vars['whiteLine']):
		for x in xrange(map_grid_vars['wall']+map_grid_vars['edge2storage'], map_grid_vars['wall']+map_grid_vars['edge2storage']+map_grid_vars['cargoL']):
			myMap.grid[y][x]['desc'] = map_prop_vars['line']
			myMap.grid[y][x]['color'] = map_prop_vars['white']
	#fix enclosed storage area and make separating white lines
	k = 0	#variable to count the nth seperating line being implemented
	m = map_grid_vars['wall'] + map_grid_vars['edge2storage']+map_grid_vars['whiteLine']	#number of tiles until the first seperating white line
	#print("width=", width, "height=", height) #debug
	while k<=13:	#there are thirteen seperating lines (14 storage slots)
		p = m + (map_grid_vars['zone_short'] + map_grid_vars['whiteLine'])*k
		#m = m + map_grid_vars['air_long']*k
		for y in xrange(map_grid_vars['upPltH']+map_grid_vars['wall'], map_grid_vars['upPltH']+map_grid_vars['wall']+map_grid_vars['stor_long']):
			for x in xrange(p,p+map_grid_vars['zone_short']):
				#print("k=", k,"m=", m, "x=", x, "y=", y) #debug
				myMap.grid[y][x]['desc'] = map_prop_vars['storage']
				myMap.grid[y][x]['color'] = map_prop_vars['unk']  	#color unknown
		k = k + 1

	"""sea loading zone"""
	#white outline of sea loading zone
	for y in xrange(map_grid_vars['upPltH']+map_grid_vars['wall']+map_grid_vars['EdgetoSea'], map_grid_vars['upPltH']+map_grid_vars['wall']+map_grid_vars['EdgetoSea']+map_grid_vars['seaH']):
		for x in xrange(map_grid_vars['wall'], map_grid_vars['wall']+map_grid_vars['sea_long']+map_grid_vars['whiteLine']):
			myMap.grid[y][x]['desc'] = map_prop_vars['line']
			myMap.grid[y][x]['color'] = map_prop_vars['white']
	#fix enclosed sea area and make seperating white lines
	k = 0	#variable to count the ntinth seperating line being implemented
	m = map_grid_vars['upPltH'] + map_grid_vars['wall']+map_grid_vars['EdgetoSea']+map_grid_vars['whiteLine']
	while k<=5:
		p = m + map_grid_vars['air_long']*k
		#m = m + map_grid_vars['air_long']*k
		for y in xrange(p, p + map_grid_vars['zone_short']):
			for x in xrange(map_grid_vars['wall'], map_grid_vars['wall'] + map_grid_vars['sea_long']):
				myMap.grid[y][x]['desc'] = map_prop_vars['sea']
				myMap.grid[y][x]['color'] = map_prop_vars['unk']	#color unknown
		k = k + 1

	"""land loading zone"""
	#white outline of land zone
	for y in xrange(map_grid_vars['height']-map_grid_vars['wall']-map_grid_vars['land_long']-map_grid_vars['whiteLine'], map_grid_vars['height'] - map_grid_vars['wall']):
		for x in xrange(map_grid_vars['wall']+map_grid_vars['startW']+map_grid_vars['whiteLine']+map_grid_vars['start2land'],map_grid_vars['wall']+map_grid_vars['startW']+map_grid_vars['whiteLine']+map_grid_vars['start2land']+map_grid_vars['landW']):
			myMap.grid[y][x]['desc'] = map_prop_vars['line']	#marker
			myMap.grid[y][x]['color'] = map_prop_vars['white']	#white
	#fix enclosed land storage
	k = 0
	m = map_grid_vars['wall'] + map_grid_vars['startW']+map_grid_vars['whiteLine']+map_grid_vars['start2land']+map_grid_vars['whiteLine']
	while k<=5:
		p = m + (map_grid_vars['zone_short']+map_grid_vars['whiteLine'])*k
		#m = m+map_grid_vars['air_long']*k
		for y in xrange(map_grid_vars['height']-map_grid_vars['wall']-map_grid_vars['land_long'],map_grid_vars['height']-map_grid_vars['wall']):
			for x in xrange(p,p+map_grid_vars['zone_short']):
				myMap.grid[y][x]['desc'] = map_prop_vars['land']	#land 
				myMap.grid[y][x]['color'] = map_prop_vars['unk']	#color unknown
		k = k+1

	
	return(myMap)
Example #5
0
    classification = map_.classify_all(map_.convert_data_tensor(data))
    for i in range(len(classification)):
        loc_tuple = map_.get_location(classification[i])
        plt.text(loc_tuple[1], loc_tuple[0], color_names[i], ha='center', va='center',
        bbox=dict(facecolor='white', alpha=0.5, lw=0))

# plt.text(0, 1, color_names[1], ha='center', va='center',
#          bbox=dict(facecolor='white', alpha=0.5, lw=0))
    plt.show()



training, dim, number_rows_data = load_data(data)

map1 = MapClass(length, width, dim, move_closer_coef, number_iterations)

large_cycle_rgb(map1, training)

map1.weights

map1.cycle(training)

map1.distance_matrix

map1.impact_matrix



visualize_rgb(map1.weights)
Example #6
0
def large_cycle(map_, training_data):
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))
    for i in range(number_iterations):
        cycle(map_, training_data)
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))



training = load_data(data)



map1 = MapClass(length, width, dim, move_closer_coef)

cycle(map1, training)

large_cycle(map1, training)



map2 = MapClass(length, width, dim, move_closer_coef)

map2.map

locs = map2.initialize_locations(map2.map)



#     print(map_view(map_.map))
    if display_step == True:
        basic_visualization(map_display(map_.map))
        print(map_display(map_.map))


def large_cycle(map_, training_data):
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))
    for i in range(number_iterations):
        cycle(map_, training_data)
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))


training = load_data(data)

map1 = MapClass(length, width, dim, move_closer_coef)

map1.map

map2.map.view(dim, length, width)

map1 = MapClass(length, width, dim, move_closer_coef)

map1.map

basic_visualization(numpy_array)
Example #8
0
                                              shuffle=True)

    return trainloader, dim, number_rows_data


# -


def large_cycle(map_, training_data):
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))
    for i in range(number_iterations):
        cycle(map_, training_data)
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))


training, dim, number_rows_data = load_data(data)

map1 = MapClass(length, width, dim, move_closer_coef, number_iterations)

map1.weights_to_map()

map1.step(training, verbose=True)

map1.cycle(training, verbose=True)

map1.classify_all(map1.convert_data_tensor(data))

map1.convert_data_tensor(data)
Example #9
0
learning_rate = 0.01
# + {}
# trainloader = ""

# def load_data(data, batch_size=4):
#     dim = len(data[0])
#     number_rows_data = len(data)

#     trainloader = torch.utils.data.DataLoader(data, batch_size=batch_size, shuffle=True)

#     return trainloader, dim, number_rows_data
# -

map1 = MapClass(data,
                length,
                width,
                learning_rate,
                number_iterations,
                matrix1,
                batch_size=batch_size,
                shuffle=shuffle)

# training, dim, number_rows_data = load_data(data, batch_size)
map1.basic_visualization()

plt.rcParams['figure.dpi'] = 150
map1.large_cycle(draw_every_epoch=10, rgb=False)

map1.basic_visualization()
Example #10
0
import numpy as np
from constants import area_definition #Area as matrix and matrix blocks
from constants import constant_speed
from constants import length_of_runway,max_value, intersection_x, intersection_y, intersection_w, intersection_h
from constants import car_width, car_length
import matplotlib.pyplot as plt
from helper_functions import print_image_bw
from car_class import CarClass
from map_class import MapClass
from constants import playback_speed
from constants import start_1, start_2, start_3, start_4, start_5, start_6, start_7, start_8

PATH = "C:/Users/JustinSanJuan/Desktop/Workspace/python/Centralized Traffic/" #path to files folder
#Define Areas
#area_definition
A = MapClass(area_definition)
#print_image_bw(A,5,5)
#%%
#Define Actions
#action_dictonary = define_actions(A)

#Define Areas to Clear


#Randomly generated source & target points

car_1 = CarClass(*start_1, [0,0],[0,3],A.intersection_collision_map,[0,9*playback_speed])
#car_2 = CarClass(*start_2)
car_3 = CarClass(*start_3,[3,0],[0,0],A.intersection_collision_map,[-10*playback_speed,0])
car_4 = CarClass(*start_4,[3,1],[0,1],A.intersection_collision_map,[-10*playback_speed,0])
#car_5 = CarClass(*start_5)
Example #11
0
    return trainloader, dim, number_rows_data


# -


def large_cycle(map_, training_data):
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))
    for i in range(number_iterations):
        cycle(map_, training_data)
    basic_visualization(map_display(map_.map))
    print(map_display(map_.map))


training, dim, number_rows_data = load_data(data)

map1 = MapClass(length, width, dim, move_closer_coef)

map1.weights

map1.step(training, verbose=True)

map1.weights

map1.distance_matrix

map1.impact_matrix

map1.basic_visualization()