tf.get_shape()
x.get_shape()中x只能是tensor,且返回的是一个元组,得到tensor x的尺寸。
tf.shape()
与x.get_shape()不同的是,tf.shape()中a数据类型可以是tensor,list,array。
tf.convert_to_tensor()
将张量对象、数字数组、Python列表和Python标量转换为一个tensor。
tf.name_scope()
定义一块名为cgx_name_scope的区域,并在其中工作。在某个tf.name_scope()指定的区域中定义的所有对象及各种操作,他们的“name”属性上会增加该命名区的区域名,用以区别对象属于哪个区域。
例如:
import tensorflow as tf;
tf.reset_default_graph()
# 无tf.name_scope()
a = tf.constant(1,name='my_a') #定义常量
b = tf.Variable(2,name='my_b') #定义变量
c = tf.add(a,b,name='my_add') #二者相加(操作)
print("a.name = "+a.name)
print("b.name = "+b.name)
print("c.name = "+c.name)
# 有tf.name_scope()
# with tf.name_scope('cgx_name_scope'): #定义一块名为cgx_name_scope的区域,并在其中工作
# a = tf.constant(1,name='my_a')
# b = tf.Variable(2,name='my_b')
# c = tf.add(a,b,name='my_add')
# print("a.name = "+a.name)
# print("b.name = "+b.name)
# print("c.name = "+c.name)
输出结果对比:
# 输出结果
# 无tf.name_scope()
a.name = my_a:0
b.name = my_b:0
c.name = my_add:0
# 有tf.name_scope()
a.name = cgx_name_scope/my_a:0
b.name = cgx_name_scope/my_b:0
c.name = cgx_name_scope/my_add:0
tf.argmax()
tf.argmax(input,axis)根据axis取值的不同返回每行或者每列最大值的索引。
test = np.array([
[1, 2, 3],
[2, 3, 4],
[5, 4, 3],
[8, 7, 2]])
np.argmax(test, 0) #按列,输出:array([3, 3, 1]
np.argmax(test, 1) #按行,输出:array([2, 2, 0, 0]