Open
Description
I have an M1 Mac, so I've created a virtual env with Python 3.9 and installed tensorforce 0.6.5 and I am trying to set up a simple agent and train it to play Snake. Here is my main code:
from tensorforce.agents import PPOAgent
from Game import Game
from SnakeEnvironment import SnakeEnvironment
if __name__ == "__main__":
print(tensorforce.__version__)
game = Game()
environment = SnakeEnvironment(game)
agent = PPOAgent(
states=environment.states(),
actions=environment.actions(),
batch_size=128,
max_episode_timesteps=100,
)
agent.initialize()
for episodes in range(500):
state = environment.reset()
done = False
while not done:
actions = agent.act(states=state)
next_state, done, reward = environment.execute(actions)
agent.observe(terminal=done, reward=reward)
state = next_state
agent.save(directory='models')
But I am getting an error:
WARNING:root:No min_value bound specified for state.
WARNING:absl:At this time, the v2.11+ optimizer `tf.keras.optimizers.Adam` runs slowly on M1/M2 Macs, please use the legacy Keras optimizer instead, located at `tf.keras.optimizers.legacy.Adam`.
Traceback (most recent call last):
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/optimizers/tf_optimizer.py", line 142, in initialize_given_variables
self.tf_optimizer._create_all_weights(var_list=variables)
AttributeError: 'Adam' object has no attribute '_create_all_weights'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/dmytro/PycharmProjects/tensorforce/main.py", line 19, in <module>
agent.initialize()
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/agents/agent.py", line 280, in initialize
self.model.initialize()
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/models/tensorforce.py", line 600, in initialize
super().initialize()
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/models/model.py", line 290, in initialize
self.core_initialize()
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/models/tensorforce.py", line 690, in core_initialize
self.optimizer.initialize_given_variables(variables=self.policy.trainable_variables)
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/optimizers/optimizer.py", line 42, in initialize_given_variables
module.initialize_given_variables(variables=variables)
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/optimizers/optimizer.py", line 42, in initialize_given_variables
module.initialize_given_variables(variables=variables)
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/optimizers/optimizer.py", line 42, in initialize_given_variables
module.initialize_given_variables(variables=variables)
File "/Users/dmytro/PycharmProjects/tensorforce/venv/lib/python3.9/site-packages/tensorforce/core/optimizers/tf_optimizer.py", line 144, in initialize_given_variables
self.tf_optimizer._create_hypers()
AttributeError: 'Adam' object has no attribute '_create_hypers'
I've also tried to run the same code on Windows 10 but the problem is still the same
Metadata
Metadata
Assignees
Labels
No labels