diff --git a/README.md b/README.md index 8f85185..0ecf61a 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ I use 8 threads and a two tanh hidden layer network, each hidden layer has 64 hi # Dependency * Open AI gym * [Roboschool](https://github.com/openai/roboschool) (Optional) -* PyTorch v0.2.0 +* PyTorch v0.3.0 * Python 2.7 or Python 3.6 * Tensorflow (Optional, but tensorboard is awesome) > If you want to use Roboschool, you have to use Python3. And don't try to use Roboschool with parallelized algorithms, diff --git a/main.py b/main.py index 6e2ca81..2203e46 100644 --- a/main.py +++ b/main.py @@ -29,8 +29,8 @@ def async_cart_pole(): config.optimizer_fn = lambda params: torch.optim.Adam(params, 0.001) config.network_fn = lambda: FCNet([4, 50, 200, 2]) config.policy_fn = lambda: GreedyPolicy(epsilon=0.5, final_step=5000, min_epsilon=0.1) - config.worker = OneStepQLearning - # config.worker = NStepQLearning + # config.worker = OneStepQLearning + config.worker = NStepQLearning # config.worker = OneStepSarsa config.discount = 0.99 config.target_network_update_freq = 200 @@ -234,10 +234,10 @@ def p3o_continuous(): def d3pg_continuous(): config = Config() - # config.task_fn = lambda: Pendulum() + config.task_fn = lambda: Pendulum() # config.task_fn = lambda: ContinuousLunarLander() # config.task_fn = lambda: Roboschool('RoboschoolInvertedPendulum-v1') - config.task_fn = lambda: Roboschool('RoboschoolReacher-v1') + # config.task_fn = lambda: Roboschool('RoboschoolReacher-v1') # config.task_fn = lambda: BipedalWalker() task = config.task_fn() config.actor_network_fn = lambda: DeterministicActorNet( @@ -270,12 +270,12 @@ if __name__ == '__main__': # gym.logger.setLevel(logging.DEBUG) gym.logger.setLevel(logging.INFO) - # dqn_cart_pole() + dqn_cart_pole() # async_cart_pole() # a3c_cart_pole() # a3c_continuous() # p3o_continuous() - d3pg_continuous() + # d3pg_continuous() # dqn_fruit() # hrdqn_fruit() diff --git a/network/base_network.py b/network/base_network.py index 08beffd..748228f 100644 --- a/network/base_network.py +++ b/network/base_network.py @@ -57,8 +57,8 @@ class ActorCriticNet(BasicNet): def predict(self, x): phi = self.forward(x, True) pre_prob = self.fc_actor(phi) - prob = F.softmax(pre_prob) - log_prob = F.log_softmax(pre_prob) + prob = F.softmax(pre_prob, dim=1) + log_prob = F.log_softmax(pre_prob, dim=1) value = self.fc_critic(phi) return prob, log_prob, value