Tensorflow的基本数据结构是张量Tensor。张量即多维数组。

1、常量张量

  1. # 常量值不可以改变,常量的重新赋值相当于创造新的内存空间
  2. c = tf.constant([1.0,2.0])
  3. print(c)
  4. print(id(c))
  5. c = c + tf.constant([1.0,1.0])
  6. print(c)
  7. print(id(c))

image.png

  1. print(tf.rank(c)) # 打印张量维度

可以用tf.cast改变张量的数据类型。
可以用numpy方法将tensorflow中的张量转化成numpy中的张量。
可以用shape方法查看张量的尺寸。
可以用tf.rank查看张量的维度

2、变量张量

  1. # 变量的值可以改变,可以通过assign, assign_add等方法给变量重新赋值
  2. v = tf.Variable([1.0,2.0],name = "v")
  3. print(v)
  4. print(id(v))
  5. v.assign_add([1.0,1.0])
  6. print(v)
  7. print(id(v))

通过assign修改变量
通过assign_add追加变量值
通过read_value来读取张量

3、占位符

  1. input1 = tf.placeholder(tf.float32)
  2. input2 = tf.placeholder(tf.float32)
  3. # mul = multiply 是将input1和input2 做乘法运算,并输出为 output
  4. ouput = tf.multiply(input1, input2)
  5. with tf.Session() as sess:
  6. print(sess.run(ouput, feed_dict={input1: [7.], input2: [2.]}))