当前位置:  开发笔记 > 编程语言 > 正文

SciKit Learn,Keras或Pytorch的差异

如何解决《SciKitLearn,Keras或Pytorch的差异》经验,为你挑选了1个好方法。

这些库是否可以互换?

在这里https://stackshare.io/stackups/keras-vs-pytorch-vs-scikit-learn,似乎主要的区别是底层框架(至少对于PyTorch而言)。



1> Jatentaki..:

是的,有很大的不同。

SciKit Learn是基于NumPy构建的通用机器学习库。它具有许多机器学习算法,例如支持向量机,随机森林以及用于通用数据预处理和后处理的大量实用程序。它不是神经网络框架。

PyTorch是一个深度学习框架,包括

    一个类似于NumPy的矢量化数学库,但具有GPU支持和许多与神经网络相关的操作(例如softmax或各种激活)

    Autograd-一种算法,可以根据基本操作自动计算函数的梯度

    用于大规模优化的基于梯度的优化例程,专用于神经网络优化

    神经网络相关实用程序功能

Keras是一个更高级别的深度学习框架,它抽象了许多细节,与PyTorch或TensorFlow相比,使代码更简单,更简洁,但其可破解性有限。它抽象出了计算后端,可以是TensorFlow,Theano或CNTK。它不支持PyTorch后端,但这并不是难以理解的-您可以将其视为上述内容的简化且精简的子集。

简而言之,如果您要使用“经典”非神经算法,那么PyTorch和Keras都不会对您有用。如果您正在进行深度学习,则scikit-learn对其实用部分可能仍然有用;除此之外,您将需要一个实际的深度学习框架,在这里您可以在Keras和PyTorch之间进行选择,但是您不太可能同时使用两者。这是非常主观的,但是在我看来,如果您正在研究一种新颖的算法,则您更有可能选择使用PyTorch(或TensorFlow或其他较低级别的框架)来提高灵活性。如果您要将已知且经过测试的算法用于新的问题设置,则可能希望使用Keras,因为它具有更高的简便性和更低的入门水平。


@JamesL。是的,您可以,但是它更像是一种玩具功能,无需硬件(GPU)加速即可学习
推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有