Conversation
|
I decided to use different |
Are each of them still supported on Python >= 3.10? |
|
Docs say that for >=3.10 current top versions are fully compatible... |
|
Yes, it now fails because of the versions. @lanctot, what's better for you, to upgrade versions in a separate PR or with this/AlphaZero PR? |
I'm still not sure if updating versions will work. Sometimes the cascade of dependencies leads to a problem and it makes it impossible if the Python versions are too old. But let me try in a separate PR. |
This one requires >= 3.11, from https://pypi.org/project/jax/0.8.1/
This one too (>= 3.11), from https://pypi.org/project/flax/0.12.1/
This one is ok (>= 3.10), https://pypi.org/project/optax/0.2.6/
This one is ok too (>= 3.10), from: https://pypi.org/project/orbax-checkpoint/0.11.31/ |
|
Ok...... so what do we do? Well, 3.10 is causing other problems too ( see #1424 ). I just checked. Seems like Colab is now using 3.12. Normally I wait until EOL before removing support for a version, but that's quite far away (October '26). In this case it's causing multiple issues so I'd be happy to remove it early. Give me a few weeks. I have to check with a few people (most notably the Kaggle Game Arena who are relying on a stable OpenSpiel for their environments). And I could have sworn that the version of Colab I used for the LLM imitation learning was 3.10, so maybe it's lower for the TPU kernels or maybe I was just mistaken. |
|
The order I suggest is the following:
Sound good to you? |
|
Moving the discussion of removing Python 3.10 to a new issue: #1425 |
|
Okay, I will do EVA as well. Haven't heard of the algorithm |
|
@lanctot I took away Moreover, jax versions for DQN and NFSP aren't the fastest, to he honest. This morning, I've checked, they don't trigger additional recompilations, so there might be a bottleneck due to interchangable use of pure python and jax. I think we'll get there, I asked a Flax team member if we can do much about that. But we should match pytorch pefr sooner or later across all impls. |
|
@lanctot for Kuhn poker, exploitabilty of both, jax and torch implementations, is below 0.06 (0.02-0.04). Also, I stripped it a little, reusing some of also, for colabs, I replaced Technically, if the tests pass, the PR is in mergable condition. I don't think that I can marginally improve the performance without future |
|
I am sorry, I am not yet used run ALL tests before commits. Will be better |
Don't worry about it -- I just have to press a button. But there might be a delay sometimes if I'm in meetings etc. |
|
Hi @alexunderch, Thanks for this PR, it's great! However, I need to request one thing going forward, before we import we need to catch all the Goolge lint errors. This one has many and it's costing us too much time. Specifically, can you apply Step 9 from this: https://github.com/google-deepmind/open_spiel/blob/master/docs/developer_guide.md#adding-a-game I will highlight a few of the common issues so you can cross-check that the Python linter with the most recent pylintrc catches them. |
|
I see, I was worried about the linter comments, thank you for the correction. I update this and my other active PRs ASAP. |
|
Like trialling spaces and tabs, right? |
Those need to go too. I commented on an example above. |
|
sorry, I should read before I click various buttons |
|
@lanctot I think you can check internally, I fixed all trailing lines and argument inconsistensies with a more advanced linter, it now should match the doc standard (more or less)... |
Still a lot of issues. It's ok, I'll do it for this one and we'll prioritize ensuring that #1071 catched everything and importing it going forward. |
|
Wait, so you want to say that missing doc-strings also count? I think I can fix them. Sorry, I just try to understand what should I do to make your life (and my in the end) easier... Because the only things I have ever done is black formatting because I was reliant on external workflows... |



jaxandtorchthat pass the testsdqn_to improve visibilityStill TBD:
jaximplementation is still very slow with plain python, see Significant performance difference of NNX relative to equinox google/flax#4045, will fix with different improvements, like caching