![](/img/trans.png)
[英]Trying to implement 3d autoencoder like algorithm that maps an image to a video but mismatch at output dimensions
[英]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.