初识TensorFlow

一、术语潜知

  • 深度学习:深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习(将原始数据转换成为能够被机器学习来有效开发的一种形式)的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

  • 神经网络:(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

  • 实例:要对其进行预测的事物。例如,实例可以是一个网页,您希望将其分类为“与猫相关”或“与猫无关”。

  • 标签:预测任务的答案,它可以是由机器学习系统生成的答案,也可以是训练数据中提供的正确答案。例如,某个网页的标签可能是“与猫相关”。

  • 特征:预测任务中使用的实例的属性。例如,某个网页可能具有“包含字词‘猫’”这一特征。

  • 特征列:一组相关特征,例如用户可能居住的所有国家/地区的集合。样本的特征列中可能包含一个或多个特征。“特征列”是 Google 专用的术语。特征列在 Yahoo/Microsoft 使用的 VW 系统中称为“命名空间”,也称为场。

  • 样本:一个实例(及其特征)和一个标签。

  • 模型:预测任务的统计表示法。您使用样本训练模型,然后使用模型进行预测。

  • 指标:一个数值。也许(但不一定)可以直接得到优化。

  • 目标:算法尝试优化的一种指标。

  • 管道:机器学习算法的基础架构。管道包括从前端收集数据、将数据放入训练数据文件、训练一个或多个模型以及将模型运用到生产环境。

  • 点击率:点击广告中的链接的网页访问者所占的百分比。

二、为什么我推荐TensorFlow深度学习框架

在如此多的深度神经网络框架,诸如TensorFlow、Keras、PyTorch、Caffe、Deeplearning4j中为什么我喜欢TensorFlow呢,因为它完全开源,并且有强大的社区支持,且它支持多种语言来创建深度学习模型,比如Python和R,并且有详细的文档。

1.突出的TensorFlow组件

  • Tensorboard: 帮助使用数据流图进行有效的数据可视化
  • TensorFlow:用于快速部署新算法/试验

2.TensorFlow可以做些什么

  • 基于文本的应用:语言检测、文本摘要
  • 图像识别:图像字幕、人脸识别、目标检测
  • 声音识别
  • 时间序列分析
  • 视频分析

3.TensorFlow的主要技术特性

特性 描述
编程模型 Dataflow-like model(数据流模型)
语言 支持Python、C++、Go、Rust、Haskell、Java、JavaScript、Julia、R
部署 Code once,run everywhere(一次编写,各处运行)
计算资源 CPU、GPU、TPU
实现方式 Local Implementation(单击实现),Distributed Implementation(分布式实现)
平台支持 谷歌云平台,Hadoop分布式文件系统
数学表达 Math Graph Expression(数学计算图表达),Auto Differentiation(自动微分)
优化 共同子图消除、异步核优化、通信优化、模型并行、数据并行、流水线

4.安装TensorFlow(win10)

1.首先需要将pip更新到最新版本
pip install --upgrade pip
2.安装TensorFlow
pip install tensorflow
3.验证安装效果
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

如若显示一内容,则表示安装成功:

为了确保安装成功,再来进一步在python交互环境中验证一下,依次输入以下内容:

>>> import tensorflow as tf
>>> tf.compat.v1.disable_eager_execution() #保证sess.run()能够正常运行,因为TensorFlow2.0版本无法兼容TensorFlow1.0版本
>>> hello = tf.constant('Hello,Tensorflow')
>>> sess= tf.compat.v1.Session()#版本2.0的函数
>>> print(sess.run(hello))

如果最后出现以下内容,则说明成功:

需要注意的是如果在刚输入第一句import tensorflow as tf时就产生错误,提示无法找到对应的模块,那就需要回退TensorFlow版本,此时先卸载已有的TensorFlow:

pip uninstall tensorflow

再继续输入以下命令:

python -m pip install tensorflow==2.0.0 -ihttp://pypi.douban.com/simple --trusted-host pypi.douban.com

此时成功解决错误

TensorFlow从入门到入坑(1)的更多相关文章

  1. TensorFlow从入门到入坑(2)

    TensorFlow学习(2) 一.jupyter notebook的安装和使用 1. 什么是jupyter notebook jupyter notebook(http://jupyter.org/ ...

  2. VirtualBox 虚拟机 从入门到入坑

                                                                                                        ...

  3. webpack入坑之旅(三)webpack.config入门

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  4. webpack入坑之旅(二)loader入门

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack 在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  5. webpack入坑之旅(六)配合vue-router实现SPA

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  6. webpack入坑之旅(五)加载vue单文件组件

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  7. webpack入坑之旅(四)扬帆起航

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  8. webpack入坑之旅(一)不是开始的开始

    最近学习框架,选择了vue,然后接触到了vue中的单文件组件,官方推荐使用 Webpack + vue-loader构建这些单文件 Vue 组件,于是就开始了webpack的入坑之旅.因为原来没有用过 ...

  9. Angular 从入坑到挖坑 - Angular 使用入门

    一.Overview angular 入坑记录的笔记第一篇,完成开发环境的搭建,以及如何通过 angular cli 来创建第一个 angular 应用.入坑一个多星期,通过学习官方文档以及手摸手的按 ...

随机推荐

  1. java版gRPC实战之六:客户端动态获取服务端地址

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. 【OI】Tex Quotes——UVa 272

    题目: TEX is a typesetting language developed by Donald Knuth. It takes source text together with a fe ...

  3. Dapr实战(三)状态管理

    状态管理解决了什么 分布式应用程序中的状态可能很有挑战性. 例如: 应用程序可能需要不同类型的数据存储. 访问和更新数据可能需要不同的一致性级别. 多个用户可以同时更新数据,这需要解决冲突. 服务必须 ...

  4. Sentry 监控 - Search 搜索查询实战

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  5. 深入HTML5第一天

    页面的title一般是30-40个字符:分别为主页,详情页,列表页  keywords:100个字符  description: em是:emphasize: 强调,着重  i:italic斜体的 : ...

  6. MSSQL数据库安全实验

    管理SQL Server认证模式 (1)确认 SQL Server 验证 ①在桌面上单击"开始",选择"程序"→"Microsoft SQL Serv ...

  7. 使用uView UI+UniApp开发微信小程序--微信授权绑定和一键登录系统

    在前面随笔<使用uView UI+UniApp开发微信小程序>和<使用uView UI+UniApp开发微信小程序--判断用户是否登录并跳转>介绍了微信小程序的常规登录处理和验 ...

  8. Navicat连接数据库成功,新建查询时提示错误“Cannot create file ……”

    Navicat连接数据库成功,新建查询时提示错误"Cannot create file --" 原因:编辑连接{高级}<设置位置>被修改,该oci.dll不正确 解决方 ...

  9. [转载]CentOS 7安装配置Samba服务器

    假设我们有这样一个场景 共享名路径权限SHAREDOC/smb/docs所有人员包括来宾均可以访问RDDOCS/smb/tech仅允许特定组的用户进行读写访问 特定组的组名为RD,目前的Alice.J ...

  10. VS2013的switch case缩进问题

    原来的   更改设置   改完后