mdspan
mmaction2
mdspan | mmaction2 | |
---|---|---|
6 | 5 | |
384 | 3,980 | |
2.9% | 1.6% | |
8.5 | 6.4 | |
10 days ago | 19 days ago | |
C++ | Python | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mdspan
-
July 2022 ISO C++ committee virtual meeting report
Why not use https://github.com/kokkos/mdspan though ?
-
C++ for scientific programming?
It can be the base of whatever *you* write via bindings generators like pybind11. In that sense, the answer to your question is "however you like". For actual simulation code, you'll see a lot more legacy Fortran and C. That said, with things like mdspan maybe being standardized (proposal), efforts towards a standard linear algebra library, and the existence of ubiquitous HPC frameworks already having been written in C++, I would say it's only a matter of time before C++ accounts for an even bigger share of all HPC code.
-
[D] Deep Learning Framework for C++.
I'm aware of only two relevant projects myself, I don't know much, came to reddit kind of by chance. One of the multi-dimensional array libraries proposed for potential standardisation, and a gnu machine learning library that was discontinued which could be worked off of. There's probably a lot more out there, but don't get distracted from making something awesome :)
-
Array template implementation
As u/IyeOnline already made the important points about VLAs and std::vector, I would just add that you may find std::mdspan to be a helpful data structure. You can allocate 1d memory and give it a 2d shape of k with nice 2d indexing, eg auto& elem = mymdspan(row, col);.
-
C++23: Near The Finish Line
Kokkos mdspan
-
Is there an OOP-wrapper library for cublas?
The good thing here is that it heavily relies on mdpsan that is a multidimensional view that handle shape and strides. And kokkos provide a C++14 compatible implementation with a complete CUDA support.
mmaction2
-
How good does contextual action recognition get?
Mmaction2: https://github.com/open-mmlab/mmaction2 Has some examples.
-
MMDeploy: Deploy All the Algorithms of OpenMMLab
MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.
-
[D] Deep Learning Framework for C++.
I agree with you for most of the time this can work but there are some models that have certain layers that are not supported by ONNX. An example would be Spatiotemporal models in mmaction2 from open-mmlab.
-
Textbook or blogs for video understanding
No book or blog, but a great framework: https://github.com/open-mmlab/mmaction2
-
Applications of Deep Neural Networks [pdf]
shameless ad: try mmaction2, where every result is reproducible https://github.com/open-mmlab/mmaction2 . Modelzoo: https://mmaction2.readthedocs.io/en/latest/modelzoo.html
What are some alternatives?
stdBLAS - Reference Implementation for stdBLAS
mmpose - OpenMMLab Pose Estimation Toolbox and Benchmark.
kokkos - Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
compare_gan - Compare GAN code.
circle - The compiler is available for download. Get it!
mmflow - OpenMMLab optical flow toolbox and benchmark
kokkos-kernels - Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
temporal-shift-module - [ICCV 2019] TSM: Temporal Shift Module for Efficient Video Understanding
plf_hive - plf::hive is a fork of plf::colony to match the current C++ standards proposal.
Video-Dataset-Loading-Pytorch - Generic PyTorch dataset implementation to load and augment VIDEOS for deep learning training loops.
deepdetect - Deep Learning API and Server in C++14 support for Caffe, PyTorch,TensorRT, Dlib, NCNN, Tensorflow, XGBoost and TSNE
mmrotate - OpenMMLab Rotated Object Detection Toolbox and Benchmark