blu*_*sky 35 python k-means scikit-learn tensorflow
在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?
Iva*_*eno 66
Tensorflow仅使用GPU,如果它是针对Cuda和CuDNN构建的.默认情况下,两者都不会使用GPU,特别是如果它在Docker中运行,除非您使用nvidia-docker和能够执行此操作的图像.
Scikit-learn不打算用作深度学习框架,似乎它不支持GPU计算.
为什么没有深度或强化学习的支持/在scikit-learn中是否会支持深度学习或强化学习?
深度学习和强化学习都需要丰富的词汇来定义架构,深度学习还需要GPU进行高效计算.然而,这些都不符合scikit-learn的设计约束; 因此,深度学习和强化学习目前超出了scikit-learn寻求实现的目标.
你会在scikit-learn中添加GPU支持吗?
不,或者至少在不久的将来不会.主要原因是GPU支持将引入许多软件依赖性并引入特定于平台的问题.scikit-learn旨在易于安装在各种平台上.在神经网络之外,GPU在当今的机器学习中不起重要作用,通过仔细选择算法通常可以实现更大的速度提升.
摘自http://scikit-learn.org/stable/faq.html#will-you-add-gpu-support
我正在尝试使用插入式解决方案 (h2o4gpu) 来利用 GPU 加速,特别是对于 Kmeans:
尝试这个:
from h2o4gpu.solvers import KMeans
#from sklearn.cluster import KMeans
Run Code Online (Sandbox Code Playgroud)
截至目前,版本 0.3.2 仍然没有.inertia _ 但我认为它在他们的TODO列表中。
编辑:尚未测试,但scikit-cuda似乎越来越受欢迎。
编辑:RAPIDS真的是去这里的方式。
小智 8
根据我的经验,我使用这个包来利用 GPU 来实现这里的一些 sklearn算法。
我使用的代码:
import numpy as np
import dpctl
from sklearnex import patch_sklearn, config_context
patch_sklearn()
from sklearn.cluster import DBSCAN
X = np.array([[1., 2.], [2., 2.], [2., 3.],
[8., 7.], [8., 8.], [25., 80.]], dtype=np.float32)
with config_context(target_offload="gpu:0"):
clustering = DBSCAN(eps=3, min_samples=2).fit(X)
Run Code Online (Sandbox Code Playgroud)
来源:Intel(R) Scikit-learn 扩展中的 oneAPI 和 GPU 支持
| 归档时间: |
|
| 查看次数: |
43800 次 |
| 最近记录: |