Git Product home page Git Product logo

Comments (4)

MischaPanch avatar MischaPanch commented on July 18, 2024

You are using a very old version of tianshou. Could you pls try on either 1.0.0 or on the version on master?

from tianshou.

maguro27 avatar maguro27 commented on July 18, 2024

@MischaPanch
I update the python and tianshou version.

1.0.0 0.28.1 2.3.0+cu121 1.24.4 3.11.9 (main, Apr 6 2024, 17:59:24) [GCC 9.4.0] linux

However, this lambda function issue remains.

from tianshou.

dantp-ai avatar dantp-ai commented on July 18, 2024

Hi @maguro27,

It seems that env is not looked up until the lambda function is called, but by the end of the loop, env is bound to the last element in the list, hence you get the last environment four times. You can read more about it and closures with lambdas here.

This should now work as expected since the default value for env is evaluated when the lambda function is defined:

ts_train_envs = DummyVectorEnv([lambda: env=env for env in train_envs])

Which Tianshou tutorial are you looking at?

from tianshou.

maguro27 avatar maguro27 commented on July 18, 2024

@dantp-ai

Thank you for your comments.
I understand I misunderstood the behavior of the lambda function.

Tianshou tutorials only use default gym environments.
Hence, I misunderstand the behavior.
Therefore, I think maintainers might want to add information for using custom environments (e.g., use the gymnasium register function, then use it. or use "lambda: env=env".).

from tianshou.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.