Anaconda起到一个包管理的作用,可以将不同环境的python、库等分隔开来,互不影响。所以我们可以搭建不同的框架和环境且互相独立。(为了保证我和师兄的代码互相能看懂,只能舍弃pytorch了。pytorch yyds!)
首先明确一件事情,tensorflow、cudnn、cudatoolkit(cuda)是我们每个tensorflow环境需要安装的。这三个库之间是有一个匹配关系。这个匹配关系不对会导致安装后报错。建议大家先明确一下匹配关系,需要下载哪个版本的(百度或者官网查)。
下面给出我安装的两个版本的对应关系:
tensorflow版本 | cudnn | cudatoolkit |
1.14.0 | 7.6.4 | 10.0 |
2.2.0 | 7.6.5 | 10.1 |
打开Anaconda或Anaconda prompt,然后按照前面博文中 “创建新环境”小节操作即可。
在此我创建了一个名为tensorflow1_14_0的新环境。python版本选择3.6
首先打开Anaconda prompt,激活刚刚创建的环境:
登录后复制
activate tensorflow1_14_0
可以看到环境从之前的mytorch(我修改了默认,正常默认环境是base)变为了新创建的tensorflow1_14_0
然后在Anaconda prompt中通过命令下载:
登录后复制
conda install cudatoolkit=10.0
同样在Anaconda prompt中键入(注意版本号):
登录后复制
conda install cudnn=7.6.4
tensorflow分为CPU版本和GPU版本。GPU版本自带了CPU版本。
如果想安装CPU版本,使用命令:
登录后复制
pip install -i https://pypi.doubanio.com/simple/ tensorflow==1.14.0
这里借助了豆瓣源,实测要快一些。
如果安装GPU版本,如下:
登录后复制
pip install -i https://pypi.doubanio.com/simple/ tensorflow_gpu==1.14.0
然后在Anaconda中进入python编译:
登录后复制
python
调用tensorflow包
登录后复制
import tensorflow
会出现一堆错误:
FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
不要怕,问题很简单,numpy版本过高。这是我用Anaconda经常会遇到的问题。每次都是numpy整个最新版,不知道是为什么。
我们需要做的就是给numpy降级。如下我给了两个版本的参考(我是这么装的没问题),大家有兴趣可以试试其他版本。
tensorflow版本 | numpy版本 |
1.14.0 | 1.16.0 |
2.2.0 | 1.17.0 |
为了降级,输入命令(我这里是tensorflow1.14.0,对应的numpy1.16.0): | 登录后复制 |
conda install numpy==1.16.0
然后可以检查一下是否安装完成了,即在python编译器中输入:
登录后复制
import tensorflow as tf
tf.__version__
看到确实是1.14.0
完成了吗??
试一下pycharm,同之前的博文,在pycharm中的编译器选择Existing environment->anaconda安装目录下的env->tensorflow1_14_0(环境名)->python.exe
等待库全部加载完,新建一个python文件,键入以下代码测试:
登录后复制
import tensorflow as tf
import os
# 降低警告优先级,去掉一堆加速警告。可以不写
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
gpu_device_name = tf.test.gpu_device_name()
print(gpu_device_name)
print(tf.test.is_gpu_available()) # 返回True或者False
可以看到安装成功!!!:)
我现在四个环境共存了。
(tensorflow1.x真的不友好TAT还是keras和pytorch好使)
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删