**TensorFlow基础:TensorFlow三个基础核心概念:计算图、Tensor、Session计算图:
在TensorFlow中,计算图是一个有向图,用来描述计算节点以及计算节点之间的关系,所以在TensorFlow中我们存储一个值或者数组的时候,存的其实是这个值或者数组的计算图而不是其本身的数字。我们可以用写一个简单的例子来验证一下:#GPU版本
import tensorflow as tf
g=tf.Graph()
with g.device("/gpu:0"):#c=lambda a,b:a+bd=tf.constant([10,9,8,7])e=tf.constant([1,2,3,4])f_1=d+fprint(f_1.graph)print(d.graph,e.graph)sess=tf.Session()print(sess.run(f_1))#CPU版
import tensorflow as tfa=tf.constant([1,2,3,4],name='a')
b=tf.constant([0,1,2,3],name='b')
c=a+b
print(a.graph,b.graph)
print(c.graph)sess=tf.Session()print(sess.run(c))关于计算图的操作
1、新建计算图:g=tf.Graph(),但是不同计算图上的张量是不能共享的,这个是存在于变量
2、指定计算图的使用的device:with g.device("/gpu:0"):
3、设置默认计算图:with g.as_default:
4、在会话中可以指定使用的计算图:with tf.Session(graph=g1):
对于以上操作用代码说话,建议大家和我一起写,这样才会有比较大的体会和能够记住,import tensorflow as tfg1=tf.Graph()
with g1.as_default():a=tf.constant([1,2,3],name="a")#用常量试试看b=tf.get_variable('b',initializer=tf.constant_initializer()(shape = [1]))#用变量试试看
g2=tf.Graph()
with g2.as_default():a=tf.constant([2,3],name="a")#用常量试试看b=tf.get_variable('b',initializer=tf.constant_initializer()(shape = [3]))#用常量试试看with tf.Session(graph=g2) as sess:with g1.device("/cpu:0"):tf.global_variables_initializer().run()c=a+1print("常量的情况下",sess.run(c))with tf.variable_scope("", reuse=True):print("变量情况下",sess.run(tf.get_variable("b")))
with tf.Session(graph=g2) as sess:with g2.device("/gpu:0"):tf.global_variables_initializer().run()c=a+1print("常量的情况下",sess.run(c))with tf.variable_scope("", reuse=True):print("变量情况下",sess.run(tf.get_variable("b")))张量:
张量(tensor)可以简单理解为多维数组。其中零阶张量表示标量(scalar),也就是一个数;一阶张量为向量(vector),也就是一维数组;第n阶张量可以理解为一个n维数组。但是张量在Tensorflow中的实现并不是直接采用数组的形式,它只是对Tensorflow中运算结果的引用。在张量中并没有真正保存数字,它保存的是如何得到这些数字的计算过程。import tensorflow as tfa=tf.constant(2,name='a')
b=tf.constant([0,1,2,3],name='b')
c=a*b
print(a,b)
print(c)sess=tf.Session()print(sess.run(c))会话:
在TensorFlow中,计算图的计算过程都是在会话下进行的,同一个会话内的数据是可以共享的,会话结束计算的中间量就会消失。在TensorFlow需要指定会话。import tensorflow as tfwith tf.Session as sess:print(sess.run(result))sess=tf.Session()
with sess.as_default():print(result.eval())sess = tf.InteractiveSession()#会自动成为默认会话TensorFlow 基础API介绍
我们这个课程的是将TensorFlow的高阶API,但是由于在我们的应用案例中不可能都是高阶API,还会涉及到一些常用必须的基础的API,我们在开始讲高阶API之前也先简单讲一下低阶的基础API.根据TensorFlow官网以及在日常的编程中的使用情况,我梳理了以下需要掌握的TensorFlow基础API:tf.Graph():
tf.Graph.device():
tf.Graph.as_default():
tf.Session():
tf.Session.run():
tf.Session.as_default():
tf.InteractiveSession():
tf.constant():
tf.variable():
tf.get_variable():
tf.placeholder():
tf.agrmax
tf.train()
tf.nn()
前面我们在讲解计算图、张量、会话时有些基础的API已经讲解了,在这里我们就不重复讲。我们这里重点讲一下tf.train和tf.nn这两个非常重要的API.**

tensorflow笔记相关推荐

  1. tensorflow笔记:多层CNN代码分析

    tensorflow笔记系列:  (一) tensorflow笔记:流程,概念和简单代码注释  (二) tensorflow笔记:多层CNN代码分析  (三) tensorflow笔记:多层LSTM代 ...

  2. tensorflow笔记:流程,概念和简单代码注释

    tensorflow是google在2015年开源的深度学习框架,可以很方便的检验算法效果.这两天看了看官方的tutorial,极客学院的文档,以及综合tensorflow的源码,把自己的心得整理了一 ...

  3. 人工智能实践:TensorFlow笔记学习(八)—— 卷积神经网络实践

    大纲 7.1  复现已有的卷积神经网络 7.2  用vgg16实现图片识别 目标 掌握复现已有网络,用vgg16实现图片识别 7.1  复现已有的卷积神经网络 VGGNet是Karen simonya ...

  4. 人工智能实践:TensorFlow笔记学习(六)—— 全连接网络实践

    输入手写数字输出识别结果 大纲 6.1 输入手写数字图片输出识别结果 6.2 制作数据集 目标 1.实现断点续训 2.输入真实图片,输出预测结果 3.制作数据集,实现特定应用 6.1  输入手写数字图 ...

  5. 人工智能实践:TensorFlow笔记学习(五)—— 全连接网络基础

    MNIST数据集输出手写数字识别准确率 大纲 5.1 MNIST数据集 5.2 模块化搭建神经网络 5.3 手写数字识别准确率输出 目标 利用MNIST数据集巩固模块化搭建神经网路的八股,实践前向传播 ...

  6. 人工智能实践:TensorFlow笔记学习(四)—— 神经网络优化

    神经网络优化  大纲 4.1 损失函数 4.2 学习率 4.3 滑动平均 4.4 正则化 4.5 神经网络搭建八股 目标 掌握神经网络优化方法 4.1 损失函数 神经元模型:用数学公式表示为:,f为激 ...

  7. 人工智能实践:TensorFlow笔记学习(三)——TensorFlow框架

    搭建神经网络 大纲 3.1 张量.计算图.会话 3.2 前向传播 3.3 反向传播 目标 搭建神经网络,总结搭建八股 3.1 张量.计算图.会话 一.基本概念 基于Tensorflow的NN:用张量表 ...

  8. 人工智能实践:TensorFlow笔记学习(二)—— Python语法串讲

    Python语法串讲  大纲 2.1 Linux指令.HelloWorld 2.2 列表.元组.字典 2.3 条件语句 2.4 循环语句 2.5 turtle模块 2.6 函数.模块.包 2.7 类. ...

  9. 人工智能实践:TensorFlow笔记学习(一)—— 人工智能概述

    概  述 一. 基本概念  1.什么是人工智能  人工智能的概念:机器模拟人的意识和思维 重要人物:艾伦·麦席森·图灵(Alan Mathison Turing) 人物简介:1912年6月23日-19 ...

  10. 7.3 TensorFlow笔记(基础篇):加载数据之从队列中读取

    前言 整体步骤 在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 1. 把样本数据写入TFRecords二进制文件 2 ...

最新文章

  1. 人群密度估计--Fully Convolutional Crowd Counting On Highly Congested Scenes
  2. 精心整理,机器学习的3大学习资源
  3. Handler消息机制(七):Message的数据结构是什么样子
  4. 大物实验计算弹性模量_普渡大学amp;橡树岭国家实验室IPJ:强度高达2.4GPa,双相纳米复合结构助力铝合金性能大幅提高!...
  5. Oracle中创建、修改、删除序列
  6. [lct] Luogu P4219 大融合
  7. Shell脚本编程基础笔记一
  8. 搭建git服务器--ssh篇
  9. MY WAY程序(十八) 团队开发
  10. 猪肉新鲜度光谱特征指数构建及敏感性分析
  11. java 配置文件设计,在设计注册控制器中添加用户配置文件
  12. 请求的资源不可用html,“HTTP状态404请求的资源不可用”
  13. git包名大小写不敏感的百分百管用但是不完美的解决方法
  14. 三菱gxworks3安装失败_GX Works3|GX Works3(三菱PLC编程软件)下载官方中文版 附序列号 - 欧普软件下载...
  15. 新手CrossApp 之IndicatorView小结
  16. 自己动手写一个分库分表中间件(一)
  17. raw格式转换jpg软件 V5.2
  18. 星载SAR的各项指标解读(史上最全)
  19. 用自己写的六爻装卦程序了占卜一下 2010 年
  20. 三菱PLC伺服XZ轴定位程序 程序都有注释、注释全面,用的三菱FX3U系列plc

热门文章

  1. sizeof和strlen()区别
  2. python函数作用域包括局部变量和参数_python函数变量的作用域声明(全局变量和局部变量)...
  3. 为什么python打包的应用那么大_浅谈python3打包与拆包在函数的应用详解
  4. stl文件 python_STL文件,一种前处理网格划分技术??
  5. [蓝桥杯]2016蓝桥省赛B组题目及详解
  6. 你不可不知的30个项目管理术语(中英文对照)
  7. Python 堡垒机介绍
  8. mvc2中如何在下拉列表中显示含有子类的项(子类前加--)
  9. ASP.NET中Server与Request对象的方法
  10. android 上下扫描动画,Android扫描雷达动画