赞
踩
一、机器学习常用的开源框架和库
1. Scikit-learn
作为专门面向机器学习的 Python 开源框架,Scikit-learn 内部实现了多种机器学习算法,容易安装和使用,样例丰富。
2. Mahout
在大数据分布式框架 Hadoop 下使用,包含了机器学习中常用的算法(含推荐算法)。
3. MLlib / spark.ml
在大数据分布式框架 Spark 下使用,同样包含了机器学习中常用的算法,可采用 Java / Sacala / Python / R 语言作为编程语言。
4. 其他
例如针对计算机视觉的 SimpleCV、针对自然语言处理的 NLTK 等,这里不再拓展。
二、深度学习常用的开源框架和库
1. TensorFlow
由 Google Brain 团队开发,能够实现各种深度神经网络的搭建。为初学者和专家提供了各种 API,以便对桌面、移动终端、Web和云进行开发。但是,计算图必须构建为静态图,这让很多计算变得难以实现,尤其是序列预测中经常使用的 beam search。
2. Keras
由 Python 编写的高级神经网络 API,相当于 Tensorflow、Theano、 CNTK 的上层接口。强调极简主义,降低了编程和阅读别人代码时的理解开销, 目前封装有全连接网络、CNN、RNN 和 LSTM 等算法。但是,封装得太高级,细节很难修改,无法直接使用多 GPU。
3. PyTorch
由 Facebook 团队基于 Torch 开发的深度学习框架。与 TensorFlow 不同的是,PyTorch 是基于动态图的,目前也非常火热。
4. Caffe
在 TensorFlow 出现之前,一直是深度学习领域 Github star 最多的项目。Caffe 的优势在于容易上手(网络结构都是以配置文件形式定义,不需要用代码设计网络)、训练速度快(组件模块化,可以方便的拓展到新的模型和学习任务上)。但是,Caffe 不好安装,且最开始设计时的目标只针对于图像,因此对 CNN 的支持非常好(例如 AlexNet、VGG、Inception 等),但是对 RNN、LSTM 等的支持不是特别充分。
5. 其他
例如百度提出的深度学习框架 PaddlePaddle、华为最新开源的深度学习框架 MindSpore、阿里的X-Deep Learning 等,这里不再拓展。
三、强化学习常用的开源框架和库
1. OpenAI Gym
提供了非常多的虚拟环境,具体强化学习算法的代码需要自己来写,可以很好验证强化学习算法,众多强化学习环境都为其提供接口。
2. OpenAI Baseline
基于 Tensorflow 和 OpenAI Gym 开发的,封装了许多强化学习算法(例如 DQN / PPO / TRPO / DDPG 等)。但是,代码规范性不好。
3. RLlib
支持 TensorFlow 和 PyTorch,可通过简单的 Python API 使用,目前附带了许多流行的RL算法。
4. Horizon
Facebook基于 PyTorch、Caffe 和 Spark 构建的强化学习框架,是首个使用应用强化学习在大规模生产环境中优化系统的端到端开源平台。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。