Cómo hacer una biblioteca en ML como Tensorflow

Hacer una biblioteca como TensorFlow no tendría sentido, porque TensorFlow ya existe.

Para justificar el desarrollo de una biblioteca, debe tener algún tipo de idea. O algo que aún no se ha implementado o algo que crees que puedes hacer mejor que el software existente. Si lo que necesita ya existe, también podría usarlo. Si lo que necesita es muy similar a algo que existe, la forma de código abierto es construir sobre eso.

Dos ejemplos recientes:

  • CNTK es una biblioteca de aprendizaje profundo que tiene como objetivo hacer lo mismo que TensorFlow, solo que mejor. Por un lado, puede ejecutarse en múltiples GPU en muchas máquinas. CNTK fue desarrollado por Microsoft Research y cuenta con 112 colaboradores en GitHub.
  • Keras es una biblioteca de aprendizaje profundo que facilita el desarrollo con TensorFlow y Theano al proporcionar abstracciones sobre ellos. Fue desarrollado por Quora User, pero tiene 342 colaboradores en GitHub.

La razón por la que enumero el número de contribuyentes es para mostrar que el desarrollo de bibliotecas como estas requiere mucho trabajo. Si solo desea hacer una pequeña biblioteca de ML para divertirse, o para su propio uso, está bien, pero si desea crear algo que sea útil para otros, necesita una idea clara y mucho tiempo en sus manos. Una vez que sepa lo que quiere hacer, es tan simple como inicializar un repositorio de GitHub y comenzar a codificar.

Comience una compañía que se convierta en la compañía de internet más grande del mundo. Invierta mucho en el desarrollo de tecnología de aprendizaje automático. Obtenga una versión de su tecnología interna que pueda ser de código abierto pero que no pueda competir con la versión interna.

Es mejor no crear su propia biblioteca, sino ajustar una existente a sus necesidades. Si desea desarrollar un algoritmo que no está cubierto y que no se puede implementar fácilmente utilizando una biblioteca existente (como TensorFlow, Theano o Torch), vaya un nivel más profundo y aprenda a desarrollar código C ++ que apunte a GPU (Programación CUDA: Una guía para desarrolladores para Computación paralela con GPU (aplicaciones de computación Gpu): Shane Cook: 9780124159334: Amazon.com: Libros).

Una vez más, estas otras bibliotecas generalmente ofrecen una ruta mucho más rápida / limpia a los resultados y si estás dispuesto a profundizar en ellas, probablemente te darán un acceso directo a cualquier algoritmo novedoso que tengas en mente.

More Interesting

¿Tiene Microsoft una mejor tecnología de aprendizaje automático y aprendizaje profundo que Google?

¿Qué modelos CNN necesitan una norma de lote pero son lo suficientemente pequeños como para hacer una prueba muy rápida?

¿Hay algún lugar para ingenieros de software que no aprendan IA o Machine Learning en los próximos 10 años o todos tienen que aprenderlo?

¿Cómo se siente la comunidad de aprendizaje automático sobre Kaggle?

¿Qué dice el profesor Yaser Abu-Mostafa en su conferencia sobre la viabilidad del aprendizaje?

¿Cuáles son algunas implementaciones de SGD distribuidas?

¿El análisis de sentimientos basado en léxico se considera un método no supervisado?

¿Cuál es el método del núcleo? ¿Cómo se usa en los sistemas de recomendación?

¿Qué tipo de aprendizaje automático debería usar Tinder para mejorar su número de coincidencias?

¿Cuáles son las principales razones contra el uso de apilamiento cuando tenemos redes neuronales?

¿Qué pasaría si pocos puntos de datos son comunes en los conjuntos de capacitación y validación?

¿Cómo responden las redes neuronales profundas para la clasificación de imágenes a las variaciones típicas de la imagen, como la iluminación, la distancia focal, etc.?

¿Qué utiliza la aspiradora robótica como recompensa si utilizan el aprendizaje por refuerzo como algoritmo?

Cómo calcular un puntaje usando la prueba de relación de distancia al vecino más cercano en MATLAB

¿Qué tan bueno debería ser para inscribirme en un Master Machine Learning?