Python para IA · Lección 20
¿Qué consideración es importante tener en cuenta al mover tensores y un modelo entre CPU y GPU durante el desarrollo de código con PyTorch?
Todos los tensores involucrados en una misma operación (como los datos de entrada y los pesos del modelo) deben estar en el mismo dispositivo (todos en CPU o todos en GPU) simultáneamente, ya que PyTorch no puede combinar directamente tensores ubicados en dispositivos distintos dentro de la misma operación
PyTorch mueve automáticamente y sin ninguna instrucción explícita todos los tensores hacia la GPU disponible tan pronto como detecta que existe una GPU en el sistema
Solo es relevante esta consideración si el sistema tiene exactamente una única GPU en total disponible, sin ninguna posibilidad real de tener múltiples GPUs
Un tensor ubicado en GPU y otro ubicado en CPU siempre pueden combinarse directamente en la misma operación sin ningún error ni necesidad de mover alguno de ellos primero
Python para IA · Lección 20
Completa el código
Todos los tensores involucrados en una operación deben estar en el mismo
Revisa: todos los tensores involucrados en una operación deben estar en el mismo dispositivo.
Python para IA · Lección 20
¿Por qué intentar multiplicar un tensor ubicado en GPU con otro tensor que quedó accidentalmente en CPU generaría un error, en vez de que PyTorch simplemente maneje esa combinación automáticamente sin problema?
Pista: la GPU y la CPU son dispositivos de cómputo físicamente separados, cada uno con su propia memoria independiente; un tensor almacenado en la memoria de la GPU no puede combinarse directamente en una operación con un tensor almacenado en la memoria de la CPU sin antes moverlos explícitamente al mismo dispositivo, así que PyTorch genera un error claro que alerta al desarrollador sobre esa inconsistencia, en vez de intentar manejarla silenciosamente de alguna forma ambigua.
✓
¡Lección completada!
Mover cómputo entre CPU y GPU con PyTorch
0
XP ganado
3
Vidas restantes