コード例 #1
0
ファイル: train.py プロジェクト: LyazS/roadtracer3
PARALLEL_PATHS = PARALLEL_TILES * PATHS_PER_TILE_AXIS * PATHS_PER_TILE_AXIS


def epoch_to_learning_rate(epoch):
    if epoch < 100:
        return 1e-5
    elif epoch < 200:
        return 1e-6
    elif epoch < 300:
        return 1e-7
    else:
        return 1e-8


tiles = tileloader.Tiles(PATHS_PER_TILE_AXIS, SEGMENT_LENGTH, PARALLEL_TILES,
                         TILE_MODE)
tiles.prepare_training()
test_tile_data = tiles.get_test_tile_data()

# initialize model and session
print('initializing model')
m = model.Model(tiles.num_input_channels())
session = tf.Session()
model_path = MODEL_BASE + '/model_latest/model'
best_path = MODEL_BASE + '/model_best/model'
if os.path.isfile(model_path + '.meta'):
    print('... loading existing model')
    m.saver.restore(session, model_path)
else:
    print('... initializing a new model')
    session.run(m.init_op)
コード例 #2
0
ファイル: maid_train.py プロジェクト: sunstarchan/MAiD
if args.t: tileloader.tile_dir = args.t
if args.g: tileloader.graph_dir = args.g
if args.j:
    tileloader.pytiles_path = os.path.join(args.j, 'pytiles.json')
    tileloader.startlocs_path = os.path.join(args.j, 'starting_locations.json')

MODEL_BASE = args.modelpath
WINDOW_SIZE = 512
NUM_TRAIN_TILES = 1024
TILE_SIZE = 4096
RECT_OVERRIDE = None
NUM_BUCKETS = 64
MASK_NEAR_ROADS = False

tiles = tileloader.Tiles(2, 20, NUM_TRAIN_TILES + 8, 'sat')
tiles.prepare_training()
train_tiles = tiles.train_tiles

# initialize model and session
print 'initializing model'
m = model.Model(bn=True, size=512)
session = tf.Session()
model_path = MODEL_BASE + '/model_latest/model'
best_path = MODEL_BASE + '/model_best/model'
if os.path.isfile(model_path + '.meta'):
    print '... loading existing model'
    m.saver.restore(session, model_path)
else:
    print '... initializing a new model'
    session.run(m.init_op)
コード例 #3
0
        if avg_prob < threshold:
            bad_edges.update(rs.edges)
    print('filtering {} edges'.format(len(bad_edges)))
    ng = graph.Graph()
    vertex_map = {}
    for vertex in g.vertices:
        vertex_map[vertex] = ng.add_vertex(vertex.point)
    for edge in g.edges:
        if edge not in bad_edges:
            ng.add_edge(vertex_map[edge.src], vertex_map[edge.dst])
    return ng


if __name__ == '__main__':
    print('reading tiles')
    tiles = tileloader.Tiles(2, SEGMENT_LENGTH, 16, TILE_MODE)

    print('initializing model')
    m = model.Model(bn=True, size=2048)
    session = tf.Session()
    m.saver.restore(session, MODEL_PATH)

    def too_close(idx, p):
        for edge in idx.search(p.bounds().add_tol(60)):
            if edge.segment().distance(p) < 60:
                return True
        return False

    for x, y in TILE_LIST:
        EXISTING_GRAPH_FNAME = os.path.join(tile_graph_path,
                                            '{}_{}.graph'.format(x, y))
コード例 #4
0
ファイル: infer.py プロジェクト: rahul-nt/roadtracer
		TILE_START = geom.Point(1, -1).scale(TILE_SIZE)
	elif REGION == 'chicago':
		TILE_START = geom.Point(-1, -2).scale(TILE_SIZE)
	else:
		TILE_START = geom.Point(-1, -1).scale(TILE_SIZE)
	TILE_END = TILE_START.add(geom.Point(2, 2).scale(TILE_SIZE))

	if args.t: tileloader.tile_dir = args.t
	if args.g: tileloader.graph_dir = args.g
	if args.j:
		tileloader.pytiles_path = os.path.join(args.j, 'pytiles.json')
		tileloader.startlocs_path = os.path.join(args.j, 'starting_locations.json')

	print 'reading tiles'
	#tileloader.use_vhr()
	tiles = tileloader.Tiles(PATHS_PER_TILE_AXIS, SEGMENT_LENGTH, 16, TILE_MODE)

	print 'initializing model'
	model.BATCH_SIZE = 1
	m = model.Model(tiles.num_input_channels())
	session = tf.Session()
	m.saver.restore(session, model_path)

	if EXISTING_GRAPH_FNAME is None:
		rect = geom.Rectangle(TILE_START, TILE_END)
		tile_data = tiles.get_tile_data(REGION, rect)

		if USE_TL_LOCATIONS:
			start_loc = random.choice(tile_data['starting_locations'])
		else:
			def match_point(p):