A continuación se ofrecen algunos consejos para solucionar problemas inesperados.
Operación no permitida dentro del alcance de la estrategia de distribución
Error como : No se permite la creación de un generador dentro del alcance de una estrategia, porque existe ambigüedad sobre cómo replicar un generador (por ejemplo, ¿debería copiarse para que cada réplica obtenga los mismos números aleatorios, o "dividirlo" para que cada réplica obtenga números aleatorios diferentes)? números).
Solución : pasar distribution_strategy='auto'
para run
la API envuelve todo su script en una estrategia de distribución TF basada en la configuración del clúster proporcionada. Verá el error anterior o algo similar si por alguna razón no se permite una operación dentro del alcance de la estrategia de distribución. Para corregir el error, pase None
al parámetro distribution_strategy
y cree una instancia de estrategia como parte de su código de entrenamiento, como se muestra en este ejemplo.
Tiempo de espera de creación de imágenes de Docker
Error como : request.exceptions.ConnectionError: ('Conexión cancelada', tiempo de espera ('Se agotó el tiempo de espera de la operación de escritura'))
Solución : Es probable que el directorio que se utiliza como punto de entrada tenga demasiados datos para que la imagen se genere correctamente y es posible que se incluyan datos superfluos en la creación. Vuelva a formatear la estructura de su directorio de modo que la carpeta que contiene el punto de entrada solo incluya los archivos necesarios para el proyecto actual.
Versión no compatible con entrenamiento de TPU
Error como : Hubo un error al enviar el trabajo. Campo: tpu_tf_version Error: La versión de tiempo de ejecución especificada '2.3' no es compatible con el entrenamiento de TPU. Especifique una versión de tiempo de ejecución diferente.
Solución : utilice TF versión 2.1. Consulte Estrategia de TPU en la sección Configuración de estrategia de distribución y clúster .
Construcción nocturna de TF.
Advertencia como : la imagen principal de Docker '2.4.0.dev20200720' no existe. Usando la última versión nocturna de TF.
Solución : si no proporciona el parámetro docker_config.parent_image
, de forma predeterminada utilizamos imágenes de la ventana acoplable TF prediseñadas como imagen principal. Si no tiene TF instalado en el entorno donde se llama run
, se utilizará la imagen de la ventana acoplable TF para la latest
versión estable. De lo contrario, la versión de la imagen de la ventana acoplable coincidirá con la versión TF instalada localmente. Sin embargo, las imágenes de la ventana acoplable TF prediseñadas no están disponibles para las noches de TF, excepto las más recientes. Por lo tanto, si su TF local es una versión nocturna anterior, actualizamos automáticamente a la última versión nocturna y generamos esta advertencia.
Mezclar objetos de estrategia de distribución.
Error como : RuntimeError: Mezclando diferentes objetos tf.distribute.Strategy.
Solución : proporcione distribution_strategy=None
cuando ya tenga una estrategia de distribución definida en el código de su modelo. Al especificar distribution_strategy'='auto'
, su código se envolverá en una estrategia de distribución de TensorFlow. Esto provocará el error anterior, si ya hay un objeto de estrategia utilizado en su código.