关于Tensorflow

TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

什么是数据流图(Data Flow Graph)##

数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。

tf常量变量

import tensorflow as tf
data1= tf.constant(2.5)
data2=tf.Variable(10,name='var')
print(data1)
print(data2)
>>>Tensor("Const:0", shape=(), dtype=float32)
<tf.Variable 'var:0' shape=() dtype=int32_ref>
#tensor代表张量  const代表常量  shape代表维度  dtype=float32代表当前数据类型
#var代表变量  dtype int32

tensorflow的操作都必须在session中进行

import tensorflow as tf
data1= tf.constant(2.5)
data2=tf.Variable(10,name='var')
sess=tf.Session()
print(sess.run(data1))

输出
2.5


import tensorflow as tf
data1= tf.constant(2,dtype=tf.int32)
data2=tf.Variable(10,name='var')
sess=tf.Session()
print(sess.run(data1))init=tf.global_variables_initializer()
sess.run(init)
#变量需要先初始化否则会出错print(sess.run(data2))
sess.close()
#sess的关闭 方法二  方法一为上述的close方法
import tensorflow as tfdata2=tf.Variable(10,name='var')
sess=tf.Session()
init=tf.global_variables_initializer()
with sess:sess.run(init)print(sess.run(data2))

Tensorflow实质

实质:张量Tensor+计算图grahps

tensor的实质是数据 常量或者变量 一维或者多维
op 对数进行操作
graphs 数据操作

  • 四则运算
#tf常量的四则运算  加减乘除
import tensorflow as tf
data1= tf.constant(6)
data2=tf.constant(2)
dataadd=tf.add(data1,data2)
datamul=tf.multiply(data1, data2)
datasub=tf.subtract(data1, data2)
datadiv=tf.divide(data1,data2)
with tf.Session() as sess:print(sess.run(dataadd))print(sess.run(datasub))print(sess.run(datamul)) print(sess.run(datadiv))

#tf的四则运算  加减乘除
import tensorflow as tf
data1= tf.constant(6)
data2= tf.Variable(2)
dataadd=tf.add(data1,data2)
datamul=tf.multiply(data1, data2)
datasub=tf.subtract(data1, data2)
datadiv=tf.divide(data1,data2)
init=tf.global_variables_initializer()
'''变量的初始化'''
with tf.Session() as sess:print(sess.run(init))#运行起来init 才能使用print(sess.run(dataadd))print(sess.run(datasub))print(sess.run(datamul)) print(sess.run(datadiv))

#tf的四则运算  加减乘除
import tensorflow as tf
data1= tf.constant(6)
data2= tf.Variable(2)
dataadd=tf.add(data1,data2)
datacopy=tf.assign(data2,dataadd)
datamul=tf.multiply(data1, data2)
datasub=tf.subtract(data1, data2)
datadiv=tf.divide(data1,data2)
init=tf.global_variables_initializer()
'''变量的初始化'''
with tf.Session() as sess:sess.run(init)#运行起来init 才能使用print(sess.run(dataadd))print(sess.run(datasub))print(sess.run(datamul)) print(sess.run(datadiv))print('sess.run(datacopy)',sess.run(datacopy)) #  8->  data2print('datacopy.eval()',datacopy.eval())   #data2 =8   data2+data1=14print('tf.get_default_session()',tf.get_default_session().run(datacopy)) #data2=14  data2+data1=20
#   .eval  相当于 tf.get_default_session()

output:
8
4
12
3.0
sess.run(datacopy) 8
datacopy.eval() 14
tf.get_default_session() 20

placeholder

tf.placeholder(dtype, shape, name)
第一个参数代表要输入的数据的数据类型,大多数时候是float32
第二个参数代表要保存的数据的结构,只不过他和变量不一样的地方在于,她在session的运行阶段需要通过data_dict{ } 喂数据

import tensorflow as tf
a=tf.placeholder(tf.float32)
b=tf.placeholder(tf.float32)
c=tf.add(a,b)
with tf.Session() as sess:print(sess.run(c,feed_dict={a:10,b:20}))

就像前面的讲解一样,我们先弄了一个壳子,并且定义了operation为add,然后在会话(Session)中用feed_dict把数据给它。 如上 a=10 b=20。

reshape

print '改成2行3列:'
print c.reshape(2,3)
print '改成3行2列:'
print c.reshape(3,2)
print '我也不知道几行,反正是1列:'
print c.reshape(-1,1)
print '我也不知道几列,反正是1行:'
print c.reshape(1,-1)
print '不分行列,改成1串'
print c.reshape(-1)

TensorFlow入门(1)相关推荐

  1. tensorflow 入门

    基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使 ...

  2. Tensorflow入门——训练结果的保存与加载

    2019独角兽企业重金招聘Python工程师标准>>> 训练完成以后我们就可以直接使用训练好的模板进行预测了 但是每次在预测之前都要进行训练,不是一个常规操作,毕竟有些复杂的模型需要 ...

  3. TensorFlow入门:第一个机器学习Demo

    TensorFlow入门:第一个机器学习Demo 2017年12月13日 20:10:23 阅读数:8604 本文主要通过一个简单的 Demo 介绍 TensorFlow 初级 API 的使用方法,因 ...

  4. 从 TensorFlow 入门机器学习

    写在前面:紧跟时代步伐,开始学习机器学习,抱着争取在毕业之前多看看各个方向是什么样子的心态,发现这是一个很有潜力也很有趣的领域(keng).// 然后就开始补数学了-- 0 TensorFlow 介绍 ...

  5. Tensorflow 入门教程

    Tensorflow 入门教程  http://tensornews.cn/ 深度学习发展史 特征工程 深度学习之激活函数 损失函数 反向传播算法 [上] 反向传播算法 [下] Tensorflow ...

  6. tensorflow入门_TensorFlow法律和统计入门

    tensorflow入门 by Daniel Deutsch 由Daniel Deutsch TensorFlow法律和统计入门 (Get started with TensorFlow on law ...

  7. TensorFlow 入门 | iBooker·ApacheCN

    原文:Getting Started with TensorFlow 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原 ...

  8. 比官方更简洁的Tensorflow入门教程

    声明: 参考自Python TensorFlow Tutorial – Build a Neural Network,本文简化了文字部分 文中有很多到官方文档的链接,毕竟有些官方文档是中文的,而且写的 ...

  9. 极客兔兔 TensorFlow入门教程

    TensorFlow入门(一) - mnist手写数字识别(网络搭建) TensorFlow入门(二) - mnist手写数字识别(模型保存加载) TensorFlow入门(三) - mnist手写数 ...

  10. (转)tensorflow入门教程(二十六)人脸识别(上)

    https://blog.csdn.net/rookie_wei/article/details/81676177 1.概述 查看全文 http://www.taodudu.cc/news/show- ...

最新文章

  1. 为SQL Server Express 2012启用远程连接
  2. LinearGradient线性渲染
  3. C语言工程实践-简单文本编辑器
  4. 计算一个list中数据的平均数、中位数和众数【python实现】
  5. shell中source与sh区别
  6. [mybatis]动态sql_choose_分支选择
  7. 电话光端机原理及作用分析
  8. toString(radix)
  9. Flink】Flink连接prometheus 端口报错 Invalid host/port configuration. Host xxx Port -1
  10. mysql多数据库并发控制_什么是数据库并发控制?数据库并发控制的主要方法是?...
  11. Struct与Class
  12. 基于Hadoop的数据分析案例-陌陌聊天软件数据分析
  13. C++ 两点之间的距离
  14. 2021年了,微信公众号还有前途吗?
  15. 第11章实验1:学生成绩管理系统V4.0(C语言)
  16. 赋科技以温度,百度集团副总裁吴甜入选《财富》“40 Under 40榜单”
  17. 详解Java的自动装箱与拆箱(Autoboxing and unboxing)
  18. R语言条件逻辑回归-因变量是配对资料
  19. 百度文库----免费复制
  20. asp.net中使用Uploadify插件实现多张图片上传,上传后可显示缩略图、删除图片

热门文章

  1. Oracle:Authid Current_User使用
  2. [转载]生活在 Emacs 中
  3. 通过宝塔webhook,实现git自动拉取服务器代码
  4. 8、第六 -面向对象高级语法-异常处理
  5. SQL-用JOIN连接多个表
  6. 从程序员到项目经理(24):慎于问敏于行 - 忠于工作不等于奴性
  7. 张正友标定算法理论及算法实现
  8. 请领导审阅并提意见应怎么说_成功的领导是怎样跟下属沟通的?在交谈的时候,应当注意这三点...
  9. github打开前端样式丢失_微信小程序入门教程之二:页面样式
  10. 三角形一点到三边距离最小_三角形内有没有一个点到三边距离之和最小 -