0 前言

TensorFlow 2.0,今天凌晨,正式放出了2.0版本。

不少网友表示,TensorFlow 2.0比PyTorch更好用,已经准备全面转向这个新升级的深度学习框架了。

本篇文章就带领大家用最简单地方式安装TF2.0正式版本(CPU与GPU),由我来踩坑,方便大家体验正式版本的TF2.0。

废话不多说现在正式开始教程。

1 环境准备

我目前是在Windows10上面,使用conda管理的python环境,通过conda安装cuda与cudnn(GPU支持),通过pip安装的tensorflow2.0。经过尝试只是最简单地安装方式,无需配置复杂环境。

(关于ubuntu与mac版本的安装可以仿照此方法,因为conda支持多平台,应该没什么问题,如果大家问题多的话,可以评论,我后面会会更新ubuntu安装教程)

1.0 conda环境准备

conda是很好用python管理工具,可以方便建立管理多个python环境。后面安装的步骤里我也会介绍一些常用的conda指令。

conda 我推荐使用安装miniconda,大家可以理解为精简版的anaconda,只保留了一些必备的组件,所以安装会比快上很多,同时也能满足我们管理python环境的需求。(anaconda一般在固态硬盘安装需要占用几个G内存,花费1-2个小时,miniconda一般几百M,10分钟就可以安装完成了)

miniconda推荐使用清华源下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

选择适合自己的版本就可以,

下以windows版本来安装miniconda作为演示,从上述下载合适版本,下载好后以管理员权限打开点击安装。

注意这两个都要勾选,一个是让我们可以直接在cmd使用conda指令,第二个是把miniconda自带的python3.7作为系统python。

安装好后就可以在cmd中使用conda指令了,cmd打开方式,windows键+R键,弹出输入框,输入cmd就进入了。也可以直接在windows搜索cmd点击运行。

下面介绍些cmd conda指令:

  1. 查看conda环境:conda env list
  2. 新建conda环境(env_name就是创建的环境名,可以自定义):conda create -n env_name
  3. 激活conda环境(ubuntu与Macos 将conda 替换为source):conda activate env_name
  4. 退出conda环境:conda deactivate
  5. 安装和卸载python包:conda install numpy # conda uninstall numpy
  6. 查看已安装python列表:conda list -n env_name

知道这些指令就可以开始使用conda新建一个环境安装TF2.0了。

1.1 TF2.0 CPU版本安装

TF CPU安装比较简单,因为不需要配置GPU,所以windows ubuntu macOS安装方式都类似,缺点就是运行速度慢,但是用于日常学习使用还是可以的。

下面以windows版本做演示:一下均在命令行操作

1.1.0 新建TF2.0 CPU环境(使用conda 新建环境指令 python==3.6表示在新建环境时同时python3.6)

conda create -n TF_2C python=3.6

当弹出 :Proceed ([y]/n)? 输入y回车

完成后就可以进入此环境

1.1.1 进入TF_2C环境

conda activate TF_2C

进入后我们就可以发现:(TF_2C)在之前路径前面,表示进入了这个环境。使用conda deactivate可以退出。

我们再次进入 conda activate TF_2C ,便于执行下述命令

1.1.2 安装TF2.0 CPU版本(后面的 -i 表示从国内清华源下载,速度比默认源快很多)

pip install tensorflow==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果网不好的,多执行几次。然后过一会就安装好啦。下面我们做下简单测试。

1.1.3 测试TF2.0 CPU版本(把下面代码保存到demo.py使用TF_2C python运行)

import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)

如果没有问题的话输出结果如下:可以看到tf 版本为2.0.0 因为是cpu版本,所以gpu 为False

tf version: 2.0.0
use GPU False

1.2 TF2.0 GPU版本安装

GPU版本和CPU类似,但是会多一步对于GPU支持的安装。下面来一步步实现。安装之前确认你的电脑拥有Nvidia的GPU

1.2.0 新建TF2.0 GPU环境(使用conda 新建环境指令 python==3.6表示在新建环境时同时python3.6)

conda create -n TF_2G python=3.6

当弹出 :Proceed ([y]/n)? 输入y回车

完成后就可以进入此环境

1.1.1 进入TF_2G环境

conda activate TF_2G

1.1.2 安装GPU版本支持,拥有Nvidia的GPU的windows一般都有默认驱动的,只需要安装cudatoolkit 与 cudnn包就可以了,要注意一点需要安装cudatoolkit 10.0 版本,注意一点,如果系统的cudatoolkit小于10.0需要更新一下至10.0

conda install cudatoolkit=10.0 cudnn=7

1.1.3 安装TF2.0 GPU版本(后面的 -i 表示从国内清华源下载,速度比默认源快很多)

pip install tensorflow-gpu==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果网不好的,多执行几次。然后过一会就安装好啦。下面我们做下简单测试。

1.1.3 测试TF2.0 GPU版本(把下面代码保存到demo.py使用TF_2G python运行)

import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)

如果没有问题的话输出结果如下:可以看到tf 版本为2.0.0 因为是gpu版本,所以gpu 为True,这表示GPU版本安装完成了。

tf version: 2.0.0
use GPU True

1.2 最后我们测试一个使用TF2.0版本方式写的线性拟合代码

把下述代码保存为main.py

import tensorflow as tf

X = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
y = tf.constant([[10.0], [20.0]]) class Linear(tf.keras.Model):
def __init__(self):
super().__init__()
self.dense = tf.keras.layers.Dense(
units=1,
activation=None,
kernel_initializer=tf.zeros_initializer(),
bias_initializer=tf.zeros_initializer()
) def call(self, input):
output = self.dense(input)
return output # 以下代码结构与前节类似
model = Linear()
optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)
for i in range(100):
with tf.GradientTape() as tape:
y_pred = model(X) # 调用模型 y_pred = model(X) 而不是显式写出 y_pred = a * X + b
loss = tf.reduce_mean(tf.square(y_pred - y)) grads = tape.gradient(loss, model.variables) # 使用 model.variables 这一属性直接获得模型中的所有变量
optimizer.apply_gradients(grads_and_vars=zip(grads, model.variables))
if i % 10 == 0:
print(i, loss.numpy())
print(model.variables)

输出结果如下:

0 250.0
10 0.73648137
20 0.6172349
30 0.5172956
40 0.4335389
50 0.36334264
60 0.3045124
70 0.25520816
80 0.2138865
90 0.17925593
[<tf.Variable 'linear/dense/kernel:0' shape=(3, 1) dtype=float32, numpy=
array([[0.40784496],
[1.191065 ],
[1.9742855 ]], dtype=float32)>, <tf.Variable 'linear/dense/bias:0' shape=(1,) dtype=float32, numpy=array([0.78322077], dtype=float32)>]

-1. 后记

回复两个评论区问的较为多的问题:

新建tf环境了之后在安装,是必须的嘛?我几次都是直接在root里安装了

回复: 不新建环境直接安装时使用的是默认的环境安装。不建议这么操作,都在默认环境安装新的模块后面可能会有冲突。建议不同任务使用不同环境。。

使用conda install就不需要事先配置cudatoolkit和cudnn了。(cudatoolkit和cudnn版本问题)

回复: 目前tf2.0还不支持conda install,只能使用pip install。windows可以直接使用conda install cudatoolkit cudnn。要注意一点,tf1.14以上要使用cudatoolkit >= 10.0。由于windows10默认cudatoolkit是9版本的,需要手动安装10版本。其实他们关系是向下包容,就是如果你装了10版本,那么9,8,7版本都可以用conda安装

最后推荐一个TF2.0视频教程,也可以扫码观看:

我购买过了,课程质量很高,既有原理讲解也有实战演练。强烈推荐。缺点就是教的很细,看完需要挺多时间,但是深深研究下去还是有很多收获的。可以收获深度学习知识与技巧,也可以学会实战编程。
现在在做活动,可以领20元红包。。

『TensorFlow2.0正式版教程』极简安装TF2.0正式版(CPU&GPU)教程的更多相关文章

  1. 在windows上极简安装GPU版AI框架(Tensorflow、Pytorch)

    在windows上极简安装GPU版AI框架 如果我们想在windows系统上安装GPU版本的AI框架,比如GPU版本的tesnorflow,通常我们会看到类似下面的安装教程 官方版本 安装CUDA 安 ...

  2. [软件开发技巧]·树莓派极简安装OpenCv

    树莓派极简安装OpenCv 个人主页–> https://xiaosongshine.github.io/ 因为最近在开发使用树莓派+usb摄像头识别模块,打算用OpenCv,发现网上的树莓派O ...

  3. [深度学习工具]·极简安装Dlib人脸识别库

    [深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包 ...

  4. 『开发技术』Windows极简安装使用face_recognition

    face_recognition是一个强大.简单.易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统.此项目是世界上最简洁的人脸识别库,你可以使用Python和命令行工 ...

  5. 极简安装 TensorFlow 2.0 GPU

    前言 之前写了几篇关于 TensorFlow 1.x GPU 版本安装的博客,但几乎没怎么学习过.之前基本在搞 Machine Learning 和 Data Mining 方面的东西,极少用到 NN ...

  6. ServiceFabric极简文档-0. ServiceFabric简介

    前言: 最近ServiceFabric开源了,大家热情都比较高,官方文档大而全,但快速入手不容易找到头绪.发几篇极简的文档,跟大家分享一下,顺便为Ray的ServiceFabric部署做一下铺垫.因为 ...

  7. centOS极简安装并启动ngnix

    我在网上看到过很多种方法在centOS中安装nginx,比如像这样的: 这种方式太麻烦了,看了很恶心. 我在官网看到有这样一种操作,可谓极简.特此记录一下:(官网教程地址:http://nginx.o ...

  8. ORACLE RAC 11.2.0.4 CentOS release 6.9 静默安装1.0版本

    RAC11.2.0.4静默安装 1.0版本,20180613 #本文档IP地址使用X隐藏,个人可按照自己的当前环境IP进行适当修改 1. 清除原环境中的单实例软件 #清除原环境: 删除/etc/ora ...

  9. TensorFlow2.0极简安装(亲测有效)

    x相信每一个学习深度学习的人来说都知道Google的深度学习框架TensorFlow,估计每个人都想成为一个TF Boy(TensorFlow Boy).我也是这个想法,于是我踏上了安装TensorF ...

随机推荐

  1. 《阿里巴巴Java开发手册1.4.0》阅读总结与心得(四)

    (七)设计规约 1. [强制] 存储方案和底层数据结构的设计获得评审一致通过,并沉淀成为文档. 说明: 有缺陷的底层数据结构容易导致系统风险上升,可扩展性下降,重构成本也会因历史数据迁移和系统平滑过渡 ...

  2. NLP(十八) 一维卷积网络IMDB情感分析

    准备 Keras的IMDB数据集,包含一个词集和对应的情感标签 import pandas as pd from keras.preprocessing import sequence from ke ...

  3. CodeForces 639C Bear and Polynomials

    Bear and Polynomials 题解: 如果改变一个其中的一个数,那么需要知道的是,前面的数都可以进到当前位来,如果过不来的话,那么就会因为前面有数导致无法变成0. 所以我们将前面的数不断向 ...

  4. HDU 1173 采矿

    采矿 题解:如果给你一条线段(左右端点设为A,B), 那么在这条线上的任意一点到A B距离之和是一个定值, 然后如果再这条线段内在任意确定一个定点C, 那么这条线段上再任意取一个点,这个点到 A B ...

  5. Java常见面试题-1

    问: 1 面向对象的特征有哪些方面? 2 访问修饰符public,private,protected,以及不写(默认)时的区别? 3  String 是最基本的数据类型吗? 对象类型 基本类型 4  ...

  6. WordCount2.2

    说明: 合作者:201631062507  201631062526(学号) 代码地址:https://gitee.com/WordCountMC/WordCountTeam 本次作业链接:https ...

  7. 讲解开源项目:用 Python 生成有“灵魂”的二维码

    本文作者:HelloGitHub-LITTLECHIEH 这是 HelloGitHub 推出的<讲解开源项目>系列,今天给大家推荐一个 Python 开源生成二维码的项目--qrcode ...

  8. 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    一定要发现自己的问题不要盲目从众 1.把maven的安装包解压 2.配置环境变量 3.配置path路径 4.在dos下测试一下 结果出现:'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文 ...

  9. Android如何管理sqlite

    Android中使用SQlite进行数据操作 标签: sqliteandroid数据库sqlintegerstring 2012-02-28 14:21 8339人阅读 评论(2) 举报  分类: a ...

  10. [币严BIZZAN区块链]数字货币交易所钱包对接之比特币(BTC)

    在币严BIZZAN开发数字货币交易所的过程中,一共有两大难点,一个是高速撮合交易引擎,另一个是钱包对接,这两者是我们团队以前没有接触过的.这个系列的文章主要介绍数字货币交易所钱包对接实现技术.第一个要 ...