import tensorflow as tf
import tensorflow.compat.v1 as tf#设置为v1版本
tf.disable_v2_behavior()#禁用v2版本
#首先,要了解一个叫张量的东西,到时候在节点之间流通的就是它了
#理解方式:我认为用数组理解就够了,张量的结束就是数组的维数
#不用扯什么立体,矩阵,列表,向量之类的东西,实例如下:
#零维数组:
# x=0
#一维数组:
#x=[1,2,3,4,5,7,8,9,10]
#二位数组:
#x=[ [a11,a12,a13,a14,a15,a16,a17]
# [a21,a22,a23,a24,a25,a26,a27]
# [a31,a32,a33,a34,a35,a36,a37]
# [a41,a42,a43,a44,a45,a46,a47] ]
#三位数组:
#x=[ [[a111,a112],[a121,a122],[a131,a132]]
# [[a211,a212],[a221,a222],[a231,a232]]
# [[a311,a312],[a321,a322],[a331,a332]]
# ]
#一维数组就是把一个数扩展为一列数,
#二维数组就是把一维数组中的每一个数都变成一列数,
#三位数组就是把二位数组中的每一个数组继续扩展为一列数,
#可以在命名方式中体现这一点,一个n维数组中的元素命名为:
#a(1x)(2y)...(ni),其中ni就是它在第n维数组中的下标.
#反正升维就是一个把终端变为指针的过程,不断拓宽引用的过程.
a=tf.constant([1.0,2.0])
b=tf.constant([3.0,2.0])
y=a+b
print(y)#Tensor("add:0", shape=(2,), dtype=float32)
a1=tf.constant([[[1,2],[3,4]],
[[5,6],[7,8]]])
a2=tf.constant([[[8,7],[6,5]],
[[4,3],[2,1]]])
y1=a1+a2
print(y1)#Tensor("add_1:0", shape=(2, 2, 2), dtype=int32)
a3=tf.constant(
[
#a1
[[[111],[112]],[[121],[122]],[[131],[132]]
],
#a2
[
[[211],[212]],[[221],[222]],[[231],[232]]
],
#a3
[
[[311],[312]],[[321],[322]],[[331],[332]]
],
#a4
[
[[411],[412]],[[421],[422]],[[431],[432]]
]
]
)
y2=a3+a3
print(y2)#Tensor("add_2:0", shape=(4, 3, 2, 1), dtype=int32),这个4321是我故意的
#所以说shape的括号里显示的应该依次是一维数组中元素的个数,二位数组中元素的个数,三位数组中元素的个数
来源:CSDN
作者:oahuyil
链接:https://blog.csdn.net/realliyuhao/article/details/104104781