Machine learning 如何重塑Keras中的张量

Machine learning 如何重塑Keras中的张量,machine-learning,tensorflow,deep-learning,keras,reshape,Machine Learning,Tensorflow,Deep Learning,Keras,Reshape,我有两个keras张量:LSTM和SIM。我打印出两个张量的形状。LSTM具有形状(1,18),而SIM具有形状(18,18)。我想将模拟人生重塑为(1,18)。所以我尝试了以下代码 sims = keras.layers.core.Reshape((1, 18))(sims) keras.layers.core.reforme给了我一个错误: ValueError: total size of new array must be unchanged 我还尝试了lambda层来包装tenso

我有两个keras张量:LSTM和SIM。我打印出两个张量的形状。LSTM具有形状
(1,18)
,而SIM具有形状
(18,18)
。我想将模拟人生重塑为
(1,18)
。所以我尝试了以下代码

sims = keras.layers.core.Reshape((1, 18))(sims)
keras.layers.core.reforme给了我一个错误:

ValueError: total size of new array must be unchanged
我还尝试了lambda层来包装tensorflow.reforme()

但它给了我一个形状为(18,1,18)

所以,我的问题是如何将sims张量重塑为
(1,18)

提前谢谢

    LSTMs = keras.layers.concatenate([lstm1, lstm2, lstm3, lstm4, lstm5, lstm6, lstm7, lstm8, lstm9])


    sims = keras.layers.concatenate([sim1, sim1, sim2, sim2, sim3, sim3, sim4, sim4, sim5,
                                     sim5, sim6, sim6, sim7, sim7, sim8, sim8, sim9, sim9])

    print 'shape(sims)b4', keras.backend.int_shape(sims)
    print 'shape(LSTMs)b4', keras.backend.int_shape(LSTMs)

    sims = keras.layers.core.Reshape((1, 18))(sims)
    #sims = keras.layers.Lambda(reshape, output_shape=(1, 18))(sims)

    print 'shape(sims)af', keras.backend.int_shape(sims)

是否每个
sim1
sim2
等都具有相同的形状?@RohitShinde,是的,它们具有相同的形状well。。。由于要连接18个sim张量,因此无法避免输出是一个sim张量的18倍。您是否打算
Add()([sim1,sim1,sim2…])
?--如果没有,您必须处理这样一个事实:连接的sim卡的大小是一个sim卡的18倍。而串联的LSTM只有9个。如果您添加每个元素的打印int_形状的结果,我们可能会提供更多帮助。
    LSTMs = keras.layers.concatenate([lstm1, lstm2, lstm3, lstm4, lstm5, lstm6, lstm7, lstm8, lstm9])


    sims = keras.layers.concatenate([sim1, sim1, sim2, sim2, sim3, sim3, sim4, sim4, sim5,
                                     sim5, sim6, sim6, sim7, sim7, sim8, sim8, sim9, sim9])

    print 'shape(sims)b4', keras.backend.int_shape(sims)
    print 'shape(LSTMs)b4', keras.backend.int_shape(LSTMs)

    sims = keras.layers.core.Reshape((1, 18))(sims)
    #sims = keras.layers.Lambda(reshape, output_shape=(1, 18))(sims)

    print 'shape(sims)af', keras.backend.int_shape(sims)