初识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. type switch使用

    type    switchs用法 这里存在一个未知类型变量的内省操作(introspection operation),就是x.(type),其中x是interface{}类型

  2. pip安装更换国内源

    镜像地址:阿里云 https://mirrors.aliyun.com/pypi/simple/豆瓣http://pypi.douban.com/simple/清华大学 https://pypi.tu ...

  3. Jvm调优理论篇

    Jvm实战调优 OOM(Out Of Memory) 内存溢出错误 ps:由于Java虚拟机有许多实现,本文主要阐述的是OpenJDK的HotSpot虚拟机,JDK版本是8. 一.首先要明白造成OOM ...

  4. Jmeter系列(6)- 分析源码,创建登录、浏览商品接口请求

    前言简介 接口的压力测试有个二八原则:线上80%的用户量在一天24小时20%(即4.8个小时)的时间里可以平稳运行,这个接口就算是通过压力测试了 源码分析 登录 浏览商品 创建请求 登录 浏览菜单 C ...

  5. 进入vim /etc/profile如何退出

    按o或i输入 按Esc,输入:wq,退出

  6. 面试官问:App测试和Web测试有什么区别?

    WEB 测试和 App 测试从流程上来说,没有区别.都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动. 从技术上来说,WEB 测试和 APP 测试其测试类型也基本相似,都需要进 ...

  7. 深入浅出WPF-10.Resource(资源)

    资源 对象级资源:每个WPF的界面元素都有一个名为Resources的属性,这个属性继承自FrameworkElement类,其类型为ResourceDictionary,采用键值对的形式存储资源,当 ...

  8. bootstrap inputfile 使用-上传,回显

    近期用bootstrap 做前端的上传,功能涉及到上传时就是召网上的教程随便弄一搜一大把,但是做到修改页面时候不知道页面该如何回显,折腾了一阵子才完成遂记录下来希望能给看到的小伙伴有点启发吧. 首先是 ...

  9. kafka高可用探究

    kafka高可用探究 众所周知 kafka 的 topic 可以使用 --replication-factor 数和 partitions 数来保证服务的高可用性 问题发现 但在最近的运维过程中,3台 ...

  10. 【Spring技术原理】Aspectj和LoadTimeWeaving的动态代理技术实现指南

    前提介绍 当我们聊到Spring框架的项目实际开发中,用的强大的功能之一就是(面向切面编程)的这门AOP技术.如果使用得当,它的最大的作用就是侵入性比较少并且简化我们的工作任务(节省大量的重复性编码) ...