这些库是否可以互换?
看这里,https://stackshare.io/stackups/keras-vs-pytorch-vs-scikit-learn,似乎主要的区别是底层框架(至少对于……
是的,存在重大差异。
SciKit Learn是一个基于NumPy构建的通用机器学习库。它具有许多机器学习算法,如支持向量机,随机森林,以及许多用于数据的一般预处理和后处理的实用程序。它不是神经网络框架。
PyTorch是一个深度学习框架,由...组成
Keras是一个更高级别的深度学习框架,它抽象了许多细节,使代码比PyTorch或TensorFlow更简单,更简洁,代价是有限的可破解性。它抽象出计算后端,可以是TensorFlow,Theano或CNTK。它不支持PyTorch后端,但这不是一个不可思议的东西 - 你可以认为它是上面的简化和简化的子集。
简而言之,如果您使用“经典”非神经算法,PyTorch和Keras都不会对您有用。如果你正在深入学习,scikit-learn可能对它的实用部分有用;除此之外,您将需要实际的深度学习框架,您可以在Keras和PyTorch之间进行选择,但您不可能同时使用两者。这是非常主观的,但在我看来,如果你正在研究一种新算法,你更有可能使用PyTorch(或TensorFlow或其他一些低级框架)来获得灵活性。如果您正在将已知且经过测试的算法调整为新的问题设置,您可能希望使用Keras,因为它更简单,入门级更低。