2024-05-13 18:04:08 发布
网友
这些库可以互换吗?
看这里,https://stackshare.io/stackups/keras-vs-pytorch-vs-scikit-learn,主要的区别似乎是底层框架(至少对于PyTorch)。
是的,有一个很大的区别。
SciKit Learn是一个通用的机器学习库,建立在NumPy之上。它具有许多机器学习算法,如支持向量机、随机森林,以及许多用于一般数据预处理和后处理的实用工具。它不是一个神经网络框架。
Pythorch是一个深度学习框架,由
Keras是一个更高层次的深度学习框架,它将许多细节抽象出来,使代码比PyTorch或TensorFlow中的代码更简单和简洁,但代价是有限的可攻击性。它将计算后端抽象出来,可以是TensorFlow、Theano或CNTK。它不支持Pythorch后端,但这并非深不可测的—您可以将其视为以上内容的简化和流线型子集。
简而言之,如果你使用的是“经典”的非神经算法,那么PyTorch和Keras都不会对你有用。如果您正在进行深度学习,scikit learn可能仍然对其实用部分有用;除此之外,您还需要实际的深度学习框架,您可以在Keras和PyTorch之间进行选择,但不太可能同时使用这两个框架。这是非常主观的,但在我看来,如果你正在研究一种新的算法,你更可能使用PyTorch(或TensorFlow或其他一些较低级别的框架)来获得灵活性。如果你正在调整一个已知的和经过测试的算法来适应一个新的问题设置,你可能会希望使用Keras,因为它更简单,入门级更低。
是的,有一个很大的区别。
SciKit Learn是一个通用的机器学习库,建立在NumPy之上。它具有许多机器学习算法,如支持向量机、随机森林,以及许多用于一般数据预处理和后处理的实用工具。它不是一个神经网络框架。
Pythorch是一个深度学习框架,由
Keras是一个更高层次的深度学习框架,它将许多细节抽象出来,使代码比PyTorch或TensorFlow中的代码更简单和简洁,但代价是有限的可攻击性。它将计算后端抽象出来,可以是TensorFlow、Theano或CNTK。它不支持Pythorch后端,但这并非深不可测的—您可以将其视为以上内容的简化和流线型子集。
简而言之,如果你使用的是“经典”的非神经算法,那么PyTorch和Keras都不会对你有用。如果您正在进行深度学习,scikit learn可能仍然对其实用部分有用;除此之外,您还需要实际的深度学习框架,您可以在Keras和PyTorch之间进行选择,但不太可能同时使用这两个框架。这是非常主观的,但在我看来,如果你正在研究一种新的算法,你更可能使用PyTorch(或TensorFlow或其他一些较低级别的框架)来获得灵活性。如果你正在调整一个已知的和经过测试的算法来适应一个新的问题设置,你可能会希望使用Keras,因为它更简单,入门级更低。
相关问题 更多 >
编程相关推荐