VIBE is running, but it only uses the CPU (not the GPU) and then crashes as it runs out of memory (64GB..)
richardmking opened this issue · comments
Hello,
I have followed your instruction for installing the VIBE code for a windows PC, and got it to run ...
But, it only gets as far a starting the multi person tracking section using the CPU, not the GPU
then it starts to consume the RAM memory until it uses it all up then crashes
Can you give me any clue as to what I have done wrong?
Thanks 👍 Eichard
Configuration of my PC
Windows 10
CPU = i7 with 64GB of RAM
GPU 0 = Intel UHD Graphics 750
GPU 1 = NVIDIA GeForce RTX 3060 Ti
LOG from Command Prompt:
This is triggered when the CPU runs out of the 64GB of memory, (then it dies a horrible death!)
NOTE: I put in 1 debug print statement to check what the variable device was set to, it is cuda NOT cpu...
(venv_vibe) D:\MOCAP\VIBE>python demo_alter.py --vid_file sample_video.mp4 --output_folder output/ --display
RMK DEBUG demo_alter.py device = cuda
Running "ffmpeg -i sample_video.mp4 -f image2 -v error /tmp\sample_video_mp4/%06d.png"
Images saved to "/tmp\sample_video_mp4"
Input video number of frames 300
Running Multi-Person-Tracker
1%|▊ | 1/100 [10:13<16:52:29, 613.64s/it]Traceback (most recent call last):
File "demo_alter.py", line 408, in
main(args)
File "demo_alter.py", line 96, in main
tracking_results = mot(image_folder)
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\multi_person_tracker\mpt.py", line 284, in call
trackers = self.run_tracker(dataloader)
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\torch\autograd\grad_mode.py", line 49, in decorate_no_grad
return func(*args, **kwargs)
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\multi_person_tracker\mpt.py", line 78, in run_tracker
predictions = self.detector(batch)
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\torch\autograd\grad_mode.py", line 49, in decorate_no_grad
return func(*args, **kwargs)
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\yolov3\yolo.py", line 70, in call
detections = non_max_suppression(detections, self.conf_thres, self.nms_thres)
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\yolov3\utils\utils.py", line 260, in non_max_suppression
detections = detections[~invalid]
RuntimeError: [enforce fail at ..\c10\core\CPUAllocator.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 51016 bytes. Buy new RAM!
Exception ignored in: <function tqdm.del at 0x0000020942B6D708>
Traceback (most recent call last):
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\tqdm_tqdm.py", line 931, in del
self.close()
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\tqdm_tqdm.py", line 1133, in close
self._decr_instances(self)
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\tqdm_tqdm.py", line 496, in _decr_instances
cls.monitor.exit()
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\site-packages\tqdm_monitor.py", line 52, in exit
self.join()
File "C:\Users\richa\anaconda3\envs\venv_vibe\lib\threading.py", line 1041, in join
raise RuntimeError("cannot join current thread")
RuntimeError: cannot join current thread
Sorry, but I think I wont be able to help you with this issue.
I dont use Vibe for more than 6 months and I didnt have that kind of issue.
I guess the best woulf be to contact the official github from the project, on
https://github.com/mkocabas/VIBE/issues
To be completely honest, I think none of them are good enough (at least for me 😃)
I tried Frankmocap, VIBE, Mediapipe and Easymocap.
From all of them, what I thought worked best was Easymocap.
But.... It the most complex to setup the cameras.
The instalation is fairly easy, but you must calibrate all the cameras (you must have at least 2 cameras) and calibrate the scene that you are going to use to capture movements.
Well. Its complicated, but in 7 months ago I did a sequence of 3 tutorials of how you could setup everything to make easymocap works.
I must say, they are not easy videos to watch, as I did them in a hurry and did not edit them.
They are 2 videos of almost 1h and a third video with a tip to calibrate the scene.
If you have some days left to try, you could see the tutorial eand get all the information that I've collected in this playlist
https://youtube.com/playlist?list=PLYzax7LPWaADMqDjc9rnAOC3tsd35zZGL
and on my patreon site, with the tag Easymocap
https://www.patreon.com/cebstudios?filters[tag]=easymocap
Hope it helps you...
A spoiler. I started working with deeplearning inseide blender. At the moment I'm working with facemocap (its easier) and them I plan to work on my pose estimatino tool, to make it workable completely inside blender, but that may take some years to finish. I have to finish first the facemocap one.
Good luck
I think you are taking the best decision.
Because you spend too much time with solutions that wont work perfectly.
If you want to know about the development I'm doing, I'm constantly posting about it on twitter and youtube.
My twitter
https://twitter.com/carlosedubarret
Youtube
https://www.youtube.com/c/CEBStudios