TensorFlow在计算图中可以创建多个图结构,在TensorFlow中创建一个张量并不能立即在图中增加什么,只有把张量赋值给占位符或者变量才会把此张量增加到计算图中。
1、固定张量(默认是float32类型,可以参考TF官网的API)
创建指定维度的零张量
zero_tsr = tf.zeros([rol_dim, col_dim])
创建指定维度的单位张量
ones_tsr = tf.ones([row_dim, col_dim])
创建指定维度的常数填充张量
filled_tsr = tf.fill([row_dim, col_dim], 42)
使用一个已知张量创建一个张量
constant_tsr = tf.constant([1, 2, 3])
2、形状相似的张量
创建一个和已知张量类型大小一致的张量,使其所有元素为0或者1
zero_similar = tf.zeros_like(constant_tsr) ones_similar = tf.ones_like(constant_tsr)
3、序列张量
创建指定间隔的张量,包含左右边界
linear_tsr = tf.linspace(start = 0, stop = 1, num = 3)
返回一个为[0.0, 0.5, 1.0]的张量
创建指定间隔的张量,但不包含右边界
interger_seq_tsr = tf.range(start = 6, stop = 15, delta = 3)
返回一个为[6, 9, 12]的张量
4、随机张量
创建一个均分分布的随机数张量(不包含右边界)
randunif_tsr = tf.random_uniform([row_dim, col_dim], minval = 0, maxval = 1)
创建一个正态分布的随机数张量
randnorm_tsr = tf.random_normal([row_dim, col_dim], mean = 0.0, stddev = 1.0)
创建一个指定边界的正态分布的随机数变量
truncnorm_tsr = tf.truncated_normal([row_dim, col_dim], mean = 0.0, stddev = 1.0)
创建一个随机化的张量
shuffled_output = tf.random_shuffle(input_tensor) cropped_output = tf.random_crop(input_tensor, crop_size)
对一个张量进行剪裁
cropped_image = tf.random_crop(my_image, [height/2, width/2, 3])