我们常说不要重复的造轮子,要尽可能的利用已有的成熟框架,毕竟站在巨人的肩膀上看世界,将会看的更远看的更多。目前,工业界和学术界已经提供了很多开源的神经网络实现如Caffe、Tensorflow、Keras、PyTorch等等,这些框架的功能非常强大,底层的实现细节框架已经帮我们做好,我们只需要定义自己的需求就行。

要说目前最为成熟、社区基础最为雄厚的深度学习框架,非Google出品的tensorflow莫属。

Tensorflow的命名源于其运行原理,Tensor本意为张量,通常表示多维矩阵,在深度学习项目中,数据大多高于二维,多维也是深度学习处理数据的核心特征。Flow本意为流动,即基于数据流图的计算。合在一起,Tensor Flow,张量从数据流图的一端流动到另一端的计算过程。

总体来讲,基于TensorFlow搭建的神经网络:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,再优化线上的权重(参数),得到模型。神经网络的基本模型是神经元,神经元的基本模型其实就是数学中的乘、加运算。

接下来我们认识几个基本概念:

张量:即多维数组,张量的维度用“阶“表示。

0阶张量称作标量,是一个单独的数,如s=245

1阶张量称作向量,一维数组,如x=[2,4,5]

2阶张量称作矩阵,二维数组,如y=[[2,4,5],[6,8,9]]

3阶张量,如z=[  [  [ …… ]  ]  ]

数据类型:tensorflow中数据类型有tf.float32、tf.int32等

例如,我们来实现下tensorflow的加法:

import tensorflow as tf
a=tf.constant([1.0,2.0])
b=tf.constant([3.0,4.0])
result=a+b
print(result)

输出结果:

Tensor("add:0", shape=(2,), dtype=float32)

分别定义两个张量a,b。result实现其加法运算。输出result表示是一个名称为add:0的张量,shape是一个一维数组,长度为2,dtype=float32表示数据类型为浮点型。

计算图(Graph):(也称数据流图)即在逻辑上描述一遍神经网络的计算过程,只搭建网络,不计算。

# 构建计算流图
import tensorflow as tf
a=tf.constant([[4.0,1.0]],name="input_a")
b=tf.constant([[2.0],[1.0]],name="input_b")
c=tf.matmul(a,b,name="mul_c")
print(c)

输出结果:

Tensor("mul_c:0", shape=(1, 1), dtype=float32)

通过定义a,b两个2阶张量,c表示实现a,b的矩阵乘法。通过打印出的结果也是一个张量,只搭建承载计算过程的计算图,并没有运算。

会话(Session):执行计算图中的计算过程。

我们通常用“with”上下文管理器实现它,语法如下:

with tf.Session() as sess:print(sess.run())

我们在上一个计算图中加入with结构:

import tensorflow as tf
a=tf.constant([[4.0,1.0]],name="input_a")
b=tf.constant([[2.0],[1.0]],name="input_b")
c=tf.matmul(a,b,name="mul_c")
with tf.Session() as sess:print(sess.run(c))

输出结果:

[[9.]]

了解完这四个基本概念后,我们可以运用tensorflow做一些简单的运算操作,当然,这些还远远不够,要想把神经网络玩转起来,接下来我们还要认识一些神经网络的参数,欢迎和我走进知识的海洋一起遨游~~~

Tensorflow框架初识相关推荐

  1. Tensorflow框架是如何支持分布式训练的?

    参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 作者 | 杨旭东 转载自知乎<算法工程师的自我修养>专栏 Methods that scale with computation ...

  2. AI工程师面试知识点:TensorFlow 框架

    AI工程师面试知识点:TensorFlow 框架

  3. Pycharm中tensorflow框架下tqdm的安装

    基本环境 win 10 tensorflow-cpu pycharm // tensorflow程序里错误结果显示from tqdm import tqdm ImportError: cannot i ...

  4. Uber开源TensorFlow框架工具箱Ludwig,无需编码即可进行深度学习开发

    日前,网约车服务商 Uber 开源并发布了它们开发的 Ludwig,这是一款基于 Google TensorFlow 框架上的开源工具箱.藉由 Ludwig,用户无需再编写任何代码即可进行深度学习的开 ...

  5. 【深度学习】Keras和Tensorflow框架使用区别辨析

    [深度学习]Keras和Tensorflow框架使用区别辨析 文章目录 1 概述 2 Keras简介 3 Tensorflow简介 4 使用tensorflow的几个小例子 5 Keras搭建CNN ...

  6. CV之CNN:基于tensorflow框架采用CNN(改进的AlexNet,训练/评估/推理)卷积神经网络算法实现猫狗图像分类识别

    CV之CNN:基于tensorflow框架采用CNN(改进的AlexNet,训练/评估/推理)卷积神经网络算法实现猫狗图像分类识别 目录 基于tensorflow框架采用CNN(改进的AlexNet, ...

  7. TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别

    TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...

  8. DL之DNN:基于Tensorflow框架对神经网络算法进行参数初始化的常用九大函数及其使用案例

    DL之DNN:基于Tensorflow框架对神经网络算法进行参数初始化的常用九大函数及其使用案例 目录 基于Tensorflow框架对神经网络算法进行初始化的常用函数及其使用案例 1.初始化的常用函数

  9. DL之LSTM:基于tensorflow框架利用LSTM算法对气温数据集训练并回归预测

    DL之LSTM:基于tensorflow框架利用LSTM算法对气温数据集训练并回归预测 目录 输出结果 核心代码 输出结果 数据集 tensorboard可视化 iter: 0 loss: 0.010 ...

最新文章

  1. 这个图聚类Python工具火了:可对社群结构进行可视化、检测 | 开源
  2. 智能如何产生,这仍然是个问题
  3. 睡眠好不在于8小时,关键是满足「睡眠周期」
  4. 【HeadFirst 设计模式总结】1.策略模式
  5. 利用pip3 install --upgrade批量更新已过期的python库
  6. php 运行 shell命令行参数,PHP exec()在通过浏览器执行时不会执行shell命令
  7. (92)如何解决信号高扇出问题,例如复位信号
  8. 哈夫曼树【最优二叉树】【Huffman】
  9. 前端 后端 MD5加盐
  10. 计算机仿真课程的心得体会,数学建模心得体会
  11. Chapter Three : Python 序列之字符串操作详解
  12. python任务栏都隐藏了_请问如何始终隐藏WINDOWS任务栏?
  13. 计算机本科考金融本科自考,金融专业自考本科考哪几门,自考金融本科科目学习考试顺序?...
  14. 动手学习数据分析——第一部分
  15. 怎么把照片做成计算机主题,教你如何用自己的照片来制作win7 64位电脑主题
  16. 163邮箱,163vip的邮箱收费标准是什么?
  17. 上级对下级用通知合适吗_“通知”是上级给下级的还是下级给上级的?
  18. asp.net一键服务器小工具_HashTab-查看哈希值小工具,一键插件文件md5值
  19. 动手写一个HTML5的无限循环滚动焦点图
  20. [前端] 前端bootstrap col-xs-6 col-md-3的布局意思

热门文章

  1. File和path的用法
  2. DIE(一个JS引擎Fuzzing工具)安装教程
  3. ANSYS中按照X坐标提取节点应力值
  4. Learning to Rank 简介(转载)
  5. Android实习周记:第三周,工作里重复太多,觉得枯燥,怎么办?
  6. 泰坦尼克号 机器学习_机器学习项目泰坦尼克号问题陈述
  7. keep-alive和activated的使用
  8. mysql 5.7修改密码
  9. 全网最新最细最全最牛的jmeter接口测试,性能测试,没有之一,如有雷同纯属抄袭。
  10. 在c语言中本征函数说明,西北工业大学 量子力学历年考题某年的吧