第三节 张量

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

 

以上是关于第三节 张量的主要内容,如果未能解决你的问题,请参考以下文章

第三节:作用域链

Linux内核第三节 20135332武西垚

手写数字识别——基于全连接层和MNIST数据集

第三节:方法

第三节:Java类和对象之代码块和内部类

第三节- StreamGraph构建过程