El software moderno de IA generalmente incorpora lenguajes de bajo y alto nivel para el desarrollo de software y, a menudo, se combina con alguna forma de aceleración de hardware. C (o C ++) puede ser una opción efectiva para construir partes de un sistema de IA.
Como ejemplo, la plataforma Tensorflow de Google utiliza C ++ y CUDA (para la aceleración de GPU) para las bibliotecas principales. También admite ASIC personalizados para la aceleración de hardware de estas bibliotecas.
Puede usar C ++ o Python para interactuar con estas bibliotecas. Las API de Python hacen que sea más fácil hackear experimentos rápidos y también pueden ser convenientes para construir herramientas de nivel superior. Python también podría usarse en la ruta de publicación (cuando los modelos realmente se usan), pero C ++ es más común para este tipo de trabajo, al menos en Google.
- ¿Es difícil construir un simulador de planta de energía usando una enorme red neuronal artificial para fines de simulación y educación?
- ¿Qué pasa si la policía fue reemplazada por robots?
- ¿Cómo y dónde publico un trabajo de investigación sobre inteligencia artificial?
- ¿Es cierto que no debemos tomar la inteligencia como evangelio?
- ¿La propagación hacia atrás proporciona pesos finales óptimos a nivel mundial solo si el espacio de la solución de adaptación es convexo?
En cuanto a C vs C ++, este último tiene características de lenguaje de nivel superior (por ejemplo, punteros inteligentes) que facilitan algunas tareas de programación comunes. Algunas de las razones por las que los desarrolladores se han alejado históricamente de C ++ (soporte deficiente del compilador para la plataforma de destino, características de lenguaje ineficientes / problemáticas) se han resuelto o pueden resolverse restringiendo el uso de características de lenguaje particulares. Dado que personalmente creo que C ++ sería una mejor opción que C.