CP
tensorflow
runtime_error
ai_generated
true
InvalidArgumentError: CPU affinity is not supported on this platform [Op:ModelDataset]
ID: tensorflow/tf-data-cpu-affinity-error
90%Fix Rate
85%Confidence
1Evidence
2023-03-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| tensorflow 2.10 | active | — | — | — |
| tensorflow 2.11 | active | — | — | — |
| tensorflow 2.12 | active | — | — | — |
Root Cause
TF Data autotuning with CPU affinity is enabled on a platform that does not support sched_setaffinity (e.g., macOS or certain container environments).
generic中文
TF Data 自动调优启用了 CPU 亲和性,但当前平台(如 macOS 或特定容器环境)不支持 sched_setaffinity。
Official Documentation
https://www.tensorflow.org/api_docs/python/tf/data/experimental/AutotuneOptionsWorkarounds
-
95% success Disable autotune CPU affinity by calling tf.data.experimental.AutotuneOptions with autotune_cpu_affinity=False before building the dataset pipeline.
Disable autotune CPU affinity by calling tf.data.experimental.AutotuneOptions with autotune_cpu_affinity=False before building the dataset pipeline.
-
85% success Run the script inside a Linux container (Docker) with full sched_setaffinity support, e.g., docker run --rm -it tensorflow/tensorflow:latest python script.py
Run the script inside a Linux container (Docker) with full sched_setaffinity support, e.g., docker run --rm -it tensorflow/tensorflow:latest python script.py
中文步骤
在构建数据集管道之前,通过 tf.data.experimental.AutotuneOptions 设置 autotune_cpu_affinity=False 来禁用自动调优 CPU 亲和性。
在支持 sched_setaffinity 的 Linux 容器(Docker)中运行脚本,例如 docker run --rm -it tensorflow/tensorflow:latest python script.py
Dead Ends
Common approaches that don't work:
-
95% fail
The error is a hard InvalidArgumentError, not a warning; logging suppression does not prevent the crash.
-
90% fail
The issue is at the OS/kernel level, not a library bug; reinstallation does not change platform support.