real-stanford / cloth-funnels Goto Github PK
View Code? Open in Web Editor NEW[ICRA 2023] This repository contains code for training and evaluating Cloth Funnels in simulation for Ubuntu 18.04.
[ICRA 2023] This repository contains code for training and evaluating Cloth Funnels in simulation for Ubuntu 18.04.
Can you re-upload the code? Thank you very much
I tried to run the Demo Cloth Funnels. But the program is trapped into the cycle.
The 587 line of the cloth_funnels/tasks/generate_task.py
if self.curr_task_idx >= len(self.keys):
print('[TaskLoader] Out of tasks')
# sleep(20)
# exit(0)
while True:
sleep(5)
The terminal has no new output.
blender 2.79
I am on Ubuntu 22.04 NVIDIA 3090 System and have successfully compile PyFlex in the past multiple times. When running compile.sh I get the following error:
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda (found suitable version "9.2", minimum required is "9.0")
-- Found PythonInterp: /home/sashank/miniconda3/envs/cloth-funnels/bin/python (found suitable version "3.9.6", minimum required is "3.9")
-- Found PythonLibs: /home/sashank/miniconda3/envs/cloth-funnels/lib/libpython3.9.so
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Found pybind11: /home/sashank/miniconda3/envs/cloth-funnels/include (found version "2.7.1" )
-- Configuring done
-- Generating done
-- Build files have been written to: /workspace/cloth-funnels/PyFlex/bindings/build
[ 5%] Building CXX object CMakeFiles/pyflex.dir/pyflex.cpp.o
[ 10%] Building CXX object CMakeFiles/pyflex.dir/shadersDemoContext.cpp.o
[ 15%] Building CXX object CMakeFiles/pyflex.dir/imgui.cpp.o
[ 21%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/aabbtree.cpp.o
[ 36%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/maths.cpp.o
[ 36%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/extrude.cpp.o
[ 36%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/core.cpp.o
[ 42%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/mesh.cpp.o
make[2]: *** No rule to make target '/workspace/cloth-funnels/PyFlex/lib/linux64/NvFlexExtReleaseCUDA_x64.a', needed by 'pyflex.cpython-39-x86_64-linux-gnu.so'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 47%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/perlin.cpp.o
[ 52%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/pfm.cpp.o
[ 57%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/platform.cpp.o
[ 63%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/png.cpp.o
[ 68%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/sdf.cpp.o
[ 73%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/tga.cpp.o
[ 78%] Building CXX object CMakeFiles/pyflex.dir/workspace/cloth-funnels/PyFlex/core/voxelize.cpp.o
[ 84%] Building CXX object CMakeFiles/pyflex.dir/opengl/imguiRenderGL.cpp.o
[ 94%] Building CXX object CMakeFiles/pyflex.dir/opengl/shader.cpp.o
[ 94%] Building CXX object CMakeFiles/pyflex.dir/opengl/shadersGL.cpp.o
In file included from /workspace/cloth-funnels/PyFlex/bindings/opengl/imguiRenderGL.cpp:38:0:
/workspace/cloth-funnels/PyFlex/bindings/opengl/../stb_truetype.h:422:33: warning: multi-line comment [-Wcomment]
#ifndef stbtt_vertex // you can predefine this to use different values \
^
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp: In function 'GLuint LoadTexture(const char*)':
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp:217:10: warning: converting to non-pointer type 'GLuint {aka unsigned int}' from NULL [-Wconversion-null]
return NULL;
^~~~
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp: In function 'void InitRenderHeadless(const RenderInitOptions&, int, int)':
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp:3408:25: warning: invalid conversion from 'EGLConfig {aka void*}' to 'void**' [-fpermissive]
g_eglConfig = configs[0];
~~~~~~~~~^
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp:3411:33: warning: invalid conversion from 'EGLContext {aka void*}' to 'void**' [-fpermissive]
g_eglContext = eglCreateContext(
~~~~~~~~~~~~~~~~^
g_eglDisplay,
~~~~~~~~~~~~~
g_eglConfig,
~~~~~~~~~~~~
EGL_NO_CONTEXT,
~~~~~~~~~~~~~~~
NULL);
~~~~~
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp:3419:40: warning: invalid conversion from 'EGLSurface {aka void*}' to 'void**' [-fpermissive]
g_eglSurface = eglCreatePbufferSurface(g_eglDisplay, g_eglConfig,
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
eglPBAttribs);
~~~~~~~~~~~~~
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp: At global scope:
/workspace/cloth-funnels/PyFlex/bindings/opengl/shadersGL.cpp:253:14: warning: '{anonymous}::g_eglDisplay' defined but not used [-Wunused-variable]
EGLDisplay *g_eglDisplay;
^~~~~~~~~~~~
In file included from /workspace/cloth-funnels/PyFlex/bindings/pyflex.cpp:1:0:
/workspace/cloth-funnels/PyFlex/bindings/main.cpp: In function 'int GetKeyFromGameControllerButton(SDL_GameControllerButton)':
/workspace/cloth-funnels/PyFlex/bindings/main.cpp:97:5: warning: case value '17' not in enumerated type 'SDL_GameControllerButton' [-Wswitch]
case SDL_CONTROLLER_BUTTON_RIGHT_TRIGGER:
^~~~
In file included from /workspace/cloth-funnels/PyFlex/bindings/scenes.h:30:0,
from /workspace/cloth-funnels/PyFlex/bindings/main.cpp:608,
from /workspace/cloth-funnels/PyFlex/bindings/pyflex.cpp:1:
/workspace/cloth-funnels/PyFlex/bindings/softgym_scenes/softgym_cloth.h: In member function 'virtual void SoftgymCloth::Initialize(pybind11::dict)':
/workspace/cloth-funnels/PyFlex/bindings/softgym_scenes/softgym_cloth.h:95:17: warning: unused variable 'size' [-Wunused-variable]
int size = g_buffers->triangles.size();
^~~~
/workspace/cloth-funnels/PyFlex/bindings/pyflex.cpp: In function 'std::tuple<pybind11::array_t<unsigned char, 16>, pybind11::array_t<float, 16>, pybind11::array_t<float, 16> > pyflex_render(bool)':
/workspace/cloth-funnels/PyFlex/bindings/pyflex.cpp:980:9: warning: unused variable 'newScene' [-Wunused-variable]
int newScene = DoUI();
^~~~~~~~
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/pyflex.dir/all' failed
make[1]: *** [CMakeFiles/pyflex.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
This is inside the docker container you guys provided. I think the relevant line to look at is:
make[2]: *** No rule to make target '/workspace/cloth-funnels/PyFlex/lib/linux64/NvFlexExtReleaseCUDA_x64.a', needed by 'pyflex.cpython-39-x86_64-linux-gnu.so'. Stop.
Seems like I am missing a makefile. Any idea how to fix this?
Thanks
I installed the basic environment according to the tutorial in the code and successfully installed it. However, during the evaluation process, I encountered the following error. My system is ubuntu18.04, with a graphics card of 2070-8GB.
(cloth-funnels) zcs@zcs:~/work/github/cloth-funnels$ python cloth_funnels/run_sim.py name="longsleeve-eval" load=../models/longsleeve_canonicalized_alignment.pth eval_tasks=../assets/tasks/multi-longsleeve-eval.hdf5 eval=True num_processes=1 episode_length=10 wandb=disabled fold_finish=True dump_visualizations=True
2023-08-16 16:08:33,304 ERROR services.py:1169 -- Failed to start the dashboard , return code 1
2023-08-16 16:08:33,304 ERROR services.py:1194 -- Error should be written to 'dashboard.log' or 'dashboard.err'. We are printing the last 20 lines for you. See 'https://docs.ray.io/en/master/ray-observability/ray-logging.html#logging-directory-structure' to find where the log file is.
2023-08-16 16:08:33,304 ERROR services.py:1238 --
The last 20 lines of /tmp/ray/session_2023-08-16_16-08-31_639412_8491/logs/dashboard.log (it contains the error message from the dashboard):
from opencensus.common.transports import sync
File "/home/zcs/miniconda3/envs/cloth-funnels/lib/python3.9/site-packages/opencensus/common/transports/sync.py", line 16, in
from opencensus.trace import execution_context
File "/home/zcs/miniconda3/envs/cloth-funnels/lib/python3.9/site-packages/opencensus/trace/init.py", line 15, in
from opencensus.trace.span import Span
File "/home/zcs/miniconda3/envs/cloth-funnels/lib/python3.9/site-packages/opencensus/trace/span.py", line 32, in
from opencensus.trace import status as status_module
File "/home/zcs/miniconda3/envs/cloth-funnels/lib/python3.9/site-packages/opencensus/trace/status.py", line 15, in
from google.rpc import code_pb2
File "/home/zcs/miniconda3/envs/cloth-funnels/lib/python3.9/site-packages/google/rpc/code_pb2.py", line 47, in
_descriptor.EnumValueDescriptor(
File "/home/zcs/miniconda3/envs/cloth-funnels/lib/python3.9/site-packages/google/protobuf/descriptor.py", line 796, in new
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
2023-08-16 16:08:33,363 INFO worker.py:1553 -- Started a local Ray instance.
SEEDING WITH 0
[Network] Initializing with inputs: rgb_pos
[Network] Initializing factorized network
[Network] Giving deformable network positional encoding
(raylet) [2023-08-16 16:08:34,138 E 8788 8900] (raylet) agent_manager.cc:135: The raylet exited immediately because the Ray agent failed. The raylet fate shares with the agent. This can happen because the Ray agent was unexpectedly killed or failed. Agent can fail when
(raylet) - The version of grpcio
doesn't follow Ray's requirement. Agent can segfault with the incorrect grpcio
version. Check the grpcio version pip freeze | grep grpcio
.
(raylet) - The agent failed to start because of unexpected error or port conflict. Read the log cat /tmp/ray/session_latest/dashboard_agent.log
. You can find the log file structure here https://docs.ray.io/en/master/ray-observability/ray-logging.html#logging-directory-structure.
(raylet) - The agent is killed by the OS (e.g., out of memory).
[Network Setup] Load checkpoint specified ../models/longsleeve_canonicalized_alignment.pth
[Network Setup] Action Exploration Probability: 1.0141e-03
[Network Setup] Value Exploration Probability: 1.0284e-06
[Network Setup] Train Steps: 6216
Replay Buffer path: ../experiments/08-16-1608-longsleeve-eval/replay_buffer.hdf5
Error executing job with overrides: ['name=longsleeve-eval', 'load=../models/longsleeve_canonicalized_alignment.pth', 'eval_tasks=../assets/tasks/multi-longsleeve-eval.hdf5', 'eval=True', 'num_processes=1', 'episode_length=10', 'wandb=disabled', 'fold_finish=True', 'dump_visualizations=True']
Traceback (most recent call last):
File "/home/zcs/work/github/cloth-funnels/cloth_funnels/run_sim.py", line 114, in main
envs, _ = setup_envs(dataset=dataset_path, **args)
File "/home/zcs/work/github/cloth-funnels/cloth_funnels/utils/utils.py", line 133, in setup_envs
print("CUDA_VISIBLE_DEVICES: {}".format(os.environ["CUDA_VISIBLE_DEVICES"]))
File "/home/zcs/miniconda3/envs/cloth-funnels/lib/python3.9/os.py", line 679, in getitem
raise KeyError(key) from None
KeyError: 'CUDA_VISIBLE_DEVICES'
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
When I try to run python cloth_funnels/run_sim.py name="longsleeve" num_processes=24
. I get the error:
ray.exceptions.RayActorError: The actor died unexpectedly before finishing this task.
class_name: SimEnv
actor_id: 92832f4a73a9e1dea574841101000000
pid: 15656
namespace: 42bf155c-21d1-4c3d-9d92-f4b8a243172e
ip: 192.168.0.109
uname -a
resultLinux julyfun-Lenovo-XiaoXinAir-14IIL-2020 5.19.0-46-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 21 15:35:31 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
nvidia MX-350, cuda version 12.2 (I was building pyflex in docker so it shouldn't matter)
In #5, I modified the Dockerfile FROM
command into nvidia/cuda:11.1.1-devel-ubuntu18.04
and ran . ./prepare.sh && ./compile.sh
successfully. But when I was trying to run the demo(python ...
command in README), it failed with:
Traceback (most recent call last):
File "/home/julyfun/Documents/GitHub/julyfun/cloth-funnels-test/cloth_funnels/run_sim.py", line 1, in <module>
from cloth_funnels.utils.utils import (
File "/home/julyfun/Documents/GitHub/julyfun/cloth-funnels-test/cloth_funnels/utils/utils.py", line 3, in <module>
from cloth_funnels.environment import SimEnv
File "/home/julyfun/Documents/GitHub/julyfun/cloth-funnels-test/cloth_funnels/environment/__init__.py", line 1, in <module>
from .simEnv import SimEnv
File "/home/julyfun/Documents/GitHub/julyfun/cloth-funnels-test/cloth_funnels/environment/simEnv.py", line 9, in <module>
from cloth_funnels.utils.env_utils import (
File "/home/julyfun/Documents/GitHub/julyfun/cloth-funnels-test/cloth_funnels/utils/env_utils.py", line 8, in <module>
import pyflex
ImportError: /home/julyfun/Documents/GitHub/julyfun/cloth-funnels-test/cloth_funnels/PyFlex/bindings/build/pyflex.cpython-39-x86_64-linux-gnu.so: undefined symbol: cudaSetupArgument
That could be because cudaSetupArgument
is deprecated since a newer version than cuda9.2.
Can you tell me what versions of cuda, torch and torchvision you are using? Thanks
uname -a
resultLinux julyfun-Lenovo-XiaoXinAir-14IIL-2020 5.19.0-46-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 21 15:35:31 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
nvidia MX-350, cuda version 12.2 (I was building pyflex in docker so it shouldn't matter)
Running docker build -t cloth-funnels .
following README.md.
=> ERROR [internal] load metadata for docker.io/nvidia/cuda:9.2-devel-ubuntu18.04 2.4s
------
> [internal] load metadata for docker.io/nvidia/cuda:9.2-devel-ubuntu18.04:
------
Dockerfile:3
--------------------
1 | # The docker file is built follwing heavily the instructions here:
2 | # https://medium.com/@benjamin.botto/opengl-and-cuda-applications-in-docker-af0eece000f1
3 | >>> FROM nvidia/cuda:9.2-devel-ubuntu18.04
4 |
5 | # Dependencies for glvnd and X11.
--------------------
ERROR: failed to solve: nvidia/cuda:9.2-devel-ubuntu18.04: docker.io/nvidia/cuda:9.2-devel-ubuntu18.04: not found
Today is 9/18/23 and it seems nvidia/cuda:9.2
is no longer provided by Nvidia official on Dockerhub ๐ญ.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.