예제 #1
0
    def initialize_episode(self,
                           cars,
                           gamma,
                           people,
                           pos_x,
                           pos_y,
                           tensor,
                           seq_len=30,
                           rewards=(1, 1, 1, 1, 1, 1),
                           width=0):
        #  tensor, people_e, cars_e, pos_x, pos_y, gamma, seq_len, reward_weights
        setup = run_settings()
        setup.run_2D = True
        episode = SimpleEpisode(tensor,
                                people,
                                cars,
                                pos_x,
                                pos_y,
                                gamma,
                                seq_len,
                                rewards,
                                agent_size=[width, width, width],
                                adjust_first_frame=False,
                                run_2D=True)

        setup.shape_s = [0, 0, 0]
        setup.agent_shape = [width, width, width]
        setup.net_size = [1 + 2 * width, 1 + 2 * width, 1 + 2 * width]
        setup.agent_s = [width, width, width]
        #tf.reset_default_graph()
        net = Seg_2d_softmax(setup)
        agent = SimplifiedAgent(setup)
        agent = NetAgent(setup, net, None)

        return agent, episode, net
예제 #2
0
    def initialize_episode_cont(self,
                                cars,
                                gamma,
                                people,
                                pos_x,
                                pos_y,
                                tensor,
                                seq_len=30,
                                rewards=np.zeros(NBR_REWARD_WEIGHTS),
                                agent_size=(0, 0, 0),
                                people_dict={},
                                init_frames={}):
        setup = run_settings()
        setup.action_freq = 1
        setup.useHeroCar = False
        setup.useRLToyCar = False
        #  tensor, people_e, cars_e, pos_x, pos_y, gamma, seq_len, reward_weights
        agent, episode = self.initialize_episode(cars, gamma, people, pos_x,
                                                 pos_y, tensor, seq_len,
                                                 rewards, agent_size,
                                                 people_dict, init_frames)
        episode.vel_init = np.zeros(3)
        agent = ContinousAgent(setup)

        return agent, episode
    def initialize_episode(self, cars, gamma, people, pos_x, pos_y, tensor,seq_len=30, rewards=[], agent_size=(0,0,0), people_dict={}, init_frames={}):
        settings = run_settings()
        settings.useHeroCar = False
        settings.useRLToyCar=False
        settings.multiplicative_reward=False
        if len(rewards)==0:
            rewards = self.get_reward()
        episode = SimpleEpisode(tensor, people, cars, pos_x, pos_y, gamma, seq_len, rewards, agent_size=agent_size,
                                people_dict=people_dict, init_frames=init_frames, defaultSettings=settings)
        agent=SimplifiedAgent(settings)

        return agent, episode
예제 #4
0
 def get_episode(self, cars, gamma, people, tensor, seq_len=30):
     pos_x = 0
     pos_y = 0
     rewards = self.get_reward()
     episode = SimpleEpisode(tensor,
                             people,
                             cars,
                             pos_x,
                             pos_y,
                             gamma,
                             seq_len,
                             rewards,
                             agent_size=(0, 0, 0),
                             defaultSettings=run_settings())
     return episode
예제 #5
0
    def initialize_episode(self,
                           cars,
                           gamma,
                           people,
                           pos_x,
                           pos_y,
                           tensor,
                           seq_len=30,
                           rewards=np.zeros(NBR_REWARD_WEIGHTS),
                           agent_size=(0, 0, 0),
                           people_dict={},
                           init_frames={}):
        #  tensor, people_e, cars_e, pos_x, pos_y, gamma, seq_len, reward_weights
        setup = run_settings()
        setup.action_freq = 1
        setup.useHeroCar = False
        setup.useRLToyCar = False
        frameRate, frameTime = setup.getFrameRateAndTime()
        episode = SimpleEpisode(tensor,
                                people,
                                cars,
                                pos_x,
                                pos_y,
                                gamma,
                                seq_len,
                                rewards,
                                agent_size=agent_size,
                                people_dict=people_dict,
                                init_frames=init_frames,
                                adjust_first_frame=False,
                                seq_len_pfnn=seq_len * 60 // frameRate,
                                defaultSettings=setup)
        episode.action = np.zeros(len(episode.action))
        episode.vel_init = np.zeros(3)
        agent = AgentPFNN(setup, None)  #, None, None, None)

        return agent, episode
예제 #6
0
import tensorflow as tf
from RL.settings import RANDOM_SEED
tf.set_random_seed(RANDOM_SEED)
from net_2d import SimpleSoftMaxNet_2D
from RL.settings import run_settings
# a = tf.random_uniform([1])
# b = tf.random_normal([1])
weights = tf.get_variable('weights_last', [9, 2],
                          initializer=tf.contrib.layers.xavier_initializer())

# Repeatedly running this block with the same graph will generate the same
# sequences of 'a' and 'b'.

net = SimpleSoftMaxNet_2D(run_settings())
init = tf.global_variables_initializer()
print("Session 1")
with tf.Session(graph=tf.get_default_graph()) as sess1:
    # print(sess1.run(a))  # generates 'A1'
    # print(sess1.run(a))  # generates 'A2'
    # print(sess1.run(b))  # generates 'B1'
    # print(sess1.run(b))  # generates 'B2'
    sess1.run(init)
    [weights_l] = sess1.run([net.tvars])
    #[weights_l] = sess1.run([weights])
    print weights_l

print("Session 2")
with tf.Session(graph=tf.get_default_graph()) as sess2:
    # print(sess2.run(a))  # generates 'A1'
    # print(sess2.run(a))  # generates 'A2'
    # print(sess2.run(b))  # generates 'B1'
예제 #7
0
        #     if training:
        #         train_itr[itr]=train_counter
        #         if itr in special_cases:
        #             test_points[itr] = train_counter
        #         if itr not in iterations_cars:
        #             train_counter=train_counter+1
        #     else:
        #         test_points[itr]= train_counter
        #         if itr in special_cases:
        #             train_itr[itr] = train_counter

        # print "----------------------------------------------------------------------------"
        #print train_itr
        # print "----------------------------------------------------------------------------"
        #print sorted(test_points)
        settings = run_settings()
        test_points = {0: 0}
        scenes = [
            "15646511153936256674_1620_000_1640_000",
            "18311996733670569136_5880_000_5900_000"
        ]
        filespath = settings.waymo_path

        epoch = 0
        filename_list = []
        # Get files to run on.
        ending_local = "test_*"
        for scene in scenes:
            filename_list.append(os.path.join(filespath, scene))
        saved_files_counter = 0
        print(filename_list)