当分配给变量

时间:2018-04-28 05:34:05

标签: python tensorflow keras conv-neural-network

定义了一个模型,它接受形状输入(96,96,3)并输出形状(128),即为给定的输入尺寸图像提供128尺寸的嵌入。与facenet相似

createmodel()是在构造完整模型后返回完整模型的函数。由于模型期望以(batch_size,96,96,3)的形式输入,我传递3个图像,即(3,96,96,3),因此模型的输出将是形状(1,3,128)。牢记这一点,请考虑以下因素:

nn4_small2=createmodel()
print(nn4_small2.outputs[0][2])

#prints Tensor("strided_slice_11:0", shape=(128,), dtype=float32)

x=nn4_small2.outputs[0][2]
print(tf.shape(x))

#prints Tensor("Shape_6:0", shape=(1,), dtype=int32)

为什么输出张量的形状在分配给变量时会发生变化?

1 个答案:

答案 0 :(得分:0)

Relevant post

tf.shape(input,name = None)返回表示输入形状的1-D整数张量。

使用x.get_shape()返回x变量的TensorShape。