De manera similar a la respuesta anterior de Quora User, mi respuesta no es una respuesta directa a su pregunta, sino que se centra en la noción de encontrar posibles cuellos de botella en sus procesos, específicamente en lo que respecta a si sus cálculos están vinculados por E / S o por el procesador Creo que la respuesta depende del objetivo de su programa.
Por ejemplo, suponga que su objetivo es entrenar una red neuronal en línea utilizando una secuencia de datos en tiempo real como entradas. Digamos también que dicha red neuronal tiene una capa de entrada, 3 capas ocultas con seis nodos cada una y una sola capa de salida. En esta situación, es probable que su programa esté vinculado a la CPU (suponiendo que la cantidad de características en sus datos sea al menos algo realista); una computadora puede leer un flujo de datos más rápido de lo que puede calcular una red neuronal de este tamaño (es decir, una red neuronal recurrente, que sería la opción más probable para esta aplicación tiene complejidad de O ((número de flujos) (número de pesos en red) ^ 2).
Como otro ejemplo, supongamos que su objetivo es calcular un clasificador relativamente simple, por ejemplo, un modelo de regresión lineal tradicional. Supongamos también que los datos en los que entrenas al clasificador son un subconjunto relativamente complejo de un conjunto de datos masivo. En este caso, estaría vinculado a E / S; una computadora puede realizar más rápidamente los cálculos necesarios para una regresión lineal que los procedimientos de consulta y almacenamiento necesarios.
- Quiero producir una aplicación móvil basada en realidad aumentada. ¿Dónde puedo encontrar un desarrollador que codifique esto para mí por equidad en lugar de pago?
- Estoy buscando un sistema operativo de código abierto para dispositivos IoT. ¿Riot-os es la mejor opción que existe?
- Soy Oracle PLSQL Developer de los últimos 3 años y ahora quiero hacer crecer mi base tecnológica. ¿Qué tecnología debería aprender a crecer en el futuro?
- Creo que IoT gobernará la tecnología futura. ¿Cómo podemos hacer dispositivos IoT de bajo costo?
- Cuando descargo un archivo de Internet, se consume algo de energía. ¿A dónde va esta energía cuando borro el archivo?
Para dar un último ejemplo de una situación particularmente desagradable, supongamos que se ha decidido por un objetivo bastante ambicioso: desea entrenar un modelo forestal aleatorio utilizando los datos mencionados en el segundo ejemplo. Ahora se ha encontrado en una posición interesante: su modelo no puede ser entrenado en línea (streaming), y obtener sus entradas requiere una serie de consultas complejas de una considerable colección de datos. Esto es más un ejercicio de reflexión que los ejemplos prácticos dados anteriormente, ya que el factor de restricción de la respuesta depende de los detalles de su modelo (es decir, cuántos árboles, profundidad de cada árbol, etc.), así como de los datos en sí (qué tan grande , qué tan compleja es la consulta).
Entonces, desafortunadamente no hay una regla generalizada simple y clara para responder a su pregunta.