第三节 张量
Posted kogmaw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三节 张量相关的知识,希望对你有一定的参考价值。
# 张量(tensor)是对数组进行封装后的一种数据类型,三部分,名字,形状,数据类型 # 张量的阶对应着数组的维度 # 张量常用的数据类型:tf.float32,tf.int32,tf.string,tf.bool等 # 张量的属性:graph(张量所属的默认图),op(张量的操作名),name(张量的字符串描述),shape(张量的形状) # 静态形状:创建一个张量,初始状态的形状,一旦张量形状固定了,不能再次设置静态形状 # tf.Tensor.get_shape:获取静态形状 # tf.Tensor.set_shape:更新Tensor对象的静态形状,通常用于在不能直接推断的情况下 # 动态形状:一种描述原始张量在执行过程中的一种形状(动态变化),可以去创建一个新的张量,改变的时候一定要注意元素数量的匹配 # tf.reshape:创建一个具有不同动态形状的新张量 # 张量的动态形状和静态形状:在于有没有生成一个新的张量数据 import tensorflow as tf plt = tf.placeholder(tf.float32, [None, 2]) print(plt) plt.set_shape([2, 2, 4]) # 跨维度修改,报错 plt.set_shape([2, 2]) # 设置静态张量,一旦设定后不能再次修改 print(plt) plt.set_shape([4, 2]) # 前面已设置,再设置报错 plt_reshape = tf.reshape(plt, [3, 2]) # 设置动态张量,等于新创建了一个张量,跟plt已经没有关系 print(plt_reshape) plt_reshape = tf.reshape(plt, [4, 2]) # 重设动态张量,这时要注意数据要匹配 with tf.Session() as sess: pass
以上是关于第三节 张量的主要内容,如果未能解决你的问题,请参考以下文章