web-dev-qa-db-ja.com

scikit-learnはGPUを利用しますか?

Tensroflowでのscikit-learnの実装の読み取り: http://learningtensorflow.com/lesson6/ およびscikit-learn: http://scikit-learn.org/stable/modules/generated /sklearn.cluster.KMeans.html 使用する実装を決定するのに苦労しています。

scikit-learnは、テンソルフロードッカーコンテナの一部としてインストールされるため、どちらの実装も使用できます。

Scikit-learnを使用する理由:

scikit-learnには、テンソルフローの実装よりも少ないボイラープレートが含まれています。

テンソルフローを使用する理由:

Nvidia GPUで実行している場合、アルゴリズムは並行して実行されますが、scikit-learnが利用可能なすべてのGPUを利用するかどうかはわかりません。

読み取り https://www.quora.com/What-are-the-main-differences-between-TensorFlow-and-SciKit-Learn

TensorFlowはより低レベルです。基本的に、機械学習アルゴリズムの実装を支援するレゴブロックと、scikit-learnは既成のアルゴリズム、たとえば、SVM、ランダムフォレスト、ロジスティック回帰などの分類アルゴリズムを提供します。 TensorFlowは、ディープラーニングアルゴリズムを実装する場合に非常に効果的です。これは、GPUを利用してより効率的なトレーニングを行えるようにするためです。

このステートメントは、「scikit-learnにはtensorflow実装よりも少ないボイラープレートが含まれている」という私の主張を再確認しますが、scikit-learnが利用可能なすべてのGPUを利用しないことも示唆しています。

31
blue-sky

Tensorflowは、CudaおよびCuDNNに対して構築されている場合にのみGPUを使用します。デフォルトでは、特に nvidia-docker とそれが可能な画像を使用しない限り、GPUを使用する予定はありません。

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-or-reinforcement-learning-in-scikit-learn

scikit-learnにGPUサポートを追加しますか?

いいえ、または少なくとも近い将来に。主な理由は、GPUサポートにより多くのソフトウェアの依存関係が発生し、プラットフォーム固有の問題が発生するためです。 scikit-learnは、さまざまなプラットフォームに簡単にインストールできるように設計されています。ニューラルネットワーク以外では、今日のGPUは機械学習で大きな役割を果たしておらず、アルゴリズムを慎重に選択することで、はるかに大きな速度向上を実現できます。

http://scikit-learn.org/stable/faq.html#will-you-add-gpu-support から抽出

61

単純に.

FAQ「GPUサポートを追加しますか?」をご覧ください。 scikit-learn here によって提供されます。彼らはその理由を明確に説明しています。

0
Veera Srikanth