Reticulate 不在 docker 内创建多个线程?

Reticulate not creating multiple threads inside docker?

下面的R脚本有什么原因吗

library(reticulate)

sk <- import('sklearn')
np <- import('numpy')

a <- np$random$random(c(as.integer(5000), as.integer(5000)))
pca <- sk$decomposition$PCA(as.integer(100))

pca$fit(a)

当我在本地尝试时在 4 个内核上运行,但它在 docker 容器中仅使用 1 个内核? 我正在使用 --cpuset-cpus="0-3" 并通过 运行 验证了 python 中的相同任务,容器可以访问所有 4 个核心。我还尝试了很多其他的东西,但我似乎无法找出这种行为的原因。有人知道吗?

原来是 ubuntu 上 numpy 的多线程问题。我切换到基于 Arch Linux 的 docker 图像并且工作正常。