Collection of Useful Tools for Machine Learning and Artificial Intelligence¶
Basic Tools¶
- autograd - Efficiently computes derivatives of numpy
code
- Very useful tool when building statistical and machine learning tools in Python. Autograd can automatically differentiate native Python and Numpy code.
Machine Learning Framework¶
- tensorflow - An Open Source Machine Learning Framework for
Everyone
- TensorFlow is an open source software library for numerical computation using data flow graphs. The graph nodes represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) that flow between them. This flexible architecture enables you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code.
- The official tutorial of tensorflow
- Models and examples built with TensorFlow
- TensorFlow 官方文档中文版
- TensorFlow-Examples - TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2)
- awesome-tensorflow - A curated list of dedicated resources
- keras - Deep Learning for
humans
- Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation.
- Official documents of keras
- Keras code and weights files for popular deep learning models by the author (A little out of date.)
- Keras also lives in tensorflow now: “
tf.keras
is TensorFlow’s implementation of the Keras API specification. This is a high-level API to build and train models that includes first-class support for TensorFlow-specific functionality”
- pytorch - Tensors and Dynamic neural networks in Python with strong
GPU acceleration
- Usually one uses PyTorch either as 1) a replacement for NumPy to use the power of GPUs; 2) a deep learning research platform that provides maximum flexibility and speed.
- scikit-learn - machine learning in
Python
- scikit-learn is a Python module for machine learning built on top of SciPy
- caffe - a fast open framework for deep
learning
- Caffe is a deep learning framework made with expression, speed, and modularity in mind
Reinformcement Learning¶
- gym - A toolkit for developing and comparing reinforcement learning
algorithms
- OpenAI Gym is a toolkit for developing and comparing reinforcement learning algorithms.
- gym project website
Visualization¶
- PlotNeuralNet - Latex code for making neural networks
diagrams
- By Haris Iqbal. Latex code for drawing neural networks for reports and presentation.