-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathsimple_navigation_ac.gin
More file actions
56 lines (46 loc) · 2.2 KB
/
Copy pathsimple_navigation_ac.gin
File metadata and controls
56 lines (46 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# training & playing with Agent Learning Framework (Alf)
# python -m alf.bin.train --root_dir=~/tmp/simple_navigation --gin_file=simple_navigation_ac.gin --alsologtostderr
# python -m alf.bin.play --root_dir=~/tmp/simple_navigation --gin_file=simple_navigation_ac.gin --num_episodes=20 --record_file=simple_navigation.mp4
import alf.algorithms.actor_critic_algorithm
import alf.trainers.on_policy_trainer
import alf.environments.suite_socialbot
# environment config
import alf.environments.wrappers
create_environment.env_name='SocialBot-SimpleNavigationDiscreteAction-v0'
create_environment.env_load_fn=@suite_socialbot.load
suite_socialbot.load.gym_env_wrappers=(@FrameStack,)
create_environment.num_parallel_environments=3
SimpleNavigation.resized_image_size=(84, 84)
# algorithm config
ActorCriticLoss.entropy_regularization=0.002
ActorCriticLoss.use_gae=True
ActorCriticLoss.use_td_lambda_return=True
observation_spec=@get_observation_spec()
action_spec=@get_action_spec()
actor/ActorDistributionNetwork.input_tensor_spec=%observation_spec
actor/ActorDistributionNetwork.output_tensor_spec=%action_spec
actor/ActorDistributionNetwork.fc_layer_params=(256,)
actor/ActorDistributionNetwork.activation_fn=@tf.nn.elu
actor/ActorDistributionNetwork.conv_layer_params=((16, 3, 2), (32, 3, 2))
CategoricalProjectionNetwork.logits_init_output_factor=1e-10
actor/ActorDistributionNetwork.discrete_projection_net=@CategoricalProjectionNetwork
value/ValueNetwork.input_tensor_spec=%observation_spec
value/ValueNetwork.fc_layer_params=(256,)
value/ValueNetwork.activation_fn=@tf.nn.elu
value/ValueNetwork.conv_layer_params=((16, 3, 2), (32, 3, 2))
ac/Adam.learning_rate=1e-4
Agent.action_spec=%action_spec
ActorCriticAlgorithm.actor_network=@actor/ActorDistributionNetwork()
ActorCriticAlgorithm.value_network=@value/ValueNetwork()
Agent.optimizer=@ac/Adam()
Agent.gradient_clipping=None
# training config
TrainerConfig.trainer=@on_policy_trainer
TrainerConfig.unroll_length=100
TrainerConfig.algorithm_ctor=@Agent
TrainerConfig.num_iterations=1000000
TrainerConfig.use_tf_functions=1
TrainerConfig.debug_summaries=True
TrainerConfig.summarize_grads_and_vars=1
TrainerConfig.summary_interval=1
Agent.observation_transformer=@image_scale_transformer