一、张量及操作

1、张量介绍

(1)tensor类型

DT_FLOAT、DT_DOUBLE、DT_INT64、DT_INT32、DT_INT16、DT_INT8、DT_STRING、DT_BOOL

(2)rank(阶)维度

a = [[1,2,3],[4,5,6],[7,8,9]]表示为2阶,看几层中括号就行

 (3)shape (形状) 表示内部组织关系

a = [[1,2,3],[1,2,3]]描述为(2,3)

2、张量相关操作

(1)类型转换

如:tf.to_double(x)

 (2) 数值操作

tensorflow就该这么学--3

(3)形状变换

 tensorflow就该这么学--3

tensorflow就该这么学--3

(4)数据操作

tf.splice(input,begin,size,name=None)

参考连接https://blog.csdn.net/chenxieyy/article/details/53031943

tensorflow就该这么学--3

3、算数运算函数

tensorflow就该这么学--3

tensorflow就该这么学--3

4、矩阵相关运算

tensorflow就该这么学--3tensorflow就该这么学--3

4、复数相关操作

tensorflow就该这么学--3

5、降维计算

tensorflow就该这么学--3

6、分割操作

tensorflow就该这么学--3

7、序列比较

tensorflow就该这么学--3

二、共享变量

1、Variable的用法

tensorflow就该这么学--3

2、get_variable

tensorflow就该这么学--3

第二个get_var1  发生崩溃,说明个get_variable只能定义一次指定名称的变量,这里面使用相同的firstvar,  更改如下:

tensorflow就该这么学--3

由此看出使用get_variable创建两个同样名字的变量是不行的

 var1 = tf.get_variable('firstvar',shape=[2],dtype=tf.float32)

var2 = tf.get_variable('firstvar',shape=[2],dtype=tf.float32)

如果想要这么做,需要在特定作用域下获得变量,如下所示:

tensorflow就该这么学--3

在不同作用域下生成的var1,var2是不同的,这就是scope的作用,scope还支持嵌套,如下所示:

tensorflow就该这么学--3

scope里面有个参数reuse,如果reuse=true表示定义过的变量,不再定义新的变量,而是去找原来此作用域的值,如下所示:

tensorflow就该这么学--3

表明 var1和var3共用一个变量、 var2和var4共用一个变量,注意如果代码报错需要重置图在代码中加入 tf.reset_default_graph()即可

3、初始化共享变量作用域

如下所示:

tensorflow就该这么学--3

4、作用域和操作符的受限范围

tensorflow就该这么学--3tensorflow就该这么学--3


三、图的基本操作

1、建立图

tensorflow就该这么学--3

注意:tf.reset_default_graph()函数会将当前图的资源全部释放,否则报错,当图中用tf.InteractiveSession建立会话时,结束没有close关闭,执行tf.reset_default_graph()函数时会报错

2、获取张量

tensorflow就该这么学--3

3、获取结点操作

tensorflow就该这么学--3

4、获取元素列表

tensorflow就该这么学--3

5、获取对象

tensorflow就该这么学--3





  

相关文章: