You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Docker中运行Spleeter时tensorflow==2.3.0版本匹配错误如何解决?

问题根因
  • 你使用的M1芯片为ARM64架构,TensorFlow 2.3.0官方未发布适配ARM64架构的预编译安装包,默认拉取的ARM64版Python基础镜像无法找到对应版本的依赖包
  • 升级pip后触发TensorFlow源码编译流程,因此构建时间极长
  • 你的Dockerfile存在冗余操作:requirements.txt中已声明spleeter依赖,后续又单独执行RUN pip3 install spleeter,重复安装拉长构建时间
可行解决方案

方案1:强制使用x86_64架构构建(最快,无需修改配置文件)

构建镜像时指定平台参数,Docker会通过Rosetta2转译运行x86_64架构镜像,可直接使用预编译的TensorFlow 2.3.0包,无需编译:

docker build --platform linux/amd64 -t 你的镜像名称 .

方案2:构建原生ARM64架构镜像

适配M1架构的同时避免源码编译:

  1. 升级spleeter版本到2.4.0及以上,该版本支持适配ARM架构的高版本TensorFlow
  2. 修改requirements.txt,将spleeter依赖替换为spleeter==2.4.0
  3. 删掉Dockerfile中冗余的RUN pip3 install spleeter行
  4. 在安装requirements.txt之前添加一行命令安装ARM版TensorFlow:
RUN pip3 install tensorflow-macos==2.9.0 tensorflow-metal==0.5.0
  1. 正常执行docker build即可,所有依赖均为预编译包,构建速度快

方案3:使用spleeter预构建镜像作为基础镜像

直接使用已经配置好所有spleeter依赖的镜像作为基础,无需自行安装音频、机器学习相关依赖,构建速度最快:
将Dockerfile第一行的基础镜像替换为:

FROM deezer/spleeter:2stems

后续仅需添加你的Flask相关依赖、业务代码即可。

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:00:03