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:
- ¿Cuáles son las aplicaciones industriales del algoritmo vecino K más cercano?
- Cómo lidiar con la oclusión, deformación o distorsión de perspectiva para la detección de objetos
- ¿Cuál es la diferencia entre la red neuronal y la regresión logística?
- ¿Cuáles son las buenas formas de combinar dos salidas de un clasificador?
- ¿Cómo lidiamos con conjuntos de datos muy grandes que no caben en la RAM?
- 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.