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.