Coder Social home page Coder Social logo

jannerm / diffuser Goto Github PK

View Code? Open in Web Editor NEW
730.0 730.0 109.0 9.21 MB

Code for the paper "Planning with Diffusion for Flexible Behavior Synthesis"

Home Page: https://diffusion-planning.github.io

License: MIT License

Dockerfile 0.79% Python 87.71% Shell 11.50%

diffuser's People

Contributors

jannerm avatar yilundu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

diffuser's Issues

Reproducing Table 3 Diffuser numbers

Hi,

It's unclear how to reproduce the Diffuser column in Table 3 of the paper. For example, for the unconditional stacking experiment the report table number is 58.7 +/- 2.5. When I try the provided script with the pretrained weights I get a reward mean of 1.6 +/- 0.067. How can I get roughly the same numbers as reported in the table? I'm sorry if I'm missing something obvious.

maze2D weights

Hi and thank you for sharing the code of this very interesting work!

Do you intend to share the maze2D weights? In the google folder with the trained models there is no trained model for the maze2d. Am I missing something?

Running the plan_maze2d.py I get the following error:
FileNotFoundError: [Errno 2] No such file or directory: 'logs/maze2d-large-v1/diffusion/H384_T256/model_config.pkl'

My folder structure after running the script:
image

Any help would be great!

Error loading weights for maze_2d

Hi,

I was trying to use the weights from #13 but I'm getting the following error when I run python scripts/plan_maze_2d.py

Traceback (most recent call last):
  File "scripts/plan_maze2d.py", line 25, in <module>
    diffusion_experiment = utils.load_diffusion(args.logbase, args.dataset, args.diffusion_loadpath, epoch=args.diffusion_epoch)
  File "/home/karthi43/working/diffuser/diffuser/utils/serialization.py", line 58, in load_diffusion
    trainer.load(epoch)
  File "/home/karthi43/working/diffuser/diffuser/utils/training.py", line 162, in load
    self.model.load_state_dict(data['model'])
  File "/home/karthi43/miniconda3/envs/diffuser/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1406, in load_state_dict
    raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for GaussianDiffusion:
        Missing key(s) in state_dict: "model.downs.0.3.conv.weight", "model.downs.0.3.conv.bias", "model.downs.1.3.conv.weight", "model.downs.1.3.conv.bias", "model.ups.0.3.conv.weight", "model.ups.0.3.conv.bias", "model.ups.1.3.conv.weight", "model.ups.1.3.conv.bias". 
        Unexpected key(s) in state_dict: "model.downs.0.2.conv.weight", "model.downs.0.2.conv.bias", "model.downs.1.2.conv.weight", "model.downs.1.2.conv.bias", "model.ups.0.2.conv.weight", "model.ups.0.2.conv.bias", "model.ups.1.2.conv.weight", "model.ups.1.2.conv.bias". 

I'm on maze_2d branch, am I missing some configs or something

Thanks you!

Code's defaults hyperparameters inconsistent with the paper's

Hi.
I found the code's defaults hyperparameters is inconsistent with the paper's such as diffusion steps N=100 in paper but N=20 in code and guide scale, gamma, train step. I wonder how much this will affect performance and if the code's hyperparameters is enough to obtain results reported in paper. Thanks if anyone can give me some helps.

Questions about self.predict_epsilon and Maze2D settings

Hi,

Nice paper and code. They're very clear and easy to understand. I have two questions about the code implementation:

  1. Although I've read articles about the background of the Diffusion model, I'm still new to it. I understand the loss function of comparing epsilons and using p process (the U-Net model) to estimate noise, but I'm confused why you set self.predict_epsilon == False in the locomotion example. That's amazing. What's the loss function and logic behind it? Could you briefly explain or refer me to somewhere to read please?

  2. I think we can use the same model for path planning in Maze 2D, but I'm not sure about the code implementation. Please correct me if I'm wrong,
    a. At initialization, the points are in order which represent the visiting order, and their 2D positions are random.
    b. The constraints are (1) the first/last points should be at the start/end position, (2) the path between consecutive should not hit/cross the walls (I don't know how to implement constraint yet).
    c. Both training and testing stage, we use the same function apply_condition to apply the constraints.

Thanks for your time. Look forward to your response.

Best

Condition DDPM

It seems that condition was not used in DDPM, in models.temporal.py. Function "apply_conditioning" only replaces the initial state.

conda env create -f environment.yml

I cannot get the "conda env create -f environment.yml" command to work on my machine. I keep receiving the following errors:

Using cached gym-0.18.0.tar.gz (1.6 MB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'

Pip subprocess error:
Running command git clone --filter=blob:none --quiet https://github.com/JannerM/doodad.git /tmp/pip-req-build-926mvkq8
Running command git checkout -b janner --track origin/janner
Switched to a new branch 'janner'
Branch 'janner' set up to track remote branch 'janner' from 'origin'.
error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
[end of output]

I have tried manually installing every dependency instead of using the .yml file but still have run into issues. Anyone have any fixes?

raise error when test the docker

docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/lync/.d4rl.
See 'docker run --help'.

Inquiry About the Tool Used for 3D Plotting in Your Impressive Project

Firstly, I want to express my admiration for the outstanding work you've done on this project. It truly showcases the attention to detail and dedication put into it.

I am particularly intrigued by the 3D plot illustrating a robot arm stacking towers. It adds a visual dimension to the project that significantly aids in comprehension. I am interested in learning more about the tool or tools you used to create this visualization.

Could you kindly share information on the software, libraries, or methods employed to generate such a detailed 3D plot? Any pointers or references you could provide would be greatly appreciated, as they would greatly help me in furthering my own work in this domain.

Thank you in advance for your time and assistance!

Dataset availability

Hi, where can I find the datasets for all the environments, esp. Maze2D?
Sorry if I missed this in the readme.

A minor issue when training models with maze2d dataset

Hi,

Thanks for sharing the nice code! There was a minor issue when I trained the model with the script python scripts/train.py --dataset maze2d-umaze-v1 --horizon 512 --n_diffusion_steps 200:

File ".../diffuser/datasets/buffer.py", line 75, in add_path
    self._dict[key][self._count, :path_length] = array
IndexError: index 10000 is out of bounds for axis 0 with size 10000

and I believe the episode number of the maze2d dataset is more than 10000, which caused this error. So I set max_n_episodes=20000 at the line: https://github.com/jannerm/diffuser/blob/main/diffuser/datasets/sequence.py#L18. And it really fixed this issue. Maybe you can update the corresponding code if I'm correct?

BTW, looking forward to seeing your testing/evaluating code :)

How is conditioning implemented

Hi, I'm new to diffusion models in RL and am trying to figure out how the diffuser works particularly with conditioning and was hoping I can get some guidance. I read the paper and it proposes the idea of

  1. Reinforcement Learning as Guided Sampling
  2. Goal-Conditioned RL as Inpainting

I think I see the Goal-Conditioned RL being implemented with setting the Goal (starting states) in the sampling process, but I can't seem to find how the Guided sampling part is implemented
I was looking through the code for sampling and see that a cond is passed down to the temporal u net, but see that its not used.

Is it implemented elsewhere? or is this just a template of how I could inject my own rewards model into the temporal U net? Thanks in advance

Maze2d Start Point

The start location is mentioned and used where in the maze2d branch? I am trying to reproduce diffuser maze2d experiment and I want to fix the start point and the end point during each sample step.

About network architectures

Hi,
Have you tried other network architecture other than UNet such as MLP or TCN. Is network architecture important for performance.

Question about Kuka Training and Kuka Dataset.

Hi.

I am using the kuka branch and downloaded the dataset from this link https://www.dropbox.com/s/zofqvtkwpmp4v44/metainfo.tar.gz?dl=0

I added the following line to the script to see the visualization of the datasets: ( more specifically, I added them in the line 71 https://github.com/jannerm/diffuser/blob/kuka/scripts/kuka.py#L71)

tmp = np.load("kuka_dataset/data_897.npy")
renderer.renders(tmp)

And the visualization is the following video

2023-03-19_18-22-40.mp4

As seen in the video, the robot has already picked up and placed the object. 

1) My question is:

What is the objective of training after loading the dataset?

Then, I continued training until the timestep is 15000 ( the loss is around 0.16).

I believe you sample the images(trajectories) starting from the this line https://github.com/jannerm/diffuser/blob/kuka/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py#L800
and replay the robot.
image

I wanted to see what would look like the robot movement after training the neural network. Then I sampled the images from this line and replay the robot. The robot as well as the cube movements can be seen in the following video?

2023-03-19_18-43-10.mp4

2) My second question is why the behaviour is like that ?

Clarification on implementation of warm-starting diffusion

Hi,

Thanks very much for open-sourcing this great work . I have a minor question about implementation details:

In Section 5.4 of the paper, it is mentioned that warm-starting the diffusion from a previous time-step's plan can reduce the number of diffusion steps necessary. In this case, how do you configure the diffusion process to use fewer timesteps? Do you simply use the last 100 values of the original alphas and betas, or do you initialize new alphas/betas for fewer timesteps, or something else?

Thanks!

NameNotFound Error at the Colab File

Hi there,
first of all, thanks for making this work available.
I wanted to go through the Colab Notebook provided at the header of the readme file. In the second block of the Setup section, there are some errors that block us from running the following blocks. Changing it from

%cd /content

!git clone https://github.com/jannerm/diffuser.git
!git checkout 06b8e6a042e6a3312d50ed8048cba14afeab3085
!curl -L -o diffuser-pretrained.tar https://www.dropbox.com/s/1x73p8x66mj7dvk/diffuser-pretrained.tar?dl=1
!tar -xf diffuser-pretrained.tar
!mv diffuser-pretrained/logs diffuser/logs
!rm -r diffuser-pretrained*

%cd diffuser
%pip install -f https://download.pytorch.org/whl/torch_stable.html \
                typed-argument-parser \
                scikit-image==0.17.2 \
                scikit-video==1.1.11 \
                gitpython \
                einops \
                pillow \
                free-mujoco-py \
                gym \
                git+https://github.com/JannerM/d4rl.git@0e84a4d29db3ae501043215ce1d91843929f1949 \
                git+https://github.com/aravindr93/mjrl

%pip install -e .

to

%cd /content

!git clone https://github.com/jannerm/diffuser.git
%cd diffuser
!git checkout 06b8e6a042e6a3312d50ed8048cba14afeab3085
%cd /content
!curl -L -o diffuser-pretrained.tar https://www.dropbox.com/s/1x73p8x66mj7dvk/diffuser-pretrained.tar?dl=1
!tar -xf diffuser-pretrained.tar
!mv diffuser-pretrained/logs diffuser/logs
!rm -r diffuser-pretrained*

%cd diffuser
%pip install -f https://download.pytorch.org/whl/torch_stable.html \
                typed-argument-parser \
                scikit-image==0.17.2 \
                scikit-video==1.1.11 \
                gitpython \
                einops \
                pillow \
                free-mujoco-py \
                gym==0.18.0 \
                git+https://github.com/JannerM/d4rl.git@0e84a4d29db3ae501043215ce1d91843929f1949 \
                git+https://github.com/aravindr93/mjrl

%pip install -e .

solves the issue. Maybe you might want to change the corresponding part of ./scripts/diffuser_sample.ipynb as well :)

Best,
Kagan

Question about the input of training values?

Hello,
Thanks for the open sourcing codes!
But I have one question about the implementation of training values. Should the input of this line be x_start instead of x_noisy? Because the target is accumulated return calculated from the expert trajectory of offline data and not the true return of denoising trajectories during the denoising or noisy trajecotories, which means the gradient guide from target is not matching to x_noisy. I don't know whether I am right about this, please take a look and offer me some hints.

pred = self.model(x_noisy, cond, t)

Error in creating conda environment for plan_maze2d branch

Hi there, I checked out the plan_maze2d branch and tried to run "conda env create -f environment.yml" and bump into the following errors. Any guidance on how to solve this issue? Thank you very much!

Collecting dm_control@ git+git://github.com/deepmind/dm_control@41d0c7383153f9ca6c12f8e865ef5e73a98759bd#egg=dm_control
Cloning git://github.com/deepmind/dm_control (to revision 41d0c7383153f9ca6c12f8e865ef5e73a98759bd) to /tmp/pip-install-ncjf6ze3/dm-control_fcf322da5da84fb9a7196336199dff53

Pip subprocess error:
Running command git clone --filter=blob:none --quiet https://github.com/JannerM/d4rl.git /tmp/pip-req-build-tmbo87ge
Running command git rev-parse -q --verify 'sha^13fc08c198d17ac627f528aedc70843e8f86bb71'
Running command git fetch -q https://github.com/JannerM/d4rl.git 13fc08c198d17ac627f528aedc70843e8f86bb71
Running command git checkout -q 13fc08c198d17ac627f528aedc70843e8f86bb71
WARNING: Missing build requirements in pyproject.toml for mujoco-py==2.0.2.13 from https://files.pythonhosted.org/packages/2f/48/b108057c1a23c8da9f4cdc7a7c46ab7cec49c3563c0706d50f2527de6ba0/mujoco-py-2.0.2.13.tar.gz (from -r /home/external/diffuser/condaenv.75wnjbo_.requirements.txt (line 4)).
WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'wheel'.
Running command git clone --filter=blob:none --quiet git://github.com/deepmind/dm_control /tmp/pip-install-ncjf6ze3/dm-control_fcf322da5da84fb9a7196336199dff53
fatal: unable to connect to github.com:
github.com[0: 192.30.255.113]: errno=Connection timed out

error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet git://github.com/deepmind/dm_control /tmp/pip-install-ncjf6ze3/dm-control_fcf322da5da84fb9a7196336199dff53 did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet git://github.com/deepmind/dm_control /tmp/pip-install-ncjf6ze3/dm-control_fcf322da5da84fb9a7196336199dff53 did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

failed

CondaEnvException: Pip failed

About Figure 3(d)

Hi~I found that in cases like Figure 3(a), one policy only applies to one maze, and needs references for reconstruction. Do cases in Figure 3(d) need references, or can be generalized to multiple scenes? By the way, have scripts for Figure 3(d) been released in this repo?

Build docker stops with an error

Hi,

I tried to create a conda virtual environment but failed. So I turn to create a docker, but it fails at the same place, in creating the virtual environment.

#19 484.3   subprocess.CalledProcessError: Command '['/opt/conda/envs/diffuser/bin/python', 'dm_control/autowrap/autowrap.py', '--header_paths=/root/.mujoco/mujoco200_linux/include/mjdata.h /root/.mujoco/mujoco200_linux/include/mjmodel.h /root/.mujoco/mujoco200_linux/include/mjrender.h /root/.mujoco/mujoco200_linux/include/mjui.h /root/.mujoco/mujoco200_linux/include/mjvisualize.h /root/.mujoco/mujoco200_linux/include/mjxmacro.h /root/.mujoco/mujoco200_linux/include/mujoco.h', '--output_dir=/tmp/pip-install-alxuyfnp/dm-control_837352932d0a4468a1a9f22aec04744b/build/lib/dm_control/mujoco/wrapper/mjbindings']' returned non-zero exit status 1.                                                                        
#19 484.3   ----------------------------------------                                                                    
#19 484.3   ERROR: Failed building wheel for dm-control                                                                 
#19 484.3 ERROR: Could not build wheels for mujoco-py which use PEP 517 and cannot be installed directly 

I guess the problem is related to dm-control. Do you have any suggestion to fix it? Thanks.

Hyper-parameters selection

Hi,
Thanks for the wonderful work! Just for confirmation,which group of parameters should be used for training and planning? The parameters in the loaded pretrained weight seem different from the default parameters in the scripts and the parameters listed in the last page of your paper. For example, your paper suggests 100 diffusion steps while it is only 20 in your pretrained weight.
Thanks!

A question regarding two details mentioned in the paper.

Thank you for publicizing your code! I have a question regarding two details mentioned in the part below:

image

In the paper, it mentions "the training of a cumulative reward classifier" and "use the first action in the environment".

It seems these are not present in the current demo code for the hopper experiment. Am I understanding correctly?

Thank you!

Is there `scripts/plan_guided.py` ?

In Usage section of README, it is demonstrated that

python scripts/plan_guided.py --dataset hopper-medium-replay-v2 \
    --horizon 512 --n_diffusion_steps 200

but it seems that there are no file corresponding to the scripts/plan_guided.py .

error running plan_guided.py

Hello,

I seem to encounter a bunch of errors running "plan_guided.py" as in readme: python scripts/plan_guided.py --dataset halfcheetah-medium-expert-v2 --logbase logs/pretrained.

Debugging showed error at:

args = Parser().parse_args('plan')

from mc_bin_client.py as below.

python3.8/site-packages/mc_bin_client/mc_bin_client.py", line 305, in _sendMsg
self.s.send(msg)
BrokenPipeError: [Errno 32] Broken pipe

Couldn't reproduce with Docker

I ran the training steps with Docker

docker build -f azure/Dockerfile . -t diffuser
docker run -it --rm --gpus all \
    --mount type=bind,source=$PWD,target=/home/code \
    --mount type=bind,source=$HOME/.d4rl,target=/root/.d4rl \
    diffuser \
    bash -c \
    "export PYTHONPATH=$PYTHONPATH:/home/code && \
    python /home/code/scripts/train.py --dataset hopper-medium-expert-v2 --logbase logs/docker"

However after 200k+ iterations it did not appear to increase the episode length. Could you provide more details on how you trained your agent and how I can reproduce it?

Doubt on Action Space

A single sample in the D4RL Maze2D environment is of dimension (384, 6)
Can you please clarify the below 2 questions:

  1. Does the second dimension (6) have an ordering of state followed by action ,or ,action followed by state?
  2. If the state is (qpos, qvel) it already has the position and velocity information, then what information does the action represent?

About variable-length plans

It writes "The horizon can be updated after training by changing the dimensionality of the input noise" in the essay. I am wondering how to flexibly change the horizon of a plan after training a Diffuser with horizon of a fixed number such as 256?

About results in Table 2

Hi,
One more question, just to make sure,the results in Table 2 are obtained by timing score with 100, is that right?

image

image

Mismatch between paper and code when sampling?

Great work and thank you for sharing the code.

I have a question about a possible mismatch in guided sampling between the paper and the code.

In the paper, Algorithm 1: (1) you first compute the reverse transition, (2) afterwards add the gradient of the return, and (3) finally sample.

In the code it appears that operations (1) and (2) are switched, here, is this intended?

Thanks!

GCC Error

When I try the following command——
python scripts/train.py --dataset halfcheetah-medium-expert-v2

There is an error occurring——
gcc: error: unrecognized command line option ‘-R’
Traceback (most recent call last):
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/unixccompiler.py", line 204, in link
self.spawn(linker + ld_args)
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py", line 910, in spawn
spawn(cmd, dry_run=self.dry_run, **kwargs)
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/spawn.py", line 87, in spawn
raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/gcc' failed with exit code 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "scripts/train.py", line 1, in <module>
import diffuser.utils as utils
File "/home/charlie/PycharmProjects/diffuser/diffuser/utils/__init__.py", line 6, in <module>
from .rendering import *
File "/home/charlie/PycharmProjects/diffuser/diffuser/utils/rendering.py", line 8, in <module>
import mujoco_py as mjc
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/mujoco_py/__init__.py", line 3, in <module>
from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/mujoco_py/builder.py", line 510, in <module>
cymj = load_cython_ext(mujoco_path)
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/mujoco_py/builder.py", line 105, in load_cython_ext
cext_so_path = builder.build()
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/mujoco_py/builder.py", line 221, in build
built_so_file_path = self._build_impl()
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/mujoco_py/builder.py", line 291, in _build_impl
so_file_path = super()._build_impl()
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/mujoco_py/builder.py", line 244, in _build_impl
dist.run_commands()
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
self.run_command(cmd)
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 341, in run
self.build_extensions()
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/mujoco_py/builder.py", line 144, in build_extensions
build_ext.build_extensions(self)
File "/home/charlie/anaconda3/envs/diffuser/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 450, in build_extensions
self._build_extensions_serial()
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 475, in _build_extensions_serial
self.build_extension(ext)
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 552, in build_extension
self.compiler.link_shared_object(
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py", line 713, in link_shared_object
self.link(CCompiler.SHARED_OBJECT, objects,
File "/home/charlie/.local/lib/python3.8/site-packages/setuptools/_distutils/unixccompiler.py", line 206, in link
raise LinkError(msg)
distutils.errors.LinkError: command '/usr/bin/gcc' failed with exit code 1

This seems to be an error about GCC.
Could you tell me the versions of gcc and g++ you used or Do you have other better solutions?

Thanks for any help!

The question about "from tap import Tap"

In the diffuser-main/diffuser/utils/setup.py, "from tap import Tap", but there is no "Tap" in tap 0.2, only "TAP". And there is no parse_args in TAP. ("args = super().parse_args(known_only=True)")

Rendering problem with Maze2d environments

It is a wonderful work to reproduce! However, when I try Maze2d environments, sampling pictures in 'logs' directory are always in a flat view that I can't see the real situation of the maze, while other environments seem normal. How can I fix it?

Clarification on observation dimension

When I debug code to get dataset for maze2d:

dataset = SequenceDataset()
batch = batchify(dataset[0])

Goal state in first sample of maze2d dataset =
tensor([[ 0.3114, 0.6512, 0.0737, -0.8078]], device='cuda:0')

Can you please clarify why the state is not just 2 dimensional (x, y), why is it 4 dimensional?

Thanks

Clarification Required for the Use of "if not is_last:" Condition

https://github.com/jannerm/diffuser/blob/7ea422860cc0106e5ca5949d980f04b799d5462c/diffuser/models/temporal.py#L89C4-L89C4

Dear Maintainers,

I was examining the line of code at this location: Link and came across the conditional statement if not is_last:. Given that each block halves the horizon, I'm wondering if this if statement is necessary.

When I attempted to integrate the code with maze2d, it appeared that the code runs only upon removal of this line. Could you provide some insight into its function and why it might be necessary in the current implementation?

I appreciate your guidance on this issue. Thank you.

Best Regards.

Detail of maze2d experiment

I reproduced the results of the original paper on locomotion, but encountered some difficulties on maze2d. I would like to ask:

  1. Is the score given in the original paper normalized?
  2. The diffuser step given in the appendix only mentions locomotion and block-stacking, is maze2d also 100?
  3. The paper says to use start and goal locations, is the goal location obtained through the environment’s get_target and reset_to_location? Is the start location referring to the current observation of the agent? Is the goal location placed at horizon - 1? After setting it up this way, the result I reproduced only got a non-normalized score of 87.

Missing Kuka robot envs?

Hi,

Thanks for sharing your code and the implementation details. I was trying to reproduce the stacking experiments but I wasn't able to find the exact training scripts or code for this. I'm terribly sorry if I missed this in the repo. Would it be possible to release this env/code for these experiments. Many thanks in advance.

I use the gym 0.19.0 nut it has wrongs whch says "No registered env with id: halfcheetah-medium-expert-v2"

Traceback (most recent call last):
File "scripts/plan_guided.py", line 26, in
diffusion_experiment = utils.load_diffusion(
File "/home/leon/leon_ws/diffuser-main/diffuser/utils/serialization.py", line 47, in load_diffusion
dataset = dataset_config(seed=seed)
File "/home/leon/leon_ws/diffuser-main/diffuser/utils/config.py", line 65, in call
instance = self._class(*args, **kwargs, **self._dict)
File "/home/leon/leon_ws/diffuser-main/diffuser/datasets/sequence.py", line 22, in init
self.env = env = load_environment(env)
File "/home/leon/leon_ws/diffuser-main/diffuser/datasets/d4rl.py", line 36, in load_environment
wrapped_env = gym.make(name)
File "/home/leon/leon_ws/diffuser-main/gym/gym/envs/registration.py", line 145, in make
return registry.make(id, **kwargs)
File "/home/leon/leon_ws/diffuser-main/gym/gym/envs/registration.py", line 89, in make
spec = self.spec(path)
File "/home/leon/leon_ws/diffuser-main/gym/gym/envs/registration.py", line 131, in spec
raise error.UnregisteredEnv('No registered env with id: {}'.format(id))
gym.error.UnregisteredEnv: No registered env with id: halfcheetah-medium-expert-v2

OSError: [Errno 32] Broken pipe occured in running plan_guided.py

When I run the command
'python scripts/plan_guided.py --dataset halfcheetah-medium-expert-v2 --logbase logs/pretrained'
there is a BrokenPipeError.

Traceback (most recent call last):
File "~/anaconda3/envs/diffuser/lib/python3.8/site-packages/skvideo/io/abstract.py", line 518, in writeFrame
self._proc.stdin.write(vid.tostring())
BrokenPipeError: [Errno 32] Broken pipe

Can anybody tell me how to fix that problem?

Can't run the code

Hi, great work! However, I have a problem running it. I hope you can give me some suggestions.
When I ran the command python scripts/plan_maze2d.py --config config.maze2d --dataset maze2d-large-v1, it says I don't have module tap. So I install tap==0.2 and mc-bin-client==1.0.1. But it seems just support Python 2, so there are many errors.

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.