elsampsa / valkka-live Goto Github PK
View Code? Open in Web Editor NEWOpenSource Video Surveillance Program
License: GNU Affero General Public License v3.0
OpenSource Video Surveillance Program
License: GNU Affero General Public License v3.0
I was trying valkka-live on my Ubuntu 16.04 machine with python 3.5. After I installed valkka-live following the instructions (https://elsampsa.github.io/valkka-live/_build/html/index.html), I got the follow message in terminal after executing the valkka-live
binary:
valkka.mvision.__init__ : could not import module alpr : ''
valkka.mvision.__init__ : could not import module yolo3 : 'No module named 'darknet''
valkka.mvision.__init__ : could not import module yolo2 : 'No module named 'darknet''
valkka.mvision.__init__ : could not import module yolo3tiny : 'No module named 'darknet''
mvision scan: submodule valkka.mvision.tools missing MVisionProcess
mvision scan: submodule valkka.mvision.base missing MVisionProcess
mvision scan: found machine vision class with name, tag and max_instances
mvision scan: found machine vision class with name, tag and max_instances
mvision scan: submodule valkka.mvision.constant missing MVisionProcess
mvision scan: submodule valkka.mvision.multiprocess missing MVisionProcess
valkka.live : loading config file for version number
DeviceList : clearSelection
QCheckBoxColumn: state_changed_slot : live_main
SlotFormSet : showCurrent: current_row= None
QCheckBoxColumn: state_changed_slot : bind
MemoryConfigForm : no row!
CPUScheme : cores 8
valkka.live : Using default mem config
CPUScheme : cores 8
GPUHandler: findXScreens: true screens: [<PySide2.QtGui.QScreen object at 0x7f781c0d95c8>]
gpuhandler : GPUHandler: starting OpenGLThread with :0.0
GLX_EXT_swap_control
OpenGLThread::setSwapInterval: could not set swap interval
OpenGLThread::setSwapInterval: could not set swap interval
gpuhandler : GPUHandler: OpenGLThread started
And this is a "Valkka Live" X window popped up with a blank/white window.
What could be the issue? (It doesn't look like a python issue which was reported in the other ticket)
Hey guys,
I am trying to print the camera metadata. Can you help me with that ?
bng-6@bng-6:~/MoniDeepika/Monideepika/valkka_live_camera/valkka-live/valkka/mvision/movement$ python3 base.py N
Traceback (most recent call last):
File "base.py", line 20, in
from valkka.live.qimport import QtWidgets, QtCore, QtGui, Signal, Slot
File "/home/bng-6/lib/python3.8/site-packages/valkka_live-1.0.1-py3.8.egg/valkka/live/init.py", line 1, in
from valkka.live.version import version_tag
File "/home/bng-6/lib/python3.8/site-packages/valkka_live-1.0.1-py3.8.egg/valkka/live/version.py", line 23, in
from valkka.core import VERSION_MAJOR as VALKKA_VERSION_MAJOR
ModuleNotFoundError: No module named 'valkka.core'
Installed valkka-live successfully and able to run the single camera in the video grid.While trying to add more cameras its show valkka image ideally after some time it crashed with the following error.Could you please help on this
/home/rams/.local/bin/valkka-live: line 9: 9941 Segmentation fault (core dumped) run-valkka-live "$@"
**** Segfault when executing Valkka : are you running on tested hardware and drivers? See: http://www.valkka.fi/ *********
**** It could also be about your machine vision plugins *********
I have modified the code as follows to add RTSP retransmission.
valkka-live/valkka/live/chain/multifork.py
def make_restream_branch(self):
self.livethread2 = LiveThread(
name = "live_thread2",
verbose = False,
rtsp_server = 8554+self.slot
)
self.live_in_filter = self.livethread2.getFrameFilter()
self.info_filter = core.InfoFrameFilter("info_filter", self.live_in_filter)
self.fork_filter_main.connect("restreaming_" + str(self.slot), self.info_filter)
def restream_client(self, inc = 0):
if self.restream_client_count < 1 and inc > 0:
self.out_ctx = core.LiveOutboundContext(core.LiveConnectionType_rtsp, "stream1", self.slot, 0)
self.livethread2.registerOutbound(self.out_ctx)
elif self.restream_client_count == 1 and inc < 0:
self.livethread2.deregisterOutbound(self.out_ctx)
self.restream_client_count += inc
After executing the code and checking with ffmpeg (ffmpeg -i rtsp://{ip_address}/stream1 -v verbose
), I found a log stating that the connection to the address was established, but the stream could not be found. Can you help me identify what went wrong?
[tcp @ 0x5574f6708e40] Starting connection attempt to {ip_address} port 8561
[tcp @ 0x5574f6708e40] Successfully connected to {ip_address} port 8561
[rtsp @ 0x5574f6706b80] method DESCRIBE failed: 404 Stream Not Found
rtsp://{ip_address}:8561/stream1: Server returned 404 Not Found
Yes, i can confirm this:
Hello,
i just want to give it a try, i'm on Linux Mint vera (ubuntu jammy)
PySide2==5.14.2 (from valkka-live) (from versions:.....5.13.2, 5.15.2.1)
however - here they leave out the 5.14.x versions
using the older one 5.13.2 doesn't help
The conflict is caused by:
valkka-live 1.1.0 depends on PySide2>=5.13.2
cute-mongo-forms 0.7.3 depends on PySide2==5.14.2
Here is it:
https://pypi.org/project/PySide2/5.14.2/#files
but how to use?
thanks for any help
wespe
Operating System: Ubuntu 20.04.6 LTS
CPU: Core i7-7700
RAM: 64 GB
GPU: Nvidia GTX 1080 x 2
NVidia Driver: 550.54.15
CUDA: 12.4
When I run valkker-live, It show error.
OpenGLThread: loadExtensions: no swap control: there's something wrong with your graphics driver: Resource temporarily unavailable
However, When I check my GPU with nvidia-smi
, all 2 GPUs are avaliable.
Please advise how to solve this problem. Thank you.
Thanks for your work
I'm trying to modify 'machine vision' tab using my own model.
When I initialize my model like this
class myDetector(Analyzer):
def __init__(self, **kwargs):
...model init...
and i got error
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method
So how can I solve this error?
Hello I am trying to install Valkka-live on my ubuntu machine. I am following all the steps on https://elsampsa.github.io/valkka-live/_build/html/index.html . It is running on Ubuntu 18.04, python 3.6.7 and pip 19.1.1. this is the error message when I try to run valkka-live
valkka.mvision.__init__ : could not import module movement : 'No module named 'cv2''
valkka.mvision.__init__ : could not import module alpr : 'No module named 'cv2''
valkka.mvision.__init__ : could not import module nix : 'No module named 'cv2''
valkka.mvision.__init__ : could not import module yolo3 : 'No module named 'darknet''
valkka.mvision.__init__ : could not import module yolo2 : 'No module named 'darknet''
valkka.mvision.__init__ : could not import module yolo3tiny : 'No module named 'darknet''
mvision scan: submodule valkka.mvision.base missing MVisionProcess
mvision scan: submodule valkka.mvision.multiprocess missing MVisionProcess
valkka.live : initConfigFiles : first start
valkka.live : save_window_layout : container_dic = {'container_list': [], 'mvision_container_list': []}
valkka.live : readDB : first start
DeviceList : clearSelection
QCheckBoxColumn: state_changed_slot : live_main
SlotFormSet : showCurrent: current_row= None
QCheckBoxColumn: state_changed_slot : bind
MemoryConfigForm : no row!
CPUScheme : cores 16
valkka.live : Using default mem config
CPUScheme : cores 16
GPUHandler: findXScreens: true screens: [<PySide2.QtGui.QScreen object at 0x7feb530ff408>]
gpuhandler : GPUHandler: starting OpenGLThread with :0.0
Invalid MIT-MAGIC-COOKIE-1 keyOpenGLThtead: initGLX: cannot connect to X server :0.0
QObject::~QObject: Timers cannot be stopped from another thread
here is my $DISPLAY
:
marekn@Bizon-DevBOX:~$ echo $DISPLAY
:2
I would like to implement a detector that can track anything that moves across multiple frames, and also build a semi-supervised neural network that can train itself on a collection of false positives.
Essentially, if a moving object is detected by a compute efficient motion detection kernel, the frames would then be passed through an additional filter (an LSTM or RNN) to try and filter out false positives. The second pass is intended to filter things such as bugs flying past the camera, switching to day/night vision, heavy rain, strong winds, or sudden changes in luminosity. I'm sure there are other things I'm forgetting... If a detection event is raised but it is a false positive, the recording can be flagged as a false positive. This would kick off a retraining of the neural network. I would like the kernel to have close to real-time performance on a Jetson Nano, if possible.
I could use help identifying the best algorithm(s) needed for something like this. Is the basic motion detector good enough or would optical flow be better?
Anyone interested?
I am trying to install valkka-live on Ubuntu 18.04 using Python 3.6. Here is what I get after running valkka-live
:
mvision scan: valkka.mvision.base
mvision scan: submodule <module 'valkka.mvision.base' from '<path-to-git-repo>/valkka-live/valkka/mvision/base.py'> missing MVisionProcess
mvision scan: valkka.mvision.ipc
mvision scan: submodule <module 'valkka.mvision.ipc' from '<path-to-git-repo>/valkka-live/valkka/mvision/ipc.py'> missing MVisionProcess
mvision scan: valkka.mvision.singleton
mvision scan: submodule <module 'valkka.mvision.singleton' from '<path-to-git-repo>/valkka-live/valkka/mvision/singleton.py'> missing MVisionProcess
mvision scan: valkka.mvision.multiprocess
mvision scan: submodule <module 'valkka.mvision.multiprocess' from '<path-to-git-repo>/valkka-live/valkka/mvision/multiprocess.py'> missing MVisionProcess
mvision scan: valkka.mvision.movement
mvision scan: found machine vision class with name, tag and max_instances Simple Movement Detector
mvision scan: valkka.mvision.tools
mvision scan: submodule <module 'valkka.mvision.tools' from '<path-to-git-repo>/valkka-live/valkka/mvision/tools.py'> missing MVisionProcess
mvision scan: valkka.mvision.constant
mvision scan: submodule <module 'valkka.mvision.constant' from '<path-to-git-repo>/valkka-live/valkka/mvision/constant.py'> missing MVisionProcess
mvision scan: valkka.mvision.nix
mvision scan: found machine vision class with name, tag and max_instances Stdin, stdout and filesystem example
mvision scan: valkka.mvision.yolo3
mvision scan: found machine vision class with name, tag and max_instances YOLO v3 object detector
mvision scan: valkka.mvision.yolo2
mvision scan: found machine vision class with name, tag and max_instances YOLO v2 object detector
mvision scan: valkka.mvision.yolo3tiny
mvision scan: found machine vision class with name, tag and max_instances YOLO v3 Tiny object detector
mvision scan: valkka.mvision.yolo3client
mvision scan: found client machine vision class with name, tag and master instances YOLO v3 client
mvision scan: valkka.mvision.yolo3master
mvision scan: found master machine vision class YOLO v3 object detector master
valkka.live : loading config file for version number [0, 12, 0]
parameterInitCheck: definitions= {'filename': (<class 'str'>, 'simple_collection.db'), 'row_classes': <class 'list'>}
parameterInitCheck: definitions= {'filename': (<class 'str'>, 'simple_collection.db'), 'row_classes': <class 'list'>}
parameterInitCheck: definitions= {'filename': (<class 'str'>, 'simple_collection.db'), 'row_classes': <class 'list'>}
parameterInitCheck: definitions= {'filename': (<class 'str'>, 'simple_collection.db'), 'row_classes': <class 'list'>}
parameterInitCheck: definitions= {'collection': None}
DeviceList : clearSelection
parameterInitCheck: definitions= {'collection': None}
parameterInitCheck: definitions= {}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'def_value': (<class 'str'>, '000.000.000.000'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'def_value': (<class 'bool'>, False), 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
QCheckBoxColumn: state_changed_slot : live_main
parameterInitCheck: definitions= {'def_value': (<class 'bool'>, False), 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'def_value': (<class 'bool'>, False), 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'def_value': (<class 'bool'>, False), 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
SlotFormSet : showCurrent: current_row= None
parameterInitCheck: definitions= {'row_class': <class 'cute_mongo_forms.row.base.RowWatcher'>, 'collection': None}
parameterInitCheck: definitions= {}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'def_value': (<class 'bool'>, False), 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'def_value': (<class 'bool'>, False), 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
MemoryConfigForm : no row!
parameterInitCheck: definitions= {'row_class': <class 'cute_mongo_forms.row.base.RowWatcher'>, 'collection': None}
parameterInitCheck: definitions= {}
parameterInitCheck: definitions= {'def_value': (<class 'bool'>, False), 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'min_value': (<class 'int'>, 0), 'max_value': (<class 'int'>, 65536), 'def_value': (<class 'int'>, 0), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'list': None, 'callback': None, 'label_alignment': None, 'label_size_policy': None, 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'visible': (<class 'bool'>, True)}
parameterInitCheck: definitions= {'list': None, 'callback': None, 'key_name': <class 'str'>, 'label_name': (<class 'str'>, 'none'), 'label_alignment': None, 'label_size_policy': None, 'visible': (<class 'bool'>, True)}
ValkkaFSForm : no row!
startProcesses: spanning movement 0
class, signals: MVisionProcess <valkka.mvision.movement.base.Signals(0x3bf4660) at 0x7f01b5d0bf08>
startProcesses: spanning movement 1
class, signals: MVisionProcess <valkka.mvision.movement.base.Signals(0x3bf5600) at 0x7f01b5c98348>
startProcesses: spanning movement 2
class, signals: MVisionProcess <valkka.mvision.movement.base.Signals(0x3bf7300) at 0x7f01b5c983c8>
startProcesses: spanning movement 3
class, signals: MVisionProcess <valkka.mvision.movement.base.Signals(0x3bf3050) at 0x7f01b5c984c8>
startProcesses: spanning movement 4
class, signals: MVisionProcess <valkka.mvision.movement.base.Signals(0x3bece70) at 0x7f01b5c98588>
startProcesses: spanning nix 0
class, signals: MVisionProcess <valkka.mvision.nix.base.Signals(0x3bf7550) at 0x7f01b5c98708>
startProcesses: spanning nix 1
class, signals: MVisionProcess <valkka.mvision.nix.base.Signals(0x3bf80b0) at 0x7f01b5c98888>
startProcesses: spanning nix 2
class, signals: MVisionProcess <valkka.mvision.nix.base.Signals(0x3bf8c10) at 0x7f01b5c989c8>
startProcesses: spanning yolov3 0
class, signals: MVisionProcess <valkka.mvision.yolo3.base.Signals(0x3bf9700) at 0x7f01b5c98b08>
startProcesses: spanning yolov2 0
class, signals: MVisionProcess <valkka.mvision.yolo3.base.Signals(0x3bf9b70) at 0x7f01b5c98c88>
startProcesses: spanning yolov3tiny 0
class, signals: MVisionProcess <valkka.mvision.yolo3.base.Signals(0x3bfd4f0) at 0x7f01b5c98dc8>
startProcesses: spanning yolov3tiny 1
class, signals: MVisionProcess <valkka.mvision.yolo3.base.Signals(0x3bfe2c0) at 0x7f01b5c98ec8>
startProcesses: spanning yolo3client 0
class, signals: MVisionClientProcess <valkka.mvision.yolo3client.base.Signals(0x36cde00) at 0x7f01b5ca7108>
startProcesses: spanning yolo3client 1
class, signals: MVisionClientProcess <valkka.mvision.yolo3client.base.Signals(0x3bfddc0) at 0x7f01b5ca7208>
retval, baseline (20, 22) 10
startProcesses: spanning yolo3client 2
class, signals: MVisionClientProcess <valkka.mvision.yolo3client.base.Signals(0x3bfeb90) at 0x7f01b5ca73c8>
retval, baseline (20, 22) 10
startProcesses: spanning yolo3client 3
class, signals: MVisionClientProcess <valkka.mvision.yolo3client.base.Signals(0x3bff6f0) at 0x7f01b5ca7488>
retval, baseline (20, 22) 10
startProcesses: spanning yolo3client 4
class, signals: MVisionClientProcess <valkka.mvision.yolo3client.base.Signals(0x3bffbf0) at 0x7f01b5ca7648>
retval, baseline (20, 22) 10
startProcesses: spanning yolo3master 0
class, signals: MVisionMasterProcess <valkka.mvision.multiprocess.Signals(0x3c00fd0) at 0x7f01b5ca7788>
retval, baseline (20, 22) 10
CPUScheme : cores 12
valkka.live : Using default mem config
valkka.live : Using default valkkafs config
CPUScheme : cores -1
GPUHandler: findXScreens: true screens: [<PySide2.QtGui.QScreen(0x37909b0, name="DP-2.1") at 0x7f01b5ca78c8>]
gpuhandler : GPUHandler: starting OpenGLThread with :0.0
Invalid MIT-MAGIC-COOKIE-1 keyOpenGLThtead: initGLX: cannot connect to X server :0.0
qt.qpa.events.reader: [heap] 0
qt.qpa.events.reader: [heap] 1
...
For me it looks strange that at first it is shown 12 cores, later -1 and that QScreen has name (it's my display).
I looked at other issues and tried echo $DISPLAY
, result is :1
, however, changing x_connection
in gpu_handler.py
was unsuccessfull (tried 0:0, 0:1).
Could you give me any advice how to launch valkka-live?
Hi @elsampsa,
Thanks for the amazing package. I was trying to explore it and when I followed the steps in the installation on my ubuntu 16.04 machine I encountered the following error. May I know the reason for this? I have even installed kwin. Have I missed any other package/library ?
valkka-live
Service 'org.kde.KWin' does not exist.
valkka.mvision.__init__ : could not import module alpr : ''
valkka.mvision.__init__ : could not import module yolo3 : 'No module named 'darknet''
valkka.mvision.__init__ : could not import module yolo2 : 'No module named 'darknet''
valkka.mvision.__init__ : could not import module yolo3tiny : 'No module named 'darknet''
Traceback (most recent call last):
File "/home/manikandan/.local/bin/run-valkka-live", line 9, in <module>
load_entry_point('valkka-live==0.8.0', 'console_scripts', 'run-valkka-live')()
File "/home/manikandan/.local/lib/python3.5/site-packages/valkka/live/gui.py", line 783, in main
mg = MyGui()
File "/home/manikandan/.local/lib/python3.5/site-packages/valkka/live/gui.py", line 60, in __init__
self.initVars()
File "/home/manikandan/.local/lib/python3.5/site-packages/valkka/live/gui.py", line 75, in initVars
self.mvision_classes = tools.scanMVisionClasses()
File "/home/manikandan/.local/lib/python3.5/site-packages/valkka/live/tools.py", line 63, in scanMVisionClasses
if (p.name.find(".mvision")>-1):
AttributeError: 'tuple' object has no attribute 'name'
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.