Open phil-zd opened 4 years ago
How about trying a smaller queue size by add a flag "--qsize 128"? Maybe your RAM is fully occupied
The default queue size is 1024
Thank you. I have adjusted Qsize to 512 and posebatch to 30. I will try to adjust qsize to 128. I don't understand how adjusting the 'detbatch','posebatch', and'qsize' values will affect the processing.
After I adjusted Qsize to 128, the processing speed became slower, and the computer still crashed. Do I need to adjust the value of 'detbatch','posebatch'?
Could you run again with setting --sp
flag and see what will happen?
Could you run again with setting
--sp
flag and see what will happen?
Sorry, it didn't work. The computer froze after the program ran for 1 minute. And my two computers are in the same situation. Freeze screen display RAM: 4812mib/7949mib, GPU61%, I use ubuntu system.
Could you describe the software and hareware environment? What's the version of python3? Do you use amd or intel cpu?
Thank you . I use amd and GeForce RTX 2070. Python 3.7
The following is the conda display result:
#
_ipyw_jlab_nb_ext_conf 0.1.0 py37_0 defaults alabaster 0.7.11 py37_0 defaults anaconda 5.3.1 py37_0 defaults anaconda-client 1.7.2 py37_0 defaults anaconda-navigator 1.9.2 py37_0 defaults anaconda-project 0.8.2 py37_0 defaults appdirs 1.4.3 py37h28b3542_0 defaults asn1crypto 0.24.0 py37_0 defaults astroid 2.0.4 py37_0 defaults astropy 3.0.4 py37h14c3975_0 defaults atomicwrites 1.2.1 py37_0 defaults attrs 18.2.0 py37h28b3542_0 defaults automat 0.7.0 py37_0 defaults babel 2.6.0 py37_0 defaults backcall 0.1.0 py37_0 defaults backports 1.0 py37_1 defaults backports.shutil_get_terminal_size 1.0.0 py37_2 defaults beautifulsoup4 4.6.3 py37_0 defaults bitarray 0.8.3 py37h14c3975_0 defaults bkcharts 0.2 py37_0 defaults blas 1.0 mkl defaults blaze 0.11.3 py37_0 defaults bleach 2.1.4 py37_0 defaults blosc 1.14.4 hdbcaa40_0 defaults bokeh 0.13.0 py37_0 defaults boto 2.49.0 py37_0 defaults bottleneck 1.2.1 py37h035aef0_1 defaults bzip2 1.0.6 h14c3975_5 defaults ca-certificates 2018.03.07 0 defaults cairo 1.14.12 h8948797_3 defaults certifi 2018.8.24 py37_1 defaults cffi 1.11.5 py37he75722e_1 defaults chardet 3.0.4 py37_1 defaults click 6.7 py37_0 defaults cloudpickle 0.5.5 py37_0 defaults clyent 1.2.2 py37_1 defaults colorama 0.3.9 py37_0 defaults conda 4.5.11 py37_0 defaults conda-build 3.15.1 py37_0 defaults conda-env 2.6.0 1 defaults constantly 15.1.0 py37h28b3542_0 defaults contextlib2 0.5.5 py37_0 defaults cryptography 2.3.1 py37hc365091_0 defaults curl 7.61.0 h84994c4_0 defaults cycler 0.10.0 py37_0 defaults cython 0.28.5 py37hf484d3e_0 defaults cytoolz 0.9.0.1 py37h14c3975_1 defaults dask 0.19.1 py37_0 defaults dask-core 0.19.1 py37_0 defaults datashape 0.5.4 py37_1 defaults dbus 1.13.2 h714fa37_1 defaults decorator 4.3.0 py37_0 defaults defusedxml 0.5.0 py37_1 defaults distributed 1.23.1 py37_0 defaults docutils 0.14 py37_0 defaults entrypoints 0.2.3 py37_2 defaults et_xmlfile 1.0.1 py37_0 defaults expat 2.2.6 he6710b0_0 defaults fastcache 1.0.2 py37h14c3975_2 defaults filelock 3.0.8 py37_0 defaults flask 1.0.2 py37_1 defaults flask-cors 3.0.6 py37_0 defaults fontconfig 2.13.0 h9420a91_0 defaults freetype 2.9.1 h8a8886c_1 defaults fribidi 1.0.5 h7b6447c_0 defaults get_terminal_size 1.0.0 haa9412d_0 defaults gevent 1.3.6 py37h7b6447c_0 defaults glib 2.56.2 hd408876_0 defaults glob2 0.6 py37_0 defaults gmp 6.1.2 h6c8ec71_1 defaults gmpy2 2.0.8 py37h10f8cd9_2 defaults graphite2 1.3.12 h23475e2_2 defaults greenlet 0.4.15 py37h7b6447c_0 defaults gst-plugins-base 1.14.0 hbbd80ab_1 defaults gstreamer 1.14.0 hb453b48_1 defaults h5py 2.8.0 py37h989c5e5_3 defaults harfbuzz 1.8.8 hffaf4a1_0 defaults hdf5 1.10.2 hba1933b_1 defaults heapdict 1.0.0 py37_2 defaults html5lib 1.0.1 py37_0 defaults hyperlink 18.0.0 py37_0 defaults icu 58.2 h9c2bf20_1 defaults idna 2.7 py37_0 defaults imageio 2.4.1 py37_0 defaults imagesize 1.1.0 py37_0 defaults incremental 17.5.0 py37_0 defaults intel-openmp 2019.0 118 defaults ipykernel 4.9.0 py37_1 defaults ipython 6.5.0 py37_0 defaults ipython_genutils 0.2.0 py37_0 defaults ipywidgets 7.4.1 py37_0 defaults isort 4.3.4 py37_0 defaults itsdangerous 0.24 py37_1 defaults jbig 2.1 hdba287a_0 defaults jdcal 1.4 py37_0 defaults jedi 0.12.1 py37_0 defaults jeepney 0.3.1 py37_0 defaults jinja2 2.10 py37_0 defaults jpeg 9b h024ee3a_2 defaults jsonschema 2.6.0 py37_0 defaults jupyter 1.0.0 py37_7 defaults jupyter_client 5.2.3 py37_0 defaults jupyter_console 5.2.0 py37_1 defaults jupyter_core 4.4.0 py37_0 defaults jupyterlab 0.34.9 py37_0 defaults jupyterlab_launcher 0.13.1 py37_0 defaults keyring 13.2.1 py37_0 defaults kiwisolver 1.0.1 py37hf484d3e_0 defaults lazy-object-proxy 1.3.1 py37h14c3975_2 defaults libcurl 7.61.0 h1ad7b7a_0 defaults libedit 3.1.20170329 h6b74fdf_2 defaults libffi 3.2.1 hd88cf55_4 defaults libgcc-ng 8.2.0 hdf63c60_1 defaults libgfortran-ng 7.3.0 hdf63c60_0 defaults libpng 1.6.34 hb9fc6fc_0 defaults libsodium 1.0.16 h1bed415_0 defaults libssh2 1.8.0 h9cfc8f7_4 defaults libstdcxx-ng 8.2.0 hdf63c60_1 defaults libtiff 4.0.9 he85c1e1_2 defaults libtool 2.4.6 h544aabb_3 defaults libuuid 1.0.3 h1bed415_2 defaults libxcb 1.13 h1bed415_1 defaults libxml2 2.9.8 h26e45fe_1 defaults libxslt 1.1.32 h1312cb7_0 defaults llvmlite 0.24.0 py37hdbcaa40_0 defaults locket 0.2.0 py37_1 defaults lxml 4.2.5 py37hefd8a0e_0 defaults lzo 2.10 h49e0be7_2 defaults markupsafe 1.0 py37h14c3975_1 defaults matplotlib 2.2.3 py37hb69df0a_0 defaults mccabe 0.6.1 py37_1 defaults mistune 0.8.3 py37h14c3975_1 defaults mkl 2019.0 118 defaults mkl-service 1.1.2 py37h90e4bf4_5 defaults mkl_fft 1.0.4 py37h4414c95_1 defaults mkl_random 1.0.1 py37h4414c95_1 defaults more-itertools 4.3.0 py37_0 defaults mpc 1.1.0 h10f8cd9_1 defaults mpfr 4.0.1 hdf1c602_3 defaults mpmath 1.0.0 py37_2 defaults msgpack-python 0.5.6 py37h6bb024c_1 defaults multipledispatch 0.6.0 py37_0 defaults navigator-updater 0.2.1 py37_0 defaults nbconvert 5.4.0 py37_1 defaults nbformat 4.4.0 py37_0 defaults ncurses 6.1 hf484d3e_0 defaults networkx 2.1 py37_0 defaults nltk 3.3.0 py37_0 defaults nose 1.3.7 py37_2 defaults notebook 5.6.0 py37_0 defaults numba 0.39.0 py37h04863e7_0 defaults numexpr 2.6.8 py37hd89afb7_0 defaults numpy 1.15.1 py37h1d66e8a_0 defaults numpy-base 1.15.1 py37h81de0dd_0 defaults numpydoc 0.8.0 py37_0 defaults odo 0.5.1 py37_0 defaults olefile 0.46 py37_0 defaults openpyxl 2.5.6 py37_0 defaults openssl 1.0.2p h14c3975_0 defaults packaging 17.1 py37_0 defaults pandas 0.23.4 py37h04863e7_0 defaults pandoc 1.19.2.1 hea2e7c5_1 defaults pandocfilters 1.4.2 py37_1 defaults pango 1.42.4 h049681c_0 defaults parso 0.3.1 py37_0 defaults partd 0.3.8 py37_0 defaults patchelf 0.9 hf484d3e_2 defaults path.py 11.1.0 py37_0 defaults pathlib2 2.3.2 py37_0 defaults patsy 0.5.0 py37_0 defaults pcre 8.42 h439df22_0 defaults pep8 1.7.1 py37_0 defaults pexpect 4.6.0 py37_0 defaults pickleshare 0.7.4 py37_0 defaults pillow 5.2.0 py37heded4f4_0 defaults pip 10.0.1 py37_0 defaults pixman 0.34.0 hceecf20_3 defaults pkginfo 1.4.2 py37_1 defaults pluggy 0.7.1 py37h28b3542_0 defaults ply 3.11 py37_0 defaults prometheus_client 0.3.1 py37h28b3542_0 defaults prompt_toolkit 1.0.15 py37_0 defaults psutil 5.4.7 py37h14c3975_0 defaults ptyprocess 0.6.0 py37_0 defaults py 1.6.0 py37_0 defaults pyasn1 0.4.4 py37h28b3542_0 defaults pyasn1-modules 0.2.2 py37_0 defaults pycodestyle 2.4.0 py37_0 defaults pycosat 0.6.3 py37h14c3975_0 defaults pycparser 2.18 py37_1 defaults pycrypto 2.6.1 py37h14c3975_9 defaults pycurl 7.43.0.2 py37hb7f436b_0 defaults pyflakes 2.0.0 py37_0 defaults pygments 2.2.0 py37_0 defaults pylint 2.1.1 py37_0 defaults pyodbc 4.0.24 py37he6710b0_0 defaults pyopenssl 18.0.0 py37_0 defaults pyparsing 2.2.0 py37_1 defaults pyqt 5.9.2 py37h05f1152_2 defaults pysocks 1.6.8 py37_0 defaults pytables 3.4.4 py37ha205bf6_0 defaults pytest 3.8.0 py37_0 defaults pytest-arraydiff 0.2 py37h39e3cac_0 defaults pytest-astropy 0.4.0 py37_0 defaults pytest-doctestplus 0.1.3 py37_0 defaults pytest-openfiles 0.3.0 py37_0 defaults pytest-remotedata 0.3.0 py37_0 defaults python 3.7.0 hc3d631a_0 defaults python-dateutil 2.7.3 py37_0 defaults pytz 2018.5 py37_0 defaults pywavelets 1.0.0 py37hdd07704_0 defaults pyyaml 3.13 py37h14c3975_0 defaults pyzmq 17.1.2 py37h14c3975_0 defaults qt 5.9.6 h8703b6f_2 defaults qtawesome 0.4.4 py37_0 defaults qtconsole 4.4.1 py37_0 defaults qtpy 1.5.0 py37_0 defaults readline 7.0 h7b6447c_5 defaults requests 2.19.1 py37_0 defaults rope 0.11.0 py37_0 defaults ruamel_yaml 0.15.46 py37h14c3975_0 defaults scikit-image 0.14.0 py37hf484d3e_1 defaults scikit-learn 0.19.2 py37h4989274_0 defaults scipy 1.1.0 py37hfa4b5c9_1 defaults seaborn 0.9.0 py37_0 defaults secretstorage 3.1.0 py37_0 defaults send2trash 1.5.0 py37_0 defaults service_identity 17.0.0 py37h28b3542_0 defaults setuptools 40.2.0 py37_0 defaults simplegeneric 0.8.1 py37_2 defaults singledispatch 3.4.0.3 py37_0 defaults sip 4.19.8 py37hf484d3e_0 defaults six 1.11.0 py37_1 defaults snappy 1.1.7 hbae5bb6_3 defaults snowballstemmer 1.2.1 py37_0 defaults sortedcollections 1.0.1 py37_0 defaults sortedcontainers 2.0.5 py37_0 defaults sphinx 1.7.9 py37_0 defaults sphinxcontrib 1.0 py37_1 defaults sphinxcontrib-websupport 1.1.0 py37_1 defaults spyder 3.3.1 py37_1 defaults spyder-kernels 0.2.6 py37_0 defaults sqlalchemy 1.2.11 py37h7b6447c_0 defaults sqlite 3.24.0 h84994c4_0 defaults statsmodels 0.9.0 py37h035aef0_0 defaults sympy 1.2 py37_0 defaults tblib 1.3.2 py37_0 defaults terminado 0.8.1 py37_1 defaults testpath 0.3.1 py37_0 defaults tk 8.6.8 hbc83047_0 defaults toolz 0.9.0 py37_0 defaults tornado 5.1 py37h14c3975_0 defaults tqdm 4.26.0 py37h28b3542_0 defaults traitlets 4.3.2 py37_0 defaults twisted 18.7.0 py37h14c3975_1 defaults unicodecsv 0.14.1 py37_0 defaults unixodbc 2.3.7 h14c3975_0 defaults urllib3 1.23 py37_0 defaults wcwidth 0.1.7 py37_0 defaults webencodings 0.5.1 py37_1 defaults werkzeug 0.14.1 py37_0 defaults wheel 0.31.1 py37_0 defaults widgetsnbextension 3.4.1 py37_0 defaults wrapt 1.10.11 py37h14c3975_2 defaults xlrd 1.1.0 py37_1 defaults xlsxwriter 1.1.0 py37_0 defaults xlwt 1.3.0 py37_0 defaults xz 5.2.4 h14c3975_4 defaults yaml 0.1.7 had09818_2 defaults zeromq 4.2.5 hf484d3e_1 defaults zict 0.1.3 py37_0 defaults zlib 1.2.11 ha838bed_2 defaults zope 1.0 py37_1 defaults zope.interface 4.5.0 py37h14c3975_0 defaults
python3.6 is recommended. We haven't completely adapted or tested the code to python3.7 yet. By the way, some amd ryzen series cpu seems to have a high probability of causing program crash due to internal segmentation fault on Ubuntu system with heavy cpu usage. You can try again on Windows system. May these suggestion help you. :)
Thank you very much for your suggestions, I will try.
also have the same problem. I ran the demo_inference in a docker with ubuntu 16.04, python3.6, pytorch 1.3. it got stuck here: Loading pose model from pretrained_models/fast_res50_256x192.pth... 0%| | 0/630 [00:00<?, ?it/s] Could not find encoder for codec id 27: Encoder not found Try to use other video encoders...
I tried with --sp
flag, then loading pose model went slowly but it worked and ouput the result
Although my problem is not solved, I suggest you use video data in AVI format.
Sorry that the problem is not solved. It is really weird... If disable the --save_img flag, can it work normally?
Hi, I have the same problem too. I could get results one time. but on another try I got stuck. I ran the demo_inference on ubuntu:20.04, python:3.7, pytorch:1.7.1 and I tested on different system configurations.
Same problem. RTX 2080 SUPER, 32G RAM, i7-9700 CPU
The 17-min video to be processed is 42.1 MB. All 8 CPUs are in 100% use during the process. After adjusting detbatch to 1 and posebatch to 30, it can be finished, but took ~15min.
Is it only using CPU to process the images? If yes, how can I enable GPU for it?
Same problem from here, I got the following logs:
python scripts/demo_inference.py --cfg configs/halpe_136/resnet/256x192_res50_lr1e-3_2x-regression.yaml --checkpoint pretrained_models/halpe136_fast_res50_256x192.pth --video GH010145.MP4
Loading pose model from pretrained_models/halpe136_fast_res50_256x192.pth...
Loading YOLO model..
===========================> This video get 16 frames in total.
0%| | 16/16005 [00:02<43:13, 6.17it/s]
===========================> Finish Model Running.
Results have been written to json.
It says the video contains 16 frames and it process just those 16 frames but the progress bar says it has 16005 frames. It doesn't make any sense.
I use pytorch 1.8 and torchvision 0.9
#Update
It seems there is a problem with the encoding of the video. My video was recorded with a GoPRO SIlver 7 so I cropped and encode again using a video editing software. Now it recognizes all the frames but it seems you need a super computer for running just 1GB of video, my memory RAM (64GB) almost crash with just the 10% of the video, the CPU (16 cores) were almost to the top and it took 6GB from 8GB of my GPU memory.
Alphapose is accurate and the code is good, but it needs to be optimized at all.
@hdnh2006 Do you have any news regarding your issue ? I have a similar issue. I tried to modify the cropping code, change the detbach, posebatch, qsize but this has no effect. My CPU (16 cores) is also running at 100% and mygpu RTX 3090 is running at only 12% on average
@samymdihi unfortunately no. Finally I change to detectron2 because I just needed body pose. The creators of this repo don't give any feedback. What a shame because Alphapose seems to be the most accurate, but it needs support.
@hdnh2006 Thank you for your reply. I agree AlphaPose is showing really good results. Too bad that it's not using gpu properly to improve the performances. I am asking myself if it has something to do with the versions of cuda, pytorch etc... Cause I guess you're also using the branch for pytorch >=1.5
@samymdihi Yes, I am using the version for pytorch >= 1.5. What I worry the most is the RAM consumption Alphapose does, it is completely absurd. I recommend to use detectron 2 for body detection.
@hdnh2006 How did you manage to integrate detectron 2 to Alphapose ?
@samymdihi no no I didn't do that. Detectron2 is able to detect body landmarks, so that's what I used. Alphapose can detect 138 landmarks or something like that, but I just needed the body landmarks, so I decided to use detector2 instead of Alphapose, despite Alphapose surely is more accurate than Detectron2
@hdnh2006 oh I see
Hi there, I had problems when demo_inference.py run for video. When processing less than 10M of video, it can work normally. But when processing 40M video(Video 2 to 3 minutes), it will cause the computer to freeze. About half of the processing time, the GPU occupancy rate will drop from 90% to 0%, and then the computer will freeze.And the program will not report an error, the computer will get stuck and then freeze。
The following is other relevant information: 1.I'm using a GeForce RTX 2070 with 8gb vram. 2. `python scripts/demo_inference.py --cfg configs/coco/resnet/256x192_res50_lr1e-3_1x.yaml --checkpoint pretrained_models/fast_res50_256x192.pth --video /home/avl/Videos/fight_video/gcw4.avi --outdir /home/avl/Videos/output --save_video
Loading YOLO model..
Loading pose model from pretrained_models/fast_res50_256x192.pth...
Network successfully loaded
42%|████████████████▎ | 1290/3096[03:07<08:37,3.49it/s]===========================> This video get 3094 frames in total.
59%|███████████████████████ | 1831/3096 [04:16<03:09, 6.68it/s]`
Could anyone of you help me?
Regards, Phil