scikit learn español python scikit-learn tensorflow k-means

python - español - ¿Scikit-learn utilizará GPU?



scikit learn español (1)

Lectura de la implementación de scikit-learn en tensroflow: http://learningtensorflow.com/lesson6/ y scikit-learn: http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html Estoy Luchando para decidir qué implementación usar.

scikit-learn se instala como parte del contenedor de tensorflow docker, por lo que puede utilizar cualquiera de las dos implementaciones.

Razón para utilizar scikit-learn:

scikit-learn contiene menos placa de caldera que la implementación de tensorflow.

Razón para utilizar tensorflow:

Si se ejecuta en la GPU de Nvidia, el algoritmo se ejecutará en paralelo, no estoy seguro de si scikit-learn utilizará todas las GPU disponibles.

Leyendo https://www.quora.com/What-are-the-main-differences-between-TensorFlow-and-SciKit-Learn

TensorFlow es más bajo nivel; Básicamente, los ladrillos de Lego que lo ayudan a implementar algoritmos de aprendizaje automático, mientras que scikit-learn le ofrece algoritmos estándar, por ejemplo, algoritmos para clasificación como SVM, bosques aleatorios, regresión logística y muchos, muchos más. TensorFlow realmente brilla si desea implementar algoritmos de aprendizaje profundo, ya que le permite aprovechar las GPU para una capacitación más eficiente.

Esta declaración refuerza mi afirmación de que "scikit-learn contiene menos placa de calderas que la implementación de tensorflow", pero también sugiere que scikit-learn no utilizará todas las GPU disponibles.


Tensorflow solo usa GPU si está construido contra Cuda y CuDNN. Por defecto, ninguno de los dos va a usar GPU, especialmente si se está ejecutando dentro de Docker, a menos que use nvidia-docker y una imagen capaz de hacerlo.

Scikit-learn no está diseñado para ser utilizado como un marco de aprendizaje profundo, y parece que no admite cálculos de GPU.

¿Por qué no hay apoyo para el aprendizaje profundo o de refuerzo? ¿Habrá apoyo para el aprendizaje profundo o de refuerzo en scikit-learn?

El aprendizaje profundo y el aprendizaje por refuerzo requieren un amplio vocabulario para definir una arquitectura, y el aprendizaje profundo también requiere GPU para una computación eficiente. Sin embargo, ninguno de estos se ajusta a las limitaciones de diseño de scikit-learn; como resultado, el aprendizaje profundo y el aprendizaje por refuerzo están actualmente fuera del alcance de lo que scikit-learn busca lograr.

Extraído de 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

¿Agregará soporte GPU en scikit-learn?

No, o al menos no en un futuro próximo. La razón principal es que el soporte de GPU introducirá muchas dependencias de software e introducirá problemas específicos de la plataforma. scikit-learn está diseñado para ser fácil de instalar en una amplia variedad de plataformas. Fuera de las redes neuronales, las GPU no desempeñan un papel importante en el aprendizaje automático en la actualidad, y a menudo se pueden obtener ganancias mucho más grandes en la velocidad con una elección cuidadosa de los algoritmos.

Extraído de FAQs