部署CPU与GPU通用的tensorflow:Anaconda环境
本文介绍在Anaconda环境中,下载并配置Python中机器学习、深度学习常用的新版tensorflow库的方法。
在之前的两篇文章Python TensorFlow深度学习回归代码:DNNRegressor与Python TensorFlow深度神经网络回归:keras.Sequential中,我们介绍了利用Python中的tensorflow库,实现机器学习与深度学习的具体思路与代码实现;然而,当初并没有具体介绍tensorflow库的配置方法。因此,在这篇文章中,我们就介绍一下在Anaconda环境中,配置tensorflow库的详细方法;此外,这里需要注意,在较新版本的tensorflow库(版本大于1.5 ,但对于Windows用户而言,版本还不能高于2.10)中,已经同时支持CPU、GPU训练,不需要再区分是配置CPU版本的库还是GPU版本的库了。
首先,和Anaconda环境配置其他库一样,我们需要打开Anaconda Prompt软件;如下图所示。

随后,将会弹出如下所示的终端窗口。

接下来,我们即可开始tensorflow库的配置。由于我这里希望将tensorflow库配置到另一个已有的Anaconda虚拟环境中(这个虚拟环境的名称为py36tf,Python版本是3.6的),而不是当前这个默认的base环境,因此需要按照文章创建Anaconda虚拟Python环境的方法中提到的方法,首先进入这个名称为py36tf的虚拟环境中,如下图所示。

如果大家需要在默认的环境中配置tensorflow库,直接执行接下来的操作即可;如果大家希望新建一个环境来配置tensorflow库,那么参考上文提及的文章创建Anaconda虚拟Python环境的方法,创建并进入一个新的虚拟环境,再继续执行接下来的操作即可。
接下来,继续输入如下的代码,即可立即开始配置tensorflow库。
pip install --upgrade tensorflow
运行上述代码后,可以看到将立即开始tensorflow库的配置,如下图所示。其中,由于我这里Python版本是3.6的,而不是最新的Python版本,因此从下图可以看到tensorflow库版本也并不是最新的,而是2.6.2版本的——当然对我而言,这也就足够了。如果大家希望用最新版本的tensorflow库,需要注意同时使用最新的Python版本。

此外,这里有必要提一句——如果我用如下所示的代码进行tensorflow库的配置,配置得到的tensorflow库则是1.X版本的,而不是上面我们刚刚得到的是2.X版本,始终无法获取最新版本的tensorflow库;且之后无论怎么更新tensorflow库,都会出现报错信息。
conda install tensorflow
例如,在我的电脑上,如果运行上述代码,则结果如下图所示。

不知道具体是哪里的问题,从上图可以看到这种方法得到的tensorflow库始终是1.X版本(例如上图中显示tensorflow库就是1.2.1版本的)。所以,如果大家需要比较新版本的tensorflow库,还是建议用前面提到的pip install --upgrade tensorflow这句代码来实现。
让我们继续回到前述tensorflow库配置的工作中;稍等片刻,一般情况下即可完成tensorflow库的配置。这里需要注意,如果此时大家出现如下图所示的报错,则说明tensorflow库暂时还是没有配置成功。

这种情况是由于pip版本不够高导致的,因此我们需要通过如下所示的代码将pip升级。
python -m pip install --upgrade pip
输入上述代码,如下图所示。

运行这一代码后,我们重新运行一次pip install --upgrade tensorflow这句代码即可。可是在我这里,重新运行这句代码后,又出现了如下图所示的问题。

通过检查,发现网络代理的问题;将代理关闭后,即可解决问题(但是很奇怪,不知道为什么刚刚没有报这个错误,重新运行这句代码后才出现这样的错误)。最终,得到结果界面如下图所示。

接下来,我们可以输入如下的代码,从而检查tensorflow库是否已经配置成功。
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
如下图所示,如果最终得到了一个tf.Tensor结果,即可说明我们的tensorflow库终于配置完毕了。

至此,大功告成。当然,到这里或许也不算完全成功——从上图可以看到,当前tensorflow库并没有进行GPU计算。如果大家的电脑上没有GPU,或者不需要用GPU加以计算,那就不用管这个问题,相当于已经完全成功了,后续直接开始用tensorflow库进行各类深度学习的应用即可;但是对于电脑上有GPU,并且也希望让GPU加入计算的用户而言,我们将在下一篇博客中介绍具体的配置方法。
部署CPU与GPU通用的tensorflow:Anaconda环境的更多相关文章
- 在 Ubuntu 16.04 中安装支持 CPU 和 GPU 的 Google TensorFlow 神经网络软件
TensorFlow 是用于机器学习任务的开源软件.它的创建者 Google 希望提供一个强大的工具以帮助开发者探索和建立基于机器学习的应用,所以他们在去年作为开源项目发布了它.TensorFlow ...
- 关于gpu版本的tensorflow+anaconda+jupyter的一些安装问题(持续更新)
关于anaconda安装,虽然清华镜像站资源很丰富,但是不知道是网络还是运气的问题,用这个路径安装的时候总是出现文件丢失.具体表现可能是anaconda prompt 找不到,conda命令无效等问题 ...
- TensorFlow——tensorflow指定CPU与GPU运算
1.指定GPU运算 如果安装的是GPU版本,在运行的过程中TensorFlow能够自动检测.如果检测到GPU,TensorFlow会尽可能的利用找到的第一个GPU来执行操作. 如果机器上有超过一个可用 ...
- TensorFlow指定CPU和GPU方法
TensorFlow指定CPU和GPU方法 TensorFlow 支持 CPU 和 GPU.它也支持分布式计算.可以在一个或多个计算机系统的多个设备上使用 TensorFlow. TensorFlow ...
- [CB]Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束
Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CP ...
- CPU和GPU双低效,摩尔定律之后一万倍 ——写于TPU版AlphaGo重出江湖之际
本文来自计算机体系结构专家王逵.他认为,“摩尔定律结束之后,性能提升一万倍”不会是科幻,而是发生在我们眼前的事实. 2008年,<三体2:黑暗森林>里写到: 真的很难,你冬眠后不久 ...
- (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
区别于其他入门教程的"手把手式",本文更强调"因"而非"果".我之所以加上"通用"字样,是因为在你了解了这个开发环境之后 ...
- 转:ubuntu 下GPU版的 tensorflow / keras的环境搭建
http://blog.csdn.net/jerr__y/article/details/53695567 前言:本文主要介绍如何在 ubuntu 系统中配置 GPU 版本的 tensorflow 环 ...
- 浅谈CPU和GPU的区别
导读: CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,而GPU面对的则是类型高度统一的.相互无依赖的大规模数据 ...
- (七) Keras 绘制网络结构和cpu,gpu切换
视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 首先安装py ...
随机推荐
- linux elasticsearch-8.2.0安装
1.下载,解压缩,命令行前不要留空格 官网下载地址: https://www.elastic.co/cn/downloads/elasticsearch https://artifacts.elast ...
- Docker PHP如何启用MySQL扩展
我下载的镜像是PHP7版本:docker pull php:7.4.30-fpm,容器起名为php7 PHP镜像官方提供了帮助文档,其中提到了相关的命令,这里推荐一篇博客,该博客对于扩展的几个相关命令 ...
- nomp矿池源码详解
1 项目简介 Node Open Mining Portal(简称NOMP)是一个由Node.js编写的高效.可扩展的加密货币挖矿池软件,专为经验丰富的系统管理员和开发者设计.它包含了Stratum挖 ...
- unity持久化数据之XML和Excel
unity持久化数据之XML public class XMLDataMananger: Singleton<XMLDataMananger> { protected XMLDataMan ...
- 5分钟了解LangChain的路由链
上上篇文章<5分钟理透LangChain的Chain>里用到了顺序链SequentialChain,它可以将多个链按顺序串起来.本文介绍LangChain里的另外1个重要的链:路由链. 1 ...
- 《Objective-C Direct Methods》学习笔记
原文通过对Objective-C发展史.Objective-C中Runtime的动态派发,C语言的直接派发进行铺垫介绍,引出了direct methods这个"新特性"(文章写于2 ...
- 京东云上centos8.2 安装 consul1.11.1
做个笔记下 -- 前言 部分内容有参考网友的,但是地址不记得了! 安装内容基本参考官网的和上一个网友的 官网地址: https://www.consul.io/downloads 以下是使用root方 ...
- 【golang】json数据中复杂key的处理
例1 type Transport struct { Time string Id int } func main() { //将struct的切片包装成json格式 var st []Transpo ...
- 2019 南昌区域赛 CEGLM 题解 & lagrange 插值
B. A Funny Bipartite Graph 状压 dp ,利用了原题中选完左边点集,那么右边在 左边编号最大的那个数 之前的所有点都要选的性质,可以优化到 \(O(n \cdot 2^n)\ ...
- uboot load address、entry point、 bootm address以及kernel运行地址的意义及联系
按各地址起作用的顺序,uboot引导linux内核启动涉及到以下地址: load address: entry point: 这两个地址是mkimage时指定的 bootm address:bootm ...