import asyncio import torch from client import MyEnvClient from models import MyAction from train import DQN async def main(): client = MyEnvClient("http://127.0.0.1:8000") model = DQN() model.load_state_dict(torch.load("dqn.pt", map_location="cpu")) model.eval() obs = await client.reset() state = obs["observation"]["state"] print("Initial state:", state) while True: with torch.no_grad(): q = model(torch.tensor([[float(state)]], dtype=torch.float32)) action = torch.argmax(q).item() obs = await client.step(MyAction(move=action)) state = obs["observation"]["state"] print(f"State: {state}, Action: {action}, Reward: {obs['reward']}, Done: {obs['done']}") if obs["done"]: print("finished", obs) break if __name__ == "__main__": asyncio.run(main())