繁体   English   中英

输出时尺寸不匹配

[英]Dimensions mismatch at output time

我有一个尺寸为32 * 32 * 3的输入图像,其中3是输入/颜色通道的数量。 我正在尝试卷积并最大程度地合并结果。

space_glimpse_layer.py

class SGN(object):
    def __init__(self, w=32, filter_size=5, num_filters=96):
        self.input_x = tf.placeholder(tf.float32, [None, w, w, 3], name="X_train")
print(self.input_x)

现在,在我的控制器中,我将图像传递到SGN并查看结果。

controller.py

import read_data
import tensorflow as tf
import numpy as np
import spatial_glimpse_network

data = read_data.read()

img = next(data)
img = np.expand_dims(np.resize(img, (32, 32, 3)), 0)
with tf.Graph().as_default():
    sess = tf.Session()
    with sess.as_default():
        cnn = spatial_glimpse_network.SGN()
        sess.run(tf.global_variables_initializer())
        pool = sess.run([cnn.input_x], feed_dict={cnn.input_x:img})
        print(img.shape)
        print(np.array(pool).shape)

输出如下:

Tensor("X_train:0", shape=(?, 32, 32, 3), dtype=float32)
(1, 32, 32, 3)
(1, 1, 32, 32, 3)

如我们所见,输入的格式为1 * 32 * 32 * 3,其中1 =批数

最后的输出不应该是(1,32,32,3)的形式吗?

有人可以帮忙吗?

提前致谢。

我想原因是[]sess.run([cnn.input_x])它将返回列表

由于只有一个参数,因此只能使用sess.run(cnn.input_x) ,结果应该正确

如果您有多个参数
a_val, b_val = sess.run([a, b]) # split by it self ,或者
val = sess.run([a, b]) # get a list

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM