建立虚拟环境

Anaconda安装好之后,我们使用它,可以有很多的虚拟环境,这是优点,缺点是启动时会占空间,开辟那么多虚拟环境,里面的包是单独的,不能共用,硬盘是会有占用的。
打开Anaconda Propmt,在(base)得环境下操作。
前面小括号里的就是当前在使用的环境名称,base是最基本的,里面包是比较全的。

建立名为 tf ,Python版本号为3.6的虚拟环境:

conda create -n tf python=3.6
#这里想说一下,现在Python的版本有很多。
#3.6只是我目前在用的,经过多次测试,比较稳定的版本,3.8对应的tensorflow不太好安装。
#大家可以把 tf 换成自己想用的名字

如果想删除的话)删除名为 tf 的虚拟环境:

conda remove -n tf --all
#上面这个是把整个虚拟环境都删除,当然也可以只删除里面所有的包。
#想换Python版本的话,删了重新装也行,只是包有问题,那倒是可以考虑删除包。
#删除虚拟环境中的包。
conda remove --name $tf  $tensorflow

Anaconda查看Tensorflow匹配的版本

以 tf 为名的虚拟环境建立好后,可以查看一下conda info --envs

tensorflow 验证码识别训练 tensorflow pass_anaconda


那个带 * 的就是当前在使用的虚拟环境。接下来比较重要了。

首先进入tf的环境:activate tensorflow,接下来的所有步骤都在这个环境。

tensorflow 验证码识别训练 tensorflow pass_pip_02


然后可以选择性的查看一下Python的版本:python --version

tensorflow 验证码识别训练 tensorflow pass_tensorflow_03


然后最关键的来了,经过无数次的安装出错,我学会了先检查版本号,再安装。

使用conda search --full-name tensorflow命令查看版本号。

tensorflow 验证码识别训练 tensorflow pass_tensorflow_04


会有很多,就找那个带着自己Python版本号的那个tensorflow版本,

tensorflow 验证码识别训练 tensorflow pass_虚拟环境_05


我就安装的这个2.0.0,接下来的安装建议使用conda install tensorflow==2.0.0,

我们的老师跟我讲过,如果用pip来安装,在日后使用过程中会出现诸多问题,直接用Anaconda自己的conda安装就好。

测试Tensorflow

安装成功与否,不能只看它给的安装成功提示,需要自己动手试一下。

可以查看一下自己的tensorflow版本,在当前的 tf 环境下输入python进入编译环境。

输入:import tensorflow as tf,这个as tf完全是为了使用起来方便的缩写,也可以不要,尽量还是用吧,以后东西多了,好方便。

再输入:tf.__version__ 就可以查看自己的tensorflow版本号了。

tensorflow 验证码识别训练 tensorflow pass_虚拟环境_06

如果在使用过程中出现了“FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecate”等字样的问题

那么按照提示给你的路径,找到“dtypes.py”文件,

查找下面的字样:

_np_qint8 = np.dtype([("qint8", np.int8, 1)])
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
_np_qint32 = np.dtype([("qint32", np.int32, 1)])

np_resource = np.dtype([("resource", np.ubyte, 1)])

将其修改为(粘一下也可以)

_np_qint8 = np.dtype([("qint8", np.int8, (1,))])
_np_quint8 = np.dtype([("quint8", np.uint8, (1,))])
_np_qint16 = np.dtype([("qint16", np.int16, (1,))])
_np_quint16 = np.dtype([("quint16", np.uint16, (1,))])
_np_qint32 = np.dtype([("qint32", np.int32, (1,))])

np_resource = np.dtype([("resource", np.ubyte, (1,))])

如果出现了“The TensorFlow library wasn’t compiled to use SSE instructions”等字样的问题

你的机器是支持使用SSE指令的,使用SSE可以加速你的CPU计算。但是,你的Tensorflow库没有编译,所以用不了。
那就是因为用的pip安装的,影响不大。
但是日后要是用到了会有点影响,可以将tensorflow卸载,再重新用conda装一下就行。

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

这个问题的话,我没有解决,其实是tensorflow版本比较低,没有通过兼容AVX来Compile.