tensorflow就该这么学--3

一、张量及操作

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) 数值操作


(3)形状变换

 


(4)数据操作

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

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


3、算数运算函数



4、矩阵相关运算


4、复数相关操作


5、降维计算


6、分割操作


7、序列比较


二、共享变量

1、Variable的用法


2、get_variable


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


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

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

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

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


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


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


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

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

如下所示:

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


三、图的基本操作

1、建立图


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

2、获取张量

3、获取结点操作


4、获取元素列表


5、获取对象






  

猜你喜欢

转载自blog.csdn.net/weixin_41362649/article/details/80032014
今日推荐