Comments (4)
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.
@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.
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.
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)
- How can I make action sampling within the range specified by my environment when using onpolicy_trainer? HOT 6
- Document effects of the relations between buffer size, num workers and episode length
- Poetry update the torch versioned from cuda (2.0.1+cu118) to cpu (2.1.1) defaultly on Windows HOT 9
- [question] Why does Tianshou use a replay buffer in on-policy RL algorithms? HOT 1
- ImportError: cannot import name 'Self' from 'typing' (/root/miniconda3/lib/python3.10/typing.py) HOT 1
- ModuleNotFoundError: No module named 'tianshou.highlevel' HOT 2
- Support dict observation spaces in highlevel api
- get_env_attr not working in SubprocVectorEnv? HOT 2
- How to save the log which axis is each epoch not epoch's steps? HOT 2
- expected to be in range of [-1, 0], but got 1 HOT 3
- Unable to replicate original PPO performance HOT 7
- Clarification Needed on Implementing Action Masking in DQN with preprocess_fn in Collector
- will add dreamerv3 ?
- Documentation for multi-agent needs fixing
- No minibatch for computation of logp_old in PPOPolicy HOT 1
- MPO Implementation HOT 1
- Improve interface of BasePolicy.compute_action
- Suggestion - Redesign RayEnvWorker for Improved Performance
- tianshou v1.0.0 failed to install on python 3.12.4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tianshou.