Python 是很流行和使用比较广泛的编程语言之一,它已经超越了业界许多编程语言,名列前茅。它在开发人员中流行的原因有很多,最重要的一点就是它有大量的库供用户使用。Python 的易用性、灵活性吸引了许多开发人员为机器学习创建新的库。有一个库大家必都会介绍,就是TensorFlow,这里就不多说了。那么,以下就是今日份干货,大家有什么自己最喜欢的库也可以在评论中留言分享~
1.Keras
Keras是由python编写的机器学习API,其运行在机器学习的优秀平台TensorFlow上。好处在于可以很快地实现网络模型的搭建,数据输入输出也很方便,让你可以专注于网络模型本身,适合新手。比较大的缺点就是慢!作为高层API,推理速度等等肯定没tf,mxnet那些快。
2. PyTorch
它的特点:处理N维度张量,和numpy类似,但是可以在GPU上运行。支持自动微分来构建和训练大型的神经网络。
3. fastai
用过的都说好,通过利用当下优秀的技术实践,fastai极快地简化了训练过程也加速了神经网络。只要一个API就包含了几乎所有常见的深度学习应用。
4. JAX
Jax 是 Autograd 和 XLA 的结合用来提供高性能机器学习研究。作为 Autograd 的更新版本,JAX 可以自动微分原生 Python 和 Numpy 函数。可通过 loops、branches、recursion 和 closures,进行微分,并且能够对导数的导数求导。支持反向模式微分通过 grad。
5. FastText
它是一个可以让你高效学习单词表意和句子分类的库。
6. spaCy
spaCy v3.0具有所有新的基于transformer的管道,让spaCy的准确率达到SOTA。你可以使用任意预训练transformer来训练你自己的管道,也可以在多组件和多任务之间共享transformer。spaCy的transformer支持与PyTorch和HuggingFace transformers库的集成,在管道中可以访问许多预训练模型。
7. gensim
它通过使用大型语料库进行主题建模、文档索引和相似性检索。目标受众是自然语言处理(NLP)和信息检索(IR)社区。
8. NLTK
它是自然语言工具箱,是一整套针对自然语言处理研究和开发的开源Python模块、数据集和教程。
9. TextBlob
简单,Python风格,是一个用于处理文本数据的库。它为潜入常见的自然语言处理(NLP)任务提供了一个简单的API,例如词性标注,名词短语提取,情感分析,分类,翻译等。
10. Pillow
它是个对用户十分友好的PIL分支。PIL是Python图像库。
11. OpenCV
开源计算机视觉库。
12.LightGBM
它可以帮助开发人员使用重新定义的基本模型,即决策树来构建新的算法。LightGBM 的特点:计算速度快、生产效率高、直观、易于使用。这个库提供了高度可扩展、优化和快速的梯度增强实现,这使它在机器学习开发者中很流行。
13.Pandas
Pandas是Python中的一个机器学习库,它提供高级的数据结构和各种各样的分析工具。主要是能够使用一个或两个命令转换复杂的数据操作。它还有许多内置的分组、数据组合、过滤和时间序列功能的函数。当和其他库一起使用时,Pandas保证了高性能和良好的灵活性。
14..Numpy
数组接口是 Numpy 的最佳特性。它非常容易理解和使用,让复杂的数学实现变得非常简单。广泛使用,因此有很多开源贡献者。该接口可用于将图像、声音和其他二进制原始流表示为 n 维实数数组。
15.Click
Click的开发初衷就是使用最少的代码,以一种可组合的方式创建漂亮的命令行接口。它的目的是使编写命令行工具的过程快速而有趣,同时防止由于无法实现预期的CLI API而导致的任何问题。主要有三个特点:命令的任意嵌套、自动帮助页面生成、支持在运行时延迟加载子命令。