GithubHelp home page GithubHelp logo

mitmul / pynvvl Goto Github PK

View Code? Open in Web Editor NEW
101.0 10.0 12.0 1.33 MB

A Python wrapper of NVIDIA Video Loader (NVVL) with CuPy for fast video loading with Python

License: MIT License

Shell 10.76% Python 89.24%
nvvl cupy video-processing gpu nvidia-video-loader video python numpy cuda

pynvvl's People

Contributors

g-votte avatar keisukefukuda avatar mitmul avatar rcalland avatar rezoo 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

pynvvl's Issues

multi-gpu or distributed training failed

Hi,

I try to use pynvvl to do multi-GPU training.

But it seems that it will fail.

CUDA runtime error 3 at line 15 in file /nvvl/src/detail/Decoder.cpp: initialization error CUDA runtime error 3 at line 21 in file /nvvl/src/detail/Decoder.cpp: initialization error
Could you give me some hints?

frame step support, get video clip with frame jump steps

layer.desc.stride.x = 1 layer.desc.stride.y = width * layer.desc.stride.x layer.desc.stride.c = layer.desc.stride.y * height layer.desc.stride.n = layer.desc.stride.c * channels*frame_stride
Deep Learning in videos often choose frames with a certain steps,namely jump frames. so I think it's better to support a frame stride parameters

IndexError: vector::_M_range_check

When using pynvvl, the following error occurs repeatedly, although the exception is ignored and the execution can continue successfully.
I guess it's more like CuPy error, so please close this issue if it's inappropriate to report here.

Thanks!

Exception ignored in: 'cupy.cuda.memory.PooledMemory.__dealloc__'
Traceback (most recent call last):
  File "cupy/cuda/memory.pyx", line 544, in cupy.cuda.memory.PooledMemory.free
  File "cupy/cuda/memory.pyx", line 816, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 830, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 679, in cupy.cuda.memory.SingleDeviceMemoryPool._remove_from_free_list
IndexError: vector::_M_range_check
Traceback (most recent call last):
  File "cupy/cuda/memory.pyx", line 544, in cupy.cuda.memory.PooledMemory.free
  File "cupy/cuda/memory.pyx", line 816, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 835, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 679, in cupy.cuda.memory.SingleDeviceMemoryPool._remove_from_free_list
IndexError: vector::_M_range_check
Exception ignored in: 'cupy.cuda.memory.PooledMemory.__dealloc__'
Traceback (most recent call last):
  File "cupy/cuda/memory.pyx", line 544, in cupy.cuda.memory.PooledMemory.free
  File "cupy/cuda/memory.pyx", line 816, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 835, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 679, in cupy.cuda.memory.SingleDeviceMemoryPool._remove_from_free_list
IndexError: vector::_M_range_check
Traceback (most recent call last):
  File "cupy/cuda/memory.pyx", line 544, in cupy.cuda.memory.PooledMemory.free
  File "cupy/cuda/memory.pyx", line 816, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 835, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 679, in cupy.cuda.memory.SingleDeviceMemoryPool._remove_from_free_list
IndexError: vector::_M_range_check
Exception ignored in: 'cupy.cuda.memory.PooledMemory.__dealloc__'
Traceback (most recent call last):
  File "cupy/cuda/memory.pyx", line 544, in cupy.cuda.memory.PooledMemory.free
  File "cupy/cuda/memory.pyx", line 816, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 835, in cupy.cuda.memory.SingleDeviceMemoryPool.free
  File "cupy/cuda/memory.pyx", line 679, in cupy.cuda.memory.SingleDeviceMemoryPool._remove_from_free_list
IndexError: vector::_M_range_check

(loooooong errors)

version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

Hi,

Thanks for providing this python wrapper for nvvl.

When I am trying to import pynvvl in python, I am facing the following error:

File "", line 1, in
File "pynvvl/init.py", line 1, in
from _nvvl import NVVLVideoLoader # NOQA
ImportError: /venv_v2/lib/python2.7/site-packages/pynvvl/_lib/libnvvl.so: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

Any thoughts about this issue?

Thank you

Sometime got stuck

I used the following snippet, but sometimes got stuck at some videos.
I checked the Memory and Graphics Card, neither of them is full.

	num=100000
	start=time.time()
	video_list=sorted(os.listdir(path))[:num]
	num = min(len(video_list),num)
	for video_name in video_list:
		video_path = os.path.join(path,video_name)
		print (video_path)
		loader = pynvvl.NVVLVideoLoader(device_id=0, log_level='error')
		n_frames = loader.frame_count(video_path)
		print('Number of frames:', n_frames)
	duration = time.time()-start
	print(duration,duration/num)

Scale Height and Scale Width Don't Scale Video Frames

I am using nvidia's cuda toolkit 9.2 with cudnn 7 on Ubuntu 18.04, and when I load videos in, everything works fine, except when trying to use the scale_height and scale_width arguments. When I use these, the videos are still the same shape as before.

Screenshot from 2019-05-15 12-17-28

CUDA 10.0 pynvvl support?

Is cuda 10.0 on the roadmap?

pynvvl-cuda90 (0.0.3a2) - PyNVVL: A Python wrapper for NVIDIA Video Loader (NVVL) with CuPy
pynvvl-cuda80 (0.0.3a2) - PyNVVL: A Python wrapper for NVIDIA Video Loader (NVVL) with CuPy
pynvvl-cuda92 (0.0.3a2) - PyNVVL: A Python wrapper for NVIDIA Video Loader (NVVL) with CuPy
pynvvl-cuda91 (0.0.3a2) - PyNVVL: A Python wrapper for NVIDIA Video Loader (NVVL) with CuPy

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.