首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于tf.distribute.MirroredStrategy的滑雪训练模型

基于tf.distribute.MirroredStrategy的滑雪训练模型
EN

Data Science用户
提问于 2020-06-03 18:54:58
回答 1查看 142关注 0票数 0

我希望将一个简单模型的培训分发给单个设备上的一些或所有CPU和GPU,例如支持向量分类器( sklearn.svm.SVC() )。我以前从未使用过GPU,我不知道这是如何工作的,或者使用tensorflow是否是这个简单任务的正确选择。我认为我需要做的是这样的:

代码语言:javascript
复制
import tensorflow as tf
from sklearn.svm import SVC
from sklearn import datasets
from sklearn.model_selection import train_test_split

strategy = tf.distribute.MirroredStrategy()

with strategy.scope():

    iris = datasets.load_iris()
    X = iris.data
    y = iris.target
    class_names = iris.target_names 

    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

    classifier = svm.SVC(kernel='linear', C=0.01).fit(X_train, y_train)

我使用的实际数据集是具有11个特性的\approx 3 \times 10^8培训示例。这段代码能像我想的那样做吗?如果没有,那么做这项工作的最佳方式是什么?如果是的话,还有什么可以改进的吗?

编辑:

在进行了更多的googling搜索之后,我发现sklearn不支持GPU的使用。见本文:https://stackoverflow.com/questions/41567895/will-scikit-learn-utilize-gpu

我仍然不确定如何使用GPU来处理简单的ML模型。

EN

回答 1

Data Science用户

回答已采纳

发布于 2020-06-03 22:57:02

有几种方法允许您使用GPU进行基本的ML建模。

首先,在您介绍的代码中,tensorflow MirroredStrategy不幸没有效果。它只适用于tensorflow模型本身,而不是来自sklearn的模型。事实上,sklearn根本不提供任何GPU支持。

1. CUML

Nvidia库提供一些基本的ML模型类型和其他东西,通常提供与SciKit学习完全相同的API (类和函数)。来自Nvidia,这当然意味着一切都是建立在GPU的思想。

这是较大的急流工具集 (由Nvidia孵化)的一部分。也许还有其他工具可以帮助我们,比如他们的XGBoost库

2. 丹瑟尔流 / PyTorch + NumPy

这些框架不仅适用于复杂的深度学习,您还可以使用它们来执行任何基本的建模,并利用它们的GPU支持。他们的文档中包含了一些例子,否则类似于“机器学习”(随附一套木星笔记本的书)之类的东西是一种很好的挖掘方法。

这些框架与Python中的常规科学堆栈(例如NumPy、Scipy、Pandas)很好地工作,因为numpy数组和框架的Tensor对象在大多数情况下都是即插即用的。

3.另一种选择:

当您学习模型、它们是如何工作的时候,请坚持使用sklearn。如果您只想做任何事情,目的是了解GPU的使用,以上两个选项是最现代的方式开始。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/75401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档