AI4Finance-Foundation / AI4Finance-Foundation/ElegantRL

AttributeError: 'AgentPPO' object has no attribute 'ClassCri'

Aperta
#55 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Python
Stelle
4.4k
Fork
978
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

While Running the last command on eRL_demo_StockTrading.ipynb on colab

```python
args.init_before_training(if_main=False)
args.env.draw_cumulative_return(args, torch)
```

```error
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
in ()
----> 1 args.env.draw_cumulative_return(args, torch)

2 frames
/usr/local/lib/python3.7/dist-packages/elegantrl/envs/FinRL/StockTrading.py in draw_cumulative_return(self, args, _torch)
240 cwd = args.cwd
241
--> 242 agent.init(net_dim, state_dim, action_dim)
243 agent.save_load_model(cwd=cwd, if_save=False)
244 act = agent.act

/usr/local/lib/python3.7/dist-packages/elegantrl/agent.py in init(self, net_dim, state_dim, action_dim, learning_rate, if_use_gae, env_num, agent_id)
617
618 def init(self, net_dim, state_dim, action_dim, learning_rate=1e-4, if_use_gae=False, env_num=1, agent_id=0):
--> 619 super().init(net_dim, state_dim, action_dim, learning_rate, if_use_gae, env_num, agent_id)
620 self.traj_list = [list() for _ in range(env_num)]
621

/usr/local/lib/python3.7/dist-packages/elegantrl/agent.py in init(self, net_dim, state_dim, action_dim, learning_rate, if_per_or_gae, env_num, agent_id)
52 self.device = torch.device(f"cuda:{agent_id}" if (torch.cuda.is_available() and (agent_id >= 0)) else "cpu")
53
---> 54 self.cri = self.ClassCri(int(net_dim * 1.25), state_dim, action_dim).to(self.device)
55 self.act = self.ClassAct(net_dim, state_dim, action_dim).to(self.device) if self.ClassAct else self.cri
56 self.cri_target = deepcopy(self.cri) if self.if_use_cri_target else self.cri

AttributeError: 'AgentPPO' object has no attribute 'ClassCri'
```

But I am able to see that AgentPPO has ClassCri with CriticAdv

```python
class AgentPPO(AgentBase):
def __init__(self):
super().__init__()
self.ClassAct = ActorPPO
self.ClassCri = CriticAdv
```

## Actual Issue -
![image](https://user-images.githubusercontent.com/22612439/136794340-9a7f43f8-500c-45fa-8ad4-94efa20250d5.png)

## Attachments
![image](https://user-images.githubusercontent.com/22612439/136794130-db76f3f0-b673-4b95-a11d-766d754ea07b.png)
![image](https://user-images.githubusercontent.com/22612439/136794293-91793324-b91e-498b-86d7-32d0a4d4701f.png)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.