0. 小试牛刀

首先,激活tensorflow环境( source activate tensorflow ),随后在ipython里:

 import tensorflow as tf
 sess = tf.Session()

创建常量格式如下:

 tf.constant(value, dtype=None, shape=None, name='Const', verify_shape=False)

例1:

 node1 = tf.constant(3.0, dtype=tf.float32)
 node2 = tf.constant(4.0)
 print(sess.run([node1, node2]))

输出:

[3.0, 4.0]

例2:

 a = tf.constant([2, 2], name="vector")
 print(sess.run(a))

输出:

[2 2]

拓展:http://web.stanford.edu/class/cs20si/lectures/notes_02.pdf

1. 张量(Tensor)

1.1 基本概念

在TensorFlow里,张量这种数据类型用来表示一切数据,我们可以把它看成n维数组或列表。我们通常用Ranks, Shapes, and Types来描述张量。

(a) Ranks

Ranks用来表示张量的维度。

(b) Shape

Shape也用来表示维度,下表展示了Shape和Rank的联系。

(c) Data types

1.2 常量 (Constants)

0. 小试牛刀里便是创建常量形式的张量,这个比较简单,就参见本文的第0节吧!如果想了解更多,就请点击第0节拓展里的链接。

1.3 变量 (Variables)

变量这个就有点小小复杂了。。。。

Anyway,Let's go!!!

1.3.1 创建

 # Create two variables.
 weights = tf.Variable(tf.random_normal([784, 200], stddev=0.35),
                       name="weights")
 biases = tf.Variable(tf.zeros([200]), name="biases")

创建张量时需要指明张量的Shape,当然,TensorFlow存在更改Shape的机制(这个嘛,以后再聊)

仅仅是创建完还不行哦,还需要初始化!

1.3.2 初始化

初始化的命令为: tf.global_variables_initializer()

 # Create two variables.
 weights = tf.Variable(tf.random_normal([784, 200], stddev=0.35),
                       name="weights")
 biases = tf.Variable(tf.zeros([200]), name="biases")
 ...
 # Add an op to initialize the variables.
 init_op = tf.global_variables_initializer()

 # Later, when launching the model
 with tf.Session() as sess:
   # Run the init operation.
   sess.run(init_op)
   ...
   # Use the model
   ...

你有时候会需要用另一个变量的初始化值给当前变量初始化。由于  tf.initialize_all_variables()  是并行地初始化所有变量,所以在有这种需求的情况下需要小心。
用其它变量的值初始化一个新的变量时,可以使用其它变量的 initialized_value() 属性。你可以直接把已初始化的值作为新变量的初始值,或者把它当做 tensor 计算得到一个值赋予新变量。

 # Create a variable with a random value.
 weights = tf.Variable(tf.random_normal([784, 200], stddev=0.35),
                       name="weights")
 # Create another variable with the same value as 'weights'.
 w2 = tf.Variable(weights.initialized_value(), name="w2")
 # Create another variable with twice the value of 'weights'
 w_twice = tf.Variable(weights.initialized_value() * 2.0, name="w_twice")

2. 简单数学运算

 a = tf.constant([3, 6])
 b = tf.constant([2, 2])
 tf.add(a, b) # >> [5 8]
 tf.add_n([a, b, b]) # >> [7 10]. Equivalent to a + b + b
 tf.mul(a, b) # >> [6 12] because mul is element wise
 tf.matmul(a, b) # >> ValueError
 tf.matmul(tf.reshape(a, shape=[1, 2]), tf.reshape(b, shape=[2, 1])) # >> [[18]]
 tf.div(a, b) # >> [1 3]
 tf.mod(a, b) # >> [1 0]

TensorFlow学习笔记2——数据类型及简单运算的更多相关文章

  1. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  2. tensorflow学习笔记二:入门基础 好教程 可用

    http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一 ...

  3. Tensorflow学习笔记2019.01.22

    tensorflow学习笔记2 edit by Strangewx 2019.01.04 4.1 机器学习基础 4.1.1 一般结构: 初始化模型参数:通常随机赋值,简单模型赋值0 训练数据:一般打乱 ...

  4. 深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识

    深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识 在tf第一个例子的时候需要很多预备知识. tf基本知识 香农熵 交叉熵代价函数cross-entropy 卷积神经网络 s ...

  5. tensorflow学习笔记(1)-基本语法和前向传播

    tensorflow学习笔记(1) (1)tf中的图 图中就是一个计算图,一个计算过程.                                       图中的constant是个常量 计 ...

  6. tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)

    tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...

  7. TensorFlow学习笔记——LeNet-5(训练自己的数据集)

    在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...

  8. tensorflow学习笔记——VGGNet

    2014年,牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发了新的深度卷积神经网络:VGGNet ,并取得了ILSVRC201 ...

  9. TensorFlow学习笔记10-卷积网络

    卷积网络 卷积神经网络(Convolutional Neural Network,CNN)专门处理具有类似网格结构的数据的神经网络.如: 时间序列数据(在时间轴上有规律地采样形成的一维网格): 图像数 ...

随机推荐

  1. 【LeetCode】309. Best Time to Buy and Sell Stock with Cooldown

    题目: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...

  2. 青出于蓝而胜于蓝 — Vue.js对Angular.js的那些进步

    Angular.js与Vue.js是非常有渊源的两款前端框架,据Vue.js的官方网站描述,在其早期开发时,灵感来源就是Angular.js.而在很多方面,Vue.js也正像是中国的那句古话,&quo ...

  3. iOS开发Safari调试WebView页面

    App混合开发现已是常态,不过作为app端开发人员,对H5页面的使用,可不能简单的局限于使用,一些简单的调试方法还是有必要了解的. 关于如何在使用webview过程中,如何对web内对内容进行调试,这 ...

  4. SQL执行过程中的性能负载点

    一.SQL执行过程 1.用户连接数据库,执行SQL语句: 2.先在内存进行内存读,找到了所需数据就直接交给用户工作空间: 3.内存读失败,也就说在内存中没找到支持SQL所需数据,就进行物理读,也就是到 ...

  5. c++ 命名空间 以及 作用域 函数参数 面向对象实验报告

    面向对象的分析与设计  实验报告一 一.变量的储存类别 auto static register extern auto变量   函数中的局部变量,如不专门声明为static存储类别,都是动态地分配存 ...

  6. Wince 创新布局

    如果你的项目是用wince开发并且机器是小型的pda,你可以考虑有这种布局方式. IDE上布局,如图 /// <summary> /// 显示层 /// </summary> ...

  7. Struts2+Spring+Hibernate+Jbpm技术实现Oa(Office Automation)办公系统第一天框架搭建

    =============编码规范,所有文健,所有页面,所有数据库的数据表都采用UTF-8编码格式,避免乱码:===========开发环境:jdk1.7+tomcat8.0+mysql5.7+ecl ...

  8. PHP ORM笔记

    1.ORM是什么? 经常听到程序员的面试中会问到对ORM的了解,但是一直不知道ORM是个什么鬼东西,知道有一天在百度上顺带看到才发现ORM就是我们平时在框架中一直使用的数据库对象操作.ORM(Obje ...

  9. 设计模式的征途—14.职责链(Chain of Responsibility)模式

    相信大家都玩过类似于“斗地主”的纸牌游戏,某人出牌给他的下家,下家看看手中的牌,如果要不起,则将出牌请求转发给他的下家,其下家再进行判断.一个循环下来,如果其他人都要不起该牌,则最初的出牌者可以打出新 ...

  10. ARM开发(3)基于STM32的矩阵键盘控制蜂鸣器

    一 矩阵键盘控制蜂鸣器原理:  1.1 本实验实现8*7矩阵键盘上按键控制蜂鸣器响.  1.2 实验思路:根据电路图原理,找出矩阵键盘行列所对应的引脚,赋予对应的按键值,然后控制蜂鸣器响.  1.3 ...