xbpeng / DeepMimic

Motion imitation with deep reinforcement learning.
https://xbpeng.github.io/projects/DeepMimic/index.html
MIT License
2.31k stars 488 forks source link

DeepMimic.py creates a window which is soon disappears #78

Open vkozin97 opened 5 years ago

vkozin97 commented 5 years ago

After I run python DeepMimic.py --arg_file args/run_humanoid3d_spinkick_args.txt, it first prints this warning messages: C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorflow\python\framework\dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint8 = np.dtype([("qint8", np.int8, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorflow\python\framework\dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint8 = np.dtype([("quint8", np.uint8, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorflow\python\framework\dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint16 = np.dtype([("qint16", np.int16, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorflow\python\framework\dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint16 = np.dtype([("quint16", np.uint16, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorflow\python\framework\dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint32 = np.dtype([("qint32", np.int32, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorflow\python\framework\dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. np_resource = np.dtype([("resource", np.ubyte, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint8 = np.dtype([("qint8", np.int8, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint8 = np.dtype([("quint8", np.uint8, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint16 = np.dtype([("qint16", np.int16, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_quint16 = np.dtype([("quint16", np.uint16, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. _np_qint32 = np.dtype([("qint32", np.int32, 1)]) C:\Users\KozinV\Anaconda3\envs\DeepMimicEnv\lib\site-packages\tensorboard\compat\tensorflow_stub\dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'. np_resource = np.dtype([("resource", np.ubyte, 1)]) WARNING: Logging before flag parsing goes to stderr. W0821 16:30:38.340782 5840 lazy_loader.py:50] The TensorFlow contrib module will not be included in TensorFlow 2.0. For more information, please see: * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md * https://github.com/tensorflow/addons * https://github.com/tensorflow/io (for I/O related ops) If you depend on functionality not listed there, please file an issue. Renderer: Intel(R) UHD Graphics 630 OpenGL version supported 3.2.0 - Build 26.20.100.6911 Compiling shader: data/shaders/Mesh_VS.glsl Compiling shader: data/shaders/VertColor_PS.glsl Compiling shader: data/shaders/FullScreenQuad_VS.glsl Compiling shader: data/shaders/DownSample_PS.glsl Compiling shader: data/shaders/Mesh_VS.glsl Compiling shader: data/shaders/DownSample_PS.glsl

then it opens the window for half a second image

, immediately closes the window and finally finishes running without any errors. I expected that this window will not disappear and will show me a spinkicking humanoid.

My system is Windows 10, I built Bullet 2.87 and DeepMimicCore with VS2017 using NuGet packages "nupengl.core.0.1.0.1" and "glew.1.9.0.1".

Would be wonderful to know what is this problem about.

FeisEater commented 5 years ago

I had the exact issue. After digging into it I isolated the problem and found that attempting to instantiate variable of type cRenderState would crash the program. Issue was that glGenVertexArrays function was not correctly initialised, so it was a null pointer. After googling around, I found that adding the line 'glewExperimental = GL_TRUE;' before glewInit() solves this problem, but not sure with what consequences. Anyway, in DrawUtil.cpp, my cDrawUtil::InitDrawUtil() function looks like this:

void cDrawUtil::InitDrawUtil()
{
    glewExperimental = GL_TRUE;   //New line
    glewInit();

    const GLubyte* renderer = glGetString(GL_RENDERER); // get renderer string
    const GLubyte* version = glGetString(GL_VERSION); // version as a string
    printf("Renderer: %s\n", renderer);
    printf("OpenGL version supported %s\n", version);
        ....

and it works for me now.

whisperzh commented 4 years ago

I also have that problem.... And i found the console window went wrong around this "_DeepMimicCore.cDeepMimicCore_Reshape(self, w, h)", which is located in the deepmimiccore.py. And i'm just a beginner and have no idea what went wrong. Does any body can help me :)

1311894932 commented 1 year ago

I had the exact issue. After digging into it I isolated the problem and found that attempting to instantiate variable of type cRenderState would crash the program. Issue was that glGenVertexArrays function was not correctly initialised, so it was a null pointer. After googling around, I found that adding the line 'glewExperimental = GL_TRUE;' before glewInit() solves this problem, but not sure with what consequences. Anyway, in DrawUtil.cpp, my cDrawUtil::InitDrawUtil() function looks like this:

void cDrawUtil::InitDrawUtil()
{
  glewExperimental = GL_TRUE;   //New line
  glewInit();

  const GLubyte* renderer = glGetString(GL_RENDERER); // get renderer string
  const GLubyte* version = glGetString(GL_VERSION); // version as a string
  printf("Renderer: %s\n", renderer);
  printf("OpenGL version supported %s\n", version);
        ....

and it works for me now.

thank u sooooooooooooooooooooo much !!!!

TheNewRobot commented 7 months ago

I had the exact issue. After digging into it I isolated the problem and found that attempting to instantiate variable of type cRenderState would crash the program. Issue was that glGenVertexArrays function was not correctly initialised, so it was a null pointer. After googling around, I found that adding the line 'glewExperimental = GL_TRUE;' before glewInit() solves this problem, but not sure with what consequences. Anyway, in DrawUtil.cpp, my cDrawUtil::InitDrawUtil() function looks like this:

void cDrawUtil::InitDrawUtil()
{
  glewExperimental = GL_TRUE;   //New line
  glewInit();

  const GLubyte* renderer = glGetString(GL_RENDERER); // get renderer string
  const GLubyte* version = glGetString(GL_VERSION); // version as a string
  printf("Renderer: %s\n", renderer);
  printf("OpenGL version supported %s\n", version);
        ....

and it works for me now.

This worked for me too. I am running this in Ubuntu 20.04.6 in a Docker. I was about to quit. Thanks