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

WSL2环境下无法加载带DirectML的Tensorflow问题求助

问题解决:WSL2 Ubuntu中TensorFlow导入时libtfdml_plugin.so符号错误

问题描述

在WSL2的Ubuntu 18.04/20.04 Anaconda环境中执行import tensorflow as tf时,触发以下报错:

NotFoundError: /home/andre/anaconda3/lib/python3.8/site-packages/tensorflow-plugins/libtfdml_plugin.so: symbol _ZN4absl12lts_2021110213hash_internal15MixingHashState5kSeedE version tensorflow not defined in file _pywrap_tensorflow_internal.so with link time reference

已确认Windows版本、WSL2内核符合要求,主机CUDA驱动已安装,Windows端Anaconda可正常运行TensorFlow,多次卸载重装WSL内的TensorFlow、更换Ubuntu版本均无效。

解决方案

该错误源于DirectML TensorFlow插件(libtfdml_plugin.so)与当前TensorFlow版本的absl依赖库版本不兼容,WSL2环境下误装DirectML相关组件会触发此冲突,可通过以下方式解决:

1. 移除tensorflow-plugins目录

直接删除冲突的插件目录:

rm -rf /home/andre/anaconda3/lib/python3.8/site-packages/tensorflow-plugins

删除后重新尝试导入TensorFlow。

2. 禁用TensorFlow插件加载

在导入TensorFlow前设置环境变量阻止插件加载:

import os
os.environ['TF_PLUGIN_DIR'] = ''
import tensorflow as tf

或在终端启动notebook前设置环境变量:

export TF_PLUGIN_DIR=''
jupyter notebook

3. 创建纯净虚拟环境

避免环境残留依赖冲突,新建环境并安装适配CUDA的TensorFlow:

# 创建新环境
conda create -n tf_env python=3.8
# 激活环境
conda activate tf_env
# 安装与CUDA版本匹配的TensorFlow(示例为2.10,对应CUDA 11.2)
pip install tensorflow==2.10

注意:TensorFlow版本需与WSL内安装的CUDA Toolkit版本匹配(WSL内无需安装CUDA驱动,仅需Toolkit)。

4. 卸载tensorflow-directml组件

若曾安装过DirectML版本的TensorFlow,彻底卸载:

pip uninstall -y tensorflow-directml
conda uninstall -y tensorflow-directml

之后重新安装官方TensorFlow包。

补充说明

WSL2中使用CUDA加速TensorFlow仅需:

  • Windows主机安装对应版本NVIDIA驱动
  • WSL内安装匹配版本的CUDA Toolkit
  • 安装对应版本的官方TensorFlow

无需安装DirectML相关组件,这是引发冲突的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:55:26