TensorFlow 基础知识及安装
TensorFlow 是什么
TensorFlow 是一个深度学习库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。
-
Tensor(张量) 意味着 N 维数组,Flow(流) 意味着基于数据流图的计算,TensorFlow 即为 张量从图的一端流动到另一端
-
一大亮点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从电话、单个 CPU / GPU 到成百上千 GPU 卡组成的分布式系统
-
支持 CNN、RNN 和 LSTM 算法,是目前在 Image,NLP 最流行的深度神经网络模型
为什么用 TensorFlow
深度学习通常意味着建立具有很多层的大规模的神经网络。
-
除了输入 X,函数还使用一系列参数,其中包括标量值、向量以及最昂贵的矩阵和高阶张量
-
在训练网络之前,需要定义一个代价函数,常见的代价函数包括回归问题的方差以及分类时候的交叉熵
-
训练时,需要连续的将多批新输入投入网络,对所有的参数求导后,代入代价函数,从而更新整个网络模型
这个过程中有两个主要的问题:
-
较大的数字或者张量在一起相乘百万次的处理,使得整个模型代价非常大
-
手动求导耗时非常久
TensorFlow 可以对函数自动求导以及分布式计算,就能节省很多时间来训练模型。其优点主要有:
-
基于Python,写的很快并且具有可读性
-
在多GPU系统上的运行更为顺畅
-
代码编译效率较高
-
社区发展的非常迅速并且活跃
-
能够生成显示网络拓扑结构和性能的可视化图
TensorFlow 工作原理
TensorFlow 是用 数据流图(data flow graphs) 技术来进行数值计算的。
数据流图是描述有向图中的数值计算过程。
有向图中,结点通常代表数学运算,边表示结点之间的某种联系,它负责传输多维数据 (Tensors)。
结点可以被分配到多个计算设备上,可以异步和并行地执行操作。因为是有向图,所以只有等到之前的入度结点们的计算状态完成后,当前节点才能执行操作。

TensorFlow 安装
-
启动 Anaconda prompt,建立一个 conda 计算环境。可以在官网查看Tensorflow支持的Python版本。
conda create -n tensorflow python=3.9
结束后显示
![image]()
这就进入了第二步。在此之前也可以查看有哪些环境,使用conda env list或conda info --env。 -
激活tensorflow环境:
conda activate tensorflow
此时环境应该变为了 tensorflow
![image]()
再使用豆瓣的 tensorflow 镜像实际安装 tensorflow:python -m pip install tensorflow -i https://pypi.douban.com/simple- 这里可以指定 tensorflow 的版本。查看 tensorflow 的可使用版本输入
conda search --full --name tensorflow
- 这里可以指定 tensorflow 的版本。查看 tensorflow 的可使用版本输入
-
检查是否真的安装成功:
-
方法1:base 环境下输入
conda list tensorflow- 当列表中出现tensorflow,就说明成功安装了
- 如果列表中只有 tensorflow-estimator,而没有 tensorflow 这个文件,那说明未安装成功,要检查前面哪个环节疏漏了
-
方法2:tensorflow环境下输入
python打开Python环境,再导入tensorflow包进行测试:import tensorflow
-
选择性查看版本:
tensorflow.__version__
![image]()
-
补充1:在 Jupyer Notebook 中使用 tensorfolw 模块
启动 Anaconda prompt,先输入conda activate tensorflow或者activate tensorflow激活这个虚拟环境,再输入jupyter notebook,在这个虚拟环境下(而不是 base)启动 jupyter。
输入以下代码检查:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('hello, tensorflow')
sess = tf.compat.v1.Session()
print(sess.run(hello))
-
如果运行成功,输出为
b'hello, tensorflow'说明已经完全安装好 Tensorflow -
如果还是不行,打开 Anaconda Navigator ,在【HOME】中切换到虚拟环境 Tensorflow,检查其中的 Jupyter Notebook 是否已安装
-
如果按钮为“Launch”,代表已安装
-
如果按钮为“Install”,代表该环境下的 Jupyter 还未安装,当输入
jupyter notebook时,浏览器打开的还是 base 环境下的 Jupyter,而不是 TensorFlow 环境下的 Jupyter,所以就算安装了 tensorflow 却import不到
-
-
补充2:
安装成功后,每次使用 TensorFlow 的时候需要激活 conda 环境:(base)$ conda activate tensorflow。不用 TensorFlow 的时候,关闭环境:(tensorflow)$ conda deactivate。再次使用的时候再激活。 -
卸载 tensorflow:
启动 Anaconda prompt,输入pip uninstall tensorflow
keras安装
Anaconda下的python可以直接去pycharm安装keras:File——settings——Project——Project Interpreter。点击左上角的加号“+”,输入 keras,可能会出现最新版本的keras,在右下角勾选“Specify version”中选择对应的版本再 install 即可。
如果为了Jupyter或其它,依旧是在 Anaconda promt 的 tensorflow 环境下安装 keras:
- 先安装三个包
conda install mingw libpython # 如果已经有了就不需要了
pip install theano # 可以用镜像
- 再安装keras的镜像:(keras是基于tensorflow代码高度封装的库,其版本与 tensorflow 的版本要严格对应,如果版本号错了装完会有提示应该用哪个版本)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade keras==版本号
或者
pip install keras==版本号 -i https://pypi.tuna.tsinghua.edu.cn/simple
本机默认装的是 tensorflow 2.9.1,对应的 keras 版本为 2.9.0
- 如果打开 jupyter notebook 后 kernal 不是 tensorflow,选择 tensorflow 再运行,如果没有则需要手动添加:
-
在 Anaconda prompt 中查看当前可用的 kernel
jupyter kernelspec list
![image]()
-
添加 Python kernel:
conda activate tensorflow,tensorflow 是之前创建的虚拟环境名字 -
在 tensorflow 虚拟环境下,安装 ipykernel:
conda install ipykernel
python -m ipykernel install --name tensorflow -
再次查看当前可用的 kernel:
jupyter kernelspec list
![image]()
-
最后输入
jupyter notebook打开 Jupyter Notebook 检查
![image]()
![image]()








浙公网安备 33010602011771号