tf.keras.experimental.terminate_keras_multiprocessing_pools

View source on GitHub

Destroy Keras' multiprocessing pools to prevent deadlocks.

Aliases:

tf.keras.experimental.terminate_keras_multiprocessing_pools(
    grace_period=0.1,
    use_sigkill=False
)

In general multiprocessing.Pool can interact quite badly with other, seemingly unrelated, parts of a codebase due to Pool's reliance on fork. This method cleans up all pools which are known to belong to Keras (and thus can be safely terminated).

Args:

  • grace_period: Time (in seconds) to wait for process cleanup to propagate.
  • use_sigkill: Boolean of whether or not to perform a cleanup pass using SIGKILL.

Returns:

A list of human readable strings describing all issues encountered. It is up to the caller to decide whether to treat this as an error condition.