近些时间一直在用autodl租服务器,没怎么用自己的电脑跑深度学习。今天发现自己的tf环境已经有很严重的包不兼容的情况,只能重新安装,其实已经安装过好几次了,每次都要重新找教程,所以自己整理了一些命令和遇到的问题。

1.常用命令

1.anaconda常用命令

# 基础语法:conda create -n 环境名 python=版本号
conda create -n tf python=3.9

# Windows系统激活
conda activate tf  # 激活名为tf的环境(激活后命令行前缀会显示环境名)

# 退出当前环境(回到base环境)
conda deactivate

#查看所有环境
conda info --envs  # 或 conda env list

# 复制环境:conda create -n 新环境名 --clone 原环境名
conda create -n tf_backup --clone tf  

# 删除环境:conda remove -n 环境名 --all
conda remove -n tf --all -y  

# 基础语法:conda install 包名=版本号
conda install numpy=1.21.5 -y  # 安装指定版本的NumPy

# 用pip安装(conda没有的包用pip)
pip install tensorflow-gpu==2.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

conda list  # 查看当前环境的所有包

# 升级包:conda update 包名
conda update numpy -y  # 升级NumPy到最新版
conda update --all -y  # 升级当前环境的所有包

# 卸载包:conda remove 包名
conda remove numpy -y  # 卸载NumPy
pip uninstall numpy -y  # pip卸载包

2.将虚拟环境加入Jupyter 内核

#配置Jupyter 的内核
python -m ipykernel install --user --name tf --display-name tf

#查看已配置的 Jupyter 内核
jupyter kernelspec list

#删除无用的 Jupyter 内核
jupyter kernelspec remove tf

2.安装cuda和cudnn

1.卸载Cuda和Cudnn

  1. 应用中找到所有NVIDIA CUDA开头的程序,卸载。环境变量会自动删除
  2. 删除 CUDA 安装目录(C:\Program Files\NVIDIA GPU Computing Toolkit)把NVIDIA GPU Computing Toolkit删了

2.安装cuda

win系统,显卡是RTX4060,之前装的cuda11.6,试了几种搭配都不行。无奈重新安装cuda,问了下ai最推荐的搭配,实在不想瞎试了,没想到居然一次就成功了感动/(ㄒoㄒ)/~~

TensorFlow-GPU 2.10.0 最后一个支持 Windows 原生 GPU 的版本
CUDA Toolkit 11.2 TensorFlow 2.10 官方指定 CUDA 版本
cuDNN 8.1.0 与 CUDA 11.2 严格匹配的版本
Python 3.9.x TensorFlow 2.10 推荐的 Python 版本

CUDA 历史版本下载页找到11.2,不需要注册,直接下载

这里我安装的时候出现了问题:You already have a version of NVIDIA CUDA frameview SDK installed

将NVIDIA Frameview SDK应用删除即可

取消勾选驱动diver安装,避免不兼容

验证安装是否成功

nvcc -V

2.安装cudnn

cuDNN历史版本找到8.1.0版本,需要注册账号

解压后将include,lib\x64,bin文件夹的文件复制到 CUDA 11.2 的对应目录

3.配置环境

1.系统变量CUDA_PATH不用添加,已经自动添加了

2.path中添加

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include

3.由于TensorFlow 2.10 不会主动识别 RTX 4060 ,可以通过强制兼容配置调用 RTX 4060 的 GPU 资源进行计算:

添加 RTX 4060 兼容的环境变量

TF_CPP_MIN_LOG_LEVEL=2

TF_FORCE_GPU_ALLOW_GROWTH=true

2.创建tensorflow环境

创建tf环境

conda create -n tf python=3.9
conda activate tf

在tf环境里安装tensorflow-gpu

# 安装TensorFlow-GPU 2.10.0
pip install tensorflow-gpu==2.10.0

# 这里要重装一下numpy,不然会不兼容
pip install numpy==1.23.5 pandas matplotlib scikit-learn

#安装jupyter内核
pip install ipykernel jupyter

#配置Jupyter 的内核
python -m ipykernel install --user --name tf --display-name tf

在jupyter里验证安装是否成功

import tensorflow as tf

# 检查TensorFlow版本
print("TensorFlow版本:", tf.__version__)

# 检查CUDA是否内置支持
print("CUDA是否可用:", tf.test.is_built_with_cuda())

# 检查GPU硬件设备
gpu_devices = tf.config.list_physical_devices('GPU')
print("GPU是否可用:", gpu_devices)
if gpu_devices:
    print("GPU设备名称:", tf.config.experimental.get_device_details(gpu_devices[0])['device_name'])

# 获取cuDNN版本
print("cuDNN版本:", tf.config.list_physical_devices('GPU') and tf.sysconfig.get_build_info()['cudnn_version'] or "cuDNN未加载")

# 测试GPU计算
a = tf.constant([1.0, 2.0, 3.0], shape=[3, 1])
b = tf.constant([1.0, 2.0, 3.0], shape=[1, 3])
c = tf.matmul(a, b)
print("GPU矩阵计算结果:", c)
TensorFlow版本: 2.10.0
CUDA是否可用: True
GPU是否可用: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
GPU设备名称: NVIDIA GeForce RTX 4060 Laptop GPU
cuDNN版本: 64_8
GPU矩阵计算结果: tf.Tensor(
[[1. 2. 3.]
 [2. 4. 6.]
 [3. 6. 9.]], shape=(3, 3), dtype=float32)

完美!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐