Esempio n. 1
0
 def __init__(self, input_shape, z_size, variational=True, first_kernel=5, first_stride=2, second_kernel=5, second_stride=2):
     self.input_shape = input_shape
     self.z_size = z_size
     encoder = self.Encoder(input_shape, z_size, first_kernel, first_stride, second_kernel, second_stride)
     decoder = self.Decoder(z_size, encoder.z_shape, first_kernel, first_stride, second_kernel, second_stride)
     BaseVAE.__init__(self, encoder, decoder, variational)
     Storeable.__init__(self)
Esempio n. 2
0
 def __init__(self,
              input_shape,
              z_size,
              variational=True,
              first_kernel=5,
              first_stride=2,
              second_kernel=5,
              second_stride=2):
     self.vae = ConvVAE4Fixed(self, input_shape, z_size, variational,
                              first_kernel, first_stride, second_kernel,
                              second_stride)
     self.shot_vae = ConvVAE4Fixed(self, input_shape, z_size, variational,
                                   1, first_kernel, first_stride,
                                   second_kernel, second_stride)
     Storeable.__init__(self)
Esempio n. 3
0
 def __init__(self,
              input_shape,
              z_size,
              input_channels=3,
              output_channels=3,
              first_kernel=5,
              first_stride=2,
              second_kernel=5,
              second_stride=2):
     self.input_shape = input_shape
     self.z_size = z_size
     encoder = self.Encoder(input_shape, z_size, input_channels,
                            first_kernel, first_stride, second_kernel,
                            second_stride)
     decoder = self.Decoder(z_size, encoder.z_shape, output_channels,
                            first_kernel, first_stride, second_kernel,
                            second_stride)
     BaseAE.__init__(self, encoder, decoder)
     Storeable.__init__(self)
Esempio n. 4
0
    def test_rollout_gen(self):
        env = gym.make('SpaceInvaders-v4')
        models = config.basepath() / 'SpaceInvaders-v4' / 'models'
        visualsfile = models / 'GM53H301W5YS38XH'
        visuals = Storeable.load(str(visualsfile)).to(config.device())
        controllerfile = models / 'best_model68'
        controller = torch.load(str(controllerfile))
        policy = VCPolicy(visuals, controller)

        viewer = ImageViewer('screen', (420, 360), 'numpyRGB')

        for screen, observation, reward, done, info, action in RolloutGen(
                env, policy):
            viewer.update(screen)
Esempio n. 5
0
    def test_gymsim(self):
        env = gym.make('SpaceInvaders-v4')
        models = config.basepath() / 'SpaceInvaders-v4' / 'models'
        visualsfile = models / 'GM53H301W5YS38XH'
        visuals = Storeable.load(str(visualsfile)).to(config.device())
        controllerfile = models / 'best_model68'
        controller = torch.load(str(controllerfile))
        policy = VCPolicy(visuals, controller)

        dataset = GymSimulatorDataset(env, policy, 3000)

        loader = torch.utils.data.DataLoader(dataset=dataset,
                                             batch_size=10,
                                             shuffle=False,
                                             drop_last=True)

        for screen, observation, action, reward, done, _ in loader:
            print(reward)
Esempio n. 6
0
        drop_last=False,
    )
    train = data_utils.DataLoader(
        train,
        batch_size=batch_size,
        collate_fn=collate_action_observation,
        drop_last=False,
    )
    test = data_utils.DataLoader(
        test,
        batch_size=batch_size,
        collate_fn=collate_action_observation,
        drop_last=False,
    )

    convolutions = Storeable.load('C:\data\models\GM53H301W5YS38XH').to(device)
    convolutions.decoder.register_forward_hook(
        UniImageViewer('decoded').view_output)

    ground_truth_decoder = Storeable.load(
        'C:\data\models\GM53H301W5YS38XH').to(device)
    ground_truth_decoder.decoder.register_forward_hook(
        UniImageViewer('ground_truth').view_input)

    model = MDNRNN(i_size=i_size,
                   z_size=z_size,
                   hidden_size=32,
                   num_layers=3,
                   n_gaussians=3).to(device)

    #model = Storeable.load(r'C:\data\runs\687\mdnrnn-i_size-6-z_size-16-hidden_size-256-num_layers-1-n_gaussians-5_10.md').to(device)
Esempio n. 7
0
    rollout.register_before_hook(frame)

    def save(args):
        action_encoder.save_session()

    def action_encoder_frame(step):
        episode = step.meta['episode']
        file_path = config.basepath() / gym_environment / output_dir / str(episode)
        step.meta['filename'] = str(file_path)
        action_encoder.update(step)

    rollout.register_step(action_encoder_frame)
    rollout.register_end_session(save)

    for i_episode in range(531, 1000):
        rollout.rollout(policy, max_timesteps=3000, episode=i_episode)


if __name__ == '__main__':

    gym_environment = 'SpaceInvaders-v4'

    visuals = Storeable.load('.\modelzoo\GM53H301W5YS38XH').to(config.device())
    controller = torch.load(r'.\modelzoo\best_model68')
    policy = VCPolicy(visuals, controller)

    output_dir = 'rl_raw_v2'

    main(gym_environment, policy, output_dir)