mitmul / pynvvl Goto Github PK
View Code? Open in Web Editor NEWA Python wrapper of NVIDIA Video Loader (NVVL) with CuPy for fast video loading with Python
License: MIT License
A Python wrapper of NVIDIA Video Loader (NVVL) with CuPy for fast video loading with Python
License: MIT License
Hi. Is there any plan to support cuda 9.2 soon ? Thx
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?
here is the code
dt = VideoIter(config.NTU, config.test_set, sampler=None, gpu_id=7)
dl = data.DataLoader(dt, 128, num_workers=4)
but, when num_workers=0, this code woks fine.
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
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)
loader = pynvvl.NVVLVideoLoader(device_id=0, log_level='error')
video = loader.read_sequence(video_root).get()
With my dataloader code, the gpu memory is increasing progressively.
what should i do to release gpu memory?
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
The readme doesn't explain at all what's the motivation for using this wrapper instead of the PyTorch wrapper provided in nvvl. I myself don't know whether this wrapper would better fit my needs.
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)
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
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.