Tensorflow第一篇(安装环境)

167 阅读3分钟

前言

由于人工成本的不断上涨,公司需要一个图像识别的功能。为此,公司决定搭建机器学习环境,自主进行图像识别。公司拥有丰富的图像数据,且当今机器学习框架已经非常成熟,为自主开发提供了有利条件。

电脑配置

电脑搭载了英特尔第 13 代 Core i5-13490F 处理器、NVIDIA GeForce RTX 4070 12G 显卡和 32GB 内存。

image.png

image.png

Anaconda安装

Anaconda官网下载及安装即可。这里说一点你可以在安装时就把Anaconda的环境变量添加到系统环境变量中去只需要勾选一下红圈标注的内容。

image.png

Anaconda+python虚拟环境

conda create -n tf python=3.9

终端科学上网

由于Tensorflow是国外的下载源,科学上网后下载速度会变快。 打开Anaconda的终端输入代理地址。(这里的端口号是你代理的端口号)

set http_proxy=http://127.0.0.1:端口号
set https_proxy=http://127.0.0.1:端口号

image.png

image.png

安装CUDA以及cudnn

找到NVIDIA控制面板->帮助->系统信息->组件看一下CUDA版本,我的12.0是目前最新的,一般向下兼容

image.png

作为最高效的安装方法,接下来的每一个下载都只在终端里完成
首先在Tensorflow官网里看一眼

image.png

我们就安装最新的tensorflow-gpu2.6.0+python3.9+CUDA11.3+cuDNN8.2套餐
先用conda search找找当前源下的CUDA与cuDNN有没有我们要的版本,如果没有对应包或者版本的话可以试试换镜像源,换几个总会有的。

conda search cuda

我的CUDA11.3有:

image.png

conda search cudnn

cuDNN8.2也有: image.png

使用Anaconda Prompt

image.png

进入创建好的虚拟环境

conda activate tf

进行环境安装包的下载

conda install cudatoolkit=11.3.1
conda install cudnn=8.2.1

下载tensorflow-gpu2.6:

pip install tensorflow-gpu==2.6.0

解决包冲突问题

pip install protobuf==3.20.0
pip install numpy==1.19.5
pip install matplotlib==3.3.4

下载结束后进python测试:

python

import tensorflow as tf

tf.config.list_physical_devices('GPU')

image.png 以上机器学习环境就搭建好了。

结语

在安装 TensorFlow时,我首先按照官网的说明进行操作。如果不使用 GPU 加速,安装过程比较顺利。但是,如果使用 GPU 加速,官网的安装说明存在一些问题,例如会缺少系统文件 DLL。因此,我经过网上搜索,总结了一份最简单的安装流程,希望可以帮助到大家。有任何问题都可以评论区进行讨论!

附录

这是一份我目前总结的 Python 包版本兼容性表。如果您遇到 Python 包不兼容的问题,可以参考此表来修改自己的包版本。

Package                 Version
----------------------- ---------
absl-py                 0.15.0
asttokens               2.2.1
astunparse              1.6.3
backcall                0.2.0
cachetools              5.3.0
certifi                 2022.12.7
charset-normalizer      3.1.0
clang                   5.0
colorama                0.4.6
comm                    0.1.3
contourpy               1.0.7
cycler                  0.11.0
debugpy                 1.6.7
decorator               5.1.1
executing               1.2.0
flatbuffers             1.12
fonttools               4.39.3
gast                    0.4.0
google-auth             2.17.2
google-auth-oauthlib    1.0.0
google-pasta            0.2.0
grpcio                  1.53.0
h5py                    3.1.0
idna                    3.4
importlib-metadata      6.3.0
importlib-resources     5.12.0
ipykernel               6.22.0
ipython                 8.12.0
jedi                    0.18.2
jupyter_client          8.1.0
jupyter_core            5.3.0
keras                   2.6.0
Keras-Preprocessing     1.1.2
kiwisolver              1.4.4
Markdown                3.4.3
MarkupSafe              2.1.2
matplotlib              3.3.4
matplotlib-inline       0.1.6
nest-asyncio            1.5.6
numpy                   1.19.5
oauthlib                3.2.2
opt-einsum              3.3.0
packaging               23.0
parso                   0.8.3
pickleshare             0.7.5
Pillow                  9.5.0
pip                     23.0.1
platformdirs            3.2.0
prompt-toolkit          3.0.38
protobuf                3.20.0
psutil                  5.9.4
pure-eval               0.2.2
pyasn1                  0.4.8
pyasn1-modules          0.2.8
Pygments                2.14.0
pyparsing               3.0.9
python-dateutil         2.8.2
pywin32                 306
pyzmq                   25.0.2
requests                2.28.2
requests-oauthlib       1.3.1
rsa                     4.9
scipy                   1.10.1
setuptools              67.6.1
six                     1.15.0
stack-data              0.6.2
tensorboard             2.12.1
tensorboard-data-server 0.7.0
tensorboard-plugin-wit  1.8.1
tensorflow-estimator    2.12.0
tensorflow-gpu          2.6.0
termcolor               1.1.0
tornado                 6.2
traitlets               5.9.0
typing-extensions       3.7.4.3
urllib3                 1.26.15
wcwidth                 0.2.6
Werkzeug                2.2.3
wheel                   0.40.0
wrapt                   1.12.1
zipp                    3.15.0