TensorFlow中的机器学习算法是作用于张量上的,因此在学习TensorFlow之前需要先了解什么是张量。


张量是通过任意数量的索引指定矩阵中元素的一般化。

张量是更多的嵌套向量。


0阶张量即标量

1阶张量即向量

2阶张量即矩阵

3阶张量即立方体,如图片的RGB三通道表示


通常可以将列表、ndarray等类型转化为Tensor对象。

import tensorflow as tf
# We’ll use NumPy matrices in TensorFlow
import numpy as np   
# Define a 2x2 matrix in 3 different ways
m1 = [[1.0, 2.0], 
      [3.0, 4.0]]
m2 = np.array([[1.0, 2.0], 
               [3.0, 4.0]], dtype=np.float32)
m3 = tf.constant([[1.0, 2.0], 
                  [3.0, 4.0]])

# Print the type for each matrix
print(type(m1))
print(type(m2))
print(type(m3))

# Create tensor objects out of the different types
t1 = tf.convert_to_tensor(m1, dtype=tf.float32)
t2 = tf.convert_to_tensor(m2, dtype=tf.float32)
t3 = tf.convert_to_tensor(m3, dtype=tf.float32)

# Notice that the types will be the same now
print(type(t1))
print(type(t2))
print(type(t3))