Tensorflow框架初识
我们常说不要重复的造轮子,要尽可能的利用已有的成熟框架,毕竟站在巨人的肩膀上看世界,将会看的更远看的更多。目前,工业界和学术界已经提供了很多开源的神经网络实现如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框架初识相关推荐
- Tensorflow框架是如何支持分布式训练的?
参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 作者 | 杨旭东 转载自知乎<算法工程师的自我修养>专栏 Methods that scale with computation ...
- AI工程师面试知识点:TensorFlow 框架
AI工程师面试知识点:TensorFlow 框架
- Pycharm中tensorflow框架下tqdm的安装
基本环境 win 10 tensorflow-cpu pycharm // tensorflow程序里错误结果显示from tqdm import tqdm ImportError: cannot i ...
- Uber开源TensorFlow框架工具箱Ludwig,无需编码即可进行深度学习开发
日前,网约车服务商 Uber 开源并发布了它们开发的 Ludwig,这是一款基于 Google TensorFlow 框架上的开源工具箱.藉由 Ludwig,用户无需再编写任何代码即可进行深度学习的开 ...
- 【深度学习】Keras和Tensorflow框架使用区别辨析
[深度学习]Keras和Tensorflow框架使用区别辨析 文章目录 1 概述 2 Keras简介 3 Tensorflow简介 4 使用tensorflow的几个小例子 5 Keras搭建CNN ...
- CV之CNN:基于tensorflow框架采用CNN(改进的AlexNet,训练/评估/推理)卷积神经网络算法实现猫狗图像分类识别
CV之CNN:基于tensorflow框架采用CNN(改进的AlexNet,训练/评估/推理)卷积神经网络算法实现猫狗图像分类识别 目录 基于tensorflow框架采用CNN(改进的AlexNet, ...
- TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别
TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...
- DL之DNN:基于Tensorflow框架对神经网络算法进行参数初始化的常用九大函数及其使用案例
DL之DNN:基于Tensorflow框架对神经网络算法进行参数初始化的常用九大函数及其使用案例 目录 基于Tensorflow框架对神经网络算法进行初始化的常用函数及其使用案例 1.初始化的常用函数
- DL之LSTM:基于tensorflow框架利用LSTM算法对气温数据集训练并回归预测
DL之LSTM:基于tensorflow框架利用LSTM算法对气温数据集训练并回归预测 目录 输出结果 核心代码 输出结果 数据集 tensorboard可视化 iter: 0 loss: 0.010 ...
最新文章
- 这个图聚类Python工具火了:可对社群结构进行可视化、检测 | 开源
- 智能如何产生,这仍然是个问题
- 睡眠好不在于8小时,关键是满足「睡眠周期」
- 【HeadFirst 设计模式总结】1.策略模式
- 利用pip3 install --upgrade批量更新已过期的python库
- php 运行 shell命令行参数,PHP exec()在通过浏览器执行时不会执行shell命令
- (92)如何解决信号高扇出问题,例如复位信号
- 哈夫曼树【最优二叉树】【Huffman】
- 前端 后端 MD5加盐
- 计算机仿真课程的心得体会,数学建模心得体会
- Chapter Three : Python 序列之字符串操作详解
- python任务栏都隐藏了_请问如何始终隐藏WINDOWS任务栏?
- 计算机本科考金融本科自考,金融专业自考本科考哪几门,自考金融本科科目学习考试顺序?...
- 动手学习数据分析——第一部分
- 怎么把照片做成计算机主题,教你如何用自己的照片来制作win7 64位电脑主题
- 163邮箱,163vip的邮箱收费标准是什么?
- 上级对下级用通知合适吗_“通知”是上级给下级的还是下级给上级的?
- asp.net一键服务器小工具_HashTab-查看哈希值小工具,一键插件文件md5值
- 动手写一个HTML5的无限循环滚动焦点图
- [前端] 前端bootstrap col-xs-6 col-md-3的布局意思