Python配置TensorFlow-GPU环境(笔记II)-2019.03.04

本文分享了在Windows10系统下,使用NVIDIA GeForce GTX 1050 Ti和Anaconda环境下,安装TensorFlow GPU版1.13.1过程中遇到的GPU设备未被识别的问题及解决方案。通过调整代码中的设备指定方式、设置tf.Session参数、检查并重新安装CUDA和cuDNN等步骤,成功解决了设备识别问题。

       由于之前电脑问题导致系统重装,需要重新安装了GPU版的TensorFlow来跑人脸识别的代码,发现安装过程中与上一次笔记的不同了(有了新的版本匹配),这次是新的配置说明。

系统:Windows10

GPU:NVIDIA GeForce GTX 1050 Ti

Python:Anaconda3-5.0.0-Windows-x86_64,在win上安装py3.6版本。

TensorFlow:tensorflow_gpu-1.13.1

CUDA:CUDA10.0

cudnn:https://developer.nvidia.com/rdp/cudnn-download(需要注册)

这次安装主要遇到一个问题,用简单的代码进行测试:

       安装完成之后,导入TensorFlow库没有问题,但是调用GPU设备时就报错提示找不到设备。

运行错误:InvalidArgumentError (see above for traceback): Cannot assign a device for operation add: Operation was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0 ]. Make sure the device specification refers to a valid device.
     [[node add (defined at <ipython-input-3-3158f2cabb05>:6)  = Add[T=DT_FLOAT, _device="/device:GPU:0"](a, b)]]

百度翻译:InvalidArgumentError(有关回溯,请参阅上面的内容):无法为操作分配设备add:操作已显式分配给/device:gpu:0,但可用设备是[/job:localhost/replica:0/task:0/device:cpu:0]。确保设备规格引用了有效的设备。

[节点添加(定义于<ipython-input-3-3158f2cabb05>:6)=add[t=dt_float,_device=“/device:gpu:0”](a,b)]

       后来使用了几种方式,问题终于解决了。

  1. 把代码中的“with tf.device('/gpu:0'):”改为了“with tf.device(None):”。
  2. tf.Session中config = tf.ConfigProto(allow_soft_placement=True) ,allow_soft_placement为True时当GPU调用不了时会默认选择CPU调用,而为False时为选择调用GPU。
  3.  检查安装Cuda 和 cuDNN安装是否有问题,若没问题,卸载tensorflow(CPU与GPU版),再次重装了tensorflow-gpu。
  4. 检查GPU是否有开启。 


 

文章未经博主同意,禁止转载!


 

### 配置 Python 3.11 和 PyCharm 的 TensorFlow-GPU 环境Python 3.11 下配置 TensorFlow-GPU 环境可能会遇到一些兼容性问题,因为 TensorFlow 官方并不完全支持最新的 Python 版本。以下是详细的解决方案: #### 兼容性注意事项 TensorFlowPython 版本的支持有限。根据官方文档[^2],TensorFlow 2.3.0 支持的最高 Python 版本为 3.8。因此,在尝试安装 TensorFlow-GPU 之前,请确认所使用的 Python 版本是否被支持。 如果强制使用不支持的 Python 版本(如 Python 3.11),可能需要手动调整依赖项并解决潜在冲突。 --- #### 解决方案 ##### 方法一:降级至受支持的 Python 版本 建议将 Python 版本降至 3.7 或 3.8,这是 TensorFlow 2.x 的推荐版本范围。可以通过以下方式实现: ```bash conda create -n tf_env python=3.8 conda activate tf_env ``` 随后按照标准流程安装 TensorFlow-GPU: ```bash pip install tensorflow-gpu==2.3.0 ``` 此方法可以有效避免因高版本 Python 导致的兼容性问题[^1]。 --- ##### 方法二:继续使用 Python 3.11 并处理依赖关系 如果必须坚持使用 Python 3.11,则需注意以下几点: 1. **检查 CUDA 和 cuDNN 版本** TensorFlow-GPU 要求特定版本的 NVIDIA CUDA Toolkit 和 cuDNN 库。对于 TensorFlow 2.3.0,应匹配 CUDA 10.1 和 cuDNN 7.6。可通过以下命令验证已安装的驱动程序版本: ```bash nvcc --version cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 ``` 2. **安装 NumPy 的适配版本** 如果存在 `ImportError` 提示与 NumPy 不兼容的情况,可卸载当前版本并重新安装指定版本的 NumPy: ```bash pip uninstall numpy pip install numpy==1.19.5 ``` 这一步骤有助于修复常见的导入错误[^3]。 3. **安装 TensorFlow-GPU** 使用清华镜像源加速安装过程: ```bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu==2.3.0 ``` 4. **测试环境** 创建简单的脚本来验证 TensorFlow 是否成功加载 GPU 设备: ```python import tensorflow as tf gpus = tf.config.list_physical_devices('GPU') if gpus: print(f"Detected {len(gpus)} GPUs") else: print("No GPU detected.") ``` --- #### 在 PyCharm 中配置 TensorFlow-GPU 环境 完成上述步骤后,还需设置 PyCharm 来识别虚拟环境中的 TensorFlow-GPU: 1. 打开 PyCharm 设置 (`File -> Settings`)。 2. 转到 `Project: <your_project_name> -> Python Interpreter`。 3. 添加新的解释器路径指向 Conda 或 Pip 创建的虚拟环境目录。 4. 确认项目文件夹下的 `.venv` 文件已被正确关联。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值