在tensroflow中阅读scikit-learn的实现:http://learningtensorflow.com/lesson6/ 和scikit-learn:http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html 我是努力决定使用哪种实现.
scikit-learn作为tensorflow docker容器的一部分安装,因此可以使用任一实现.
使用scikit-learn的原因:
scikit-learn包含比tensorflow实现更少的锅炉板.
使用tensorflow的原因:
如果在Nvidia GPU上运行算法wilk并行运行,我不确定scikit-learn是否会利用所有可用的GPU?
阅读https://www.quora.com/What-are-the-main-differences-between-TensorFlow-and-SciKit-Learn
TensorFlow更低级别; 基本上,乐高积木可以帮助您实现机器学习算法,而scikit-learn为您提供现成的算法,例如,分类算法,如SVM,随机森林,Logistic回归等等.如果你想实现深度学习算法,TensorFlow真的很棒,因为它可以让你利用GPU进行更有效的训练.
这个陈述重新强化了我的断言"scikit-learn包含的锅炉板比tensorflow实现更少",但也暗示scikit-learn不会利用所有可用的GPU?
Tensorflow仅使用GPU,如果它是针对Cuda和CuDNN构建的.默认情况下,两者都不会使用GPU,特别是如果它在Docker中运行,除非您使用nvidia-docker和能够执行此操作的图像.
Scikit-learn不打算用作深度学习框架,似乎它不支持GPU计算.
为什么没有深度或强化学习的支持/在scikit-learn中是否会支持深度学习或强化学习?
深度学习和强化学习都需要丰富的词汇来定义架构,深度学习还需要GPU进行高效计算.然而,这些都不符合scikit-learn的设计约束; 因此,深度学习和强化学习目前超出了scikit-learn寻求实现的目标.
摘自http://scikit-learn.org/stable/faq.html#why-is-there-no-support-for-deep-or-reinforcement-learning-will-there-be-support-for-deep-或加固,学习中scikit学习
你会在scikit-learn中添加GPU支持吗?
不,或者至少在不久的将来不会.主要原因是GPU支持将引入许多软件依赖性并引入特定于平台的问题.scikit-learn旨在易于安装在各种平台上.在神经网络之外,GPU在当今的机器学习中不起重要作用,通过仔细选择算法通常可以实现更大的速度提升.
摘自http://scikit-learn.org/stable/faq.html#will-you-add-gpu-support