EricSteinberger / DREAM

Scalable implementation of DREAM - Deep RL for multi-agent imperfect information games
MIT License
112 stars 17 forks source link

Bug in CardEmbedding #5

Open ohwi opened 3 years ago

ohwi commented 3 years ago

https://github.com/EricSteinberger/DREAM/blob/bfe21bbb0f60ab27a1af9774308efbbbd41e68c4/PokerRL/rl/neural/CardEmbedding.py#L64

Since the variable n means the number of cards dealt in the round, added number must be multiplied by 3, which means the length of (rank, suit, card).

I think that this line needs to be off += n * 3.

EricSteinberger commented 3 years ago

Thanks! Did you test this in the debugger or so? That's interesting. I'm not sure if it's true but it might be

LucasCJYSDL commented 1 year ago

I agree with ohwi.

zzzjoey commented 8 months ago

I also agree with ohwi. When training in Leduc or FHP, off += n does not generate an error, but when the game switches to limitHoldem, off += n will cause this line https://github.com/EricSteinberger/DREAM/blob/d2c5e31da09b26103051c58f5040399987668bbd/PokerRL/rl/neural/CardEmbedding.py#L68C13-L68C70 to report an error : torch.embedding index out of range in self If it is changed to off+=n * 3, training can proceed normally.