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を利用しないことも示唆しています。
Tensorflowは、CudaおよびCuDNNに対して構築されている場合にのみGPUを使用します。デフォルトでは、特に nvidia-docker とそれが可能な画像を使用しない限り、GPUを使用する予定はありません。
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 から抽出
単純に.
FAQ「GPUサポートを追加しますか?」をご覧ください。 scikit-learn here によって提供されます。彼らはその理由を明確に説明しています。