import tensorflow as tf
a = [[1,1,1],
[2,2,2]]
b = [[3,3,3],
[4,4,4]]
c = [[[5,5,5],
[6,6,6]],
[[7,7,7],
[8,8,8]],
[[9,9,9],
[10,10,10]]
]
sess = tf.Session()
#tf.range():用于创建数字序列变量
print(sess.run(tf.range(8,13,2)))#起点是8,不超过13,增量为2,结果:[ 8 10 12]
print(sess.run(tf.range(8,13)))#步长默认1,结果[ 8 9 10 11 12]
print(sess.run(tf.range(8,3,-1.5)))#增量为-1.5,结果[8. 6.5 5. 3.5]
print(sess.run(tf.range(5)))#起点默认从0 开始,个数为5,结果[0 1 2 3 4]
#tf.shape():输出维度
print(sess.run(tf.shape(c)))#输出C的维度:[3 2 3]
#tf.concat():合并数组
x1 = tf.concat([a,b],axis=0)
x2 = tf.concat([a,b],axis=1)
print(sess.run(x1))#[[1 1 1]
# [2 2 2]
# [3 3 3]
# [4 4 4]]
print(sess.run(tf.shape(x1)))#[4 3]
print(sess.run(x2))#[[1 1 1 3 3 3]
# [2 2 2 4 4 4]]
print(sess.run(tf.shape(x2)))#[2 6]
#tf.stack
x1 = tf.stack([a,b],axis=0)
x2 = tf.stack([a,b],axis=1)
print(sess.run(x1))#[[[1 1 1]
# [2 2 2]]
# [[3 3 3]
# [4 4 4]]]
print(sess.run(tf.shape(x1)))#[2 2 3]
print(sess.run(x2))#[[[1 1 1]
# [3 3 3]]
# [[2 2 2]
# [4 4 4]]]
print(sess.run(tf.shape(x2)))#[2 2 3]
#tf.gather():把向量中某些索引值提取出来,得到新的向量
#tf.gather_nd():同上,适用于多维
index_a = tf.Variable([0])
sess.run(tf.global_variables_initializer())
print(sess.run(tf.gather_nd(x1,index_a)))#[[1 1 1]
# [2 2 2]]
print(sess.run(tf.gather_nd(tf.gather_nd(x1,index_a),index_a)))#[1 1 1]
concat(),stack(),gather()用法
最新推荐文章于 2024-04-19 23:06:55 发布