Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

awesome-learning

A list of topics of interest, including AI, Robotics, Physics, Mathematics, control and some useful tools in these areas.
https://github.com/L53317/awesome-learning

  • AI book library - The most recommended book for machine learning.
  • Dive into deep learning - Useful tool book for deep learning and implementation. There is a tutorial course with video for this book.
  • Machine learning book - The hundred-page machine learning book with code.
  • Robotics coursework
  • PythonRobotics - Most recommended for understanding and getting starting algorithms.
  • Eigen - A C++ tool for matrix operation.
  • Ceres - An open-source C++ library for modeling and solving large, complicated optimization problems. There are binding tools for Python to use Ceres. It is [Pyceres](https://github.com/cvg/pyceres) which is based on [ceres_python_bindings](https://github.com/Edwinem/ceres_python_bindings).
  • G2O - An open-source C++ library for general graph optimization.
  • Sophus - A C++ implementation of Lie groups basic on Eigen, commonly used for 2d and 3d geometric problems.
  • GTSAM - A C++ library that implements sensor fusion for robotics and computer vision applications, including SLAM, VO, and SFM (Structure from Motion). It uses factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices to optimize for the most probable configuration or an optimal plan.
  • miniSAM - An open-source C++/Python framework for solving factor graph-based least squares problems inspired by GTSAM but more lightweight. Some tutorials on factor graph-based optimization problems should be very useful.
  • Mosek - Powerful solver to optimization problems. And [Yalmip](https://yalmip.github.io/) - A tool for optimization problems. [Here](https://yalmip.github.io/solver/mosek/) is how it works with Mosek.
  • OOQP - An object-oriented C++ package, based on a primal-dual interior-point method, for solving convex quadratic programming problems (QPs).
  • NLopt - A free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.
  • Suitesparse - A sparse Matrix software suite.
  • SciPy - SciPy is a math function library that uses NumPy. This library provides algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics, and many other classes of problems.
  • cvxpy - A Python-embedded modeling language for convex optimization problems. It allows you to express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers. `Most recommended as Mosek and Yalmip! for Python users`.
  • Pyomo - Python Optimization Modeling Objects.
  • CVXOPT - A free Python software package for convex optimization.
  • Regularization Tools - Or find an old copy [here](https://github.com/hadiTab/regu).
  • SymPy - A Python library for symbolic mathematics, a computer algebra system like `Maple` and `Mathematica` that can be used to symbolically differentiate the objective function and generate the C++ to evaluate them.
  • wxMaxima - A document based interface for the computer algebra system `Maxima`. wxMaxima provides menus and dialogs for many common maxima commands, autocompletion, inline plots and simple animations. The tensor calculation of `Ralativity` is one of the main usages of wxMaxima.
  • AI
  • Tutorial for CNN - Most recommended, the easiest tutorial for CNN, or [Neural network from scratch](https://github.com/vzhou842/neural-network-from-scratch).
  • Understanding backpropagation
  • AI-For-Beginners - From Microsoft.
  • Machine learning beginner - A road map and tutorial for machine learing beginner. In Chinese.
  • Awesome deep learning - A list of resource for deep learning (Updating).
  • Awesome machine learning - A list of resource for machine learning (Updating).
  • LIME - A local interpretable model-agnostic explanations (LIME).
  • SHAP - A game theoretic approach to explain the output of any machine learning model.
  • ChatGPT
  • ChatGPT desktop
  • VQA - Visual question answering, a simple example to build your chatbot.
  • Pytorch tutorials - Build a neural network from scratch with automatic differentiation.
  • TensorFlow tutorials
  • Hugging Face - Transformers.
  • keras - A tool for learning implementaion and [some documents](https://wizardforcel.gitbooks.io/keras-cn/content/docs/layers/writting_layer.html) for beginners.
  • Scikit-Learn
  • MXNet
  • Caffe
  • Awesome robotics
  • Awesome robotics libraries
  • SLAM - Roadmap for SLAM beginner.
  • SLAM arts - A summary of SLAM, including basic theories and practical examples and visual, lidar SLAM.
  • SLAM using Python - Many topics on robotics including SLAM.
  • UWB localization - Or [this](https://github.com/TIERS/ros-dwm1001-uwb-localization)
  • Mothin planning
  • Trajectory tracking
  • Computer vision
  • Step by step tutorial for visual SLAM using Python
  • Object detecting and tracking - LIDAR-Multi-Object-Tracking) and [LIDAR simulation](https://github.com/SS47816/lidar_obstacle_detector)
  • CVPR
  • Language - Learn X in Y minutes
  • Python - learnpython.py
  • C++
  • MATLAB
  • Objective-C
  • Linux
  • Containers
  • Windows
  • WSL
  • ROS
  • ROS1
  • ROS2
  • Jackal Robot simulation platform
  • OpenCV
  • evo - A tool for evaluating and comparing the trajectory output of odometry and SLAM algorithms.
  • Pangolin - A 3D visualization tool that includes a set of lightweight and portable utility libraries for prototyping 3D, numeric or video-based programs and algorithms used quite widely in the field of Computer Vision.
  • COLMAP - A general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface which is very useful for SLAM.
  • PapersWithCode - Code !!
  • PaperDigest
  • RunDocs - Documentation your projects. [Here](https://zhuanlan.zhihu.com/p/323457078) is a tutorial of how to create an website page document for your projects using [Gihub Page](https://pages.github.com/) and [RunDocs](https://github.com/rundocs/rundocs.io/tree/master/docs)