Tensorflow 如何重塑CNN层输出以再次将其馈送至CNN

Tensorflow 如何重塑CNN层输出以再次将其馈送至CNN,tensorflow,keras,neural-network,conv-neural-network,Tensorflow,Keras,Neural Network,Conv Neural Network,我试图从CNN层获取输出,然后将此输出再次馈送到CNN模型,但我无法重塑输出,我正在将其馈送到模型 我已经尝试过几种重塑技术,比如np.reformate(x),但我遇到了维度和列表问题。我的代码如下 Y = traindata.iloc[:,0] C = testdata.iloc[:,0] T = testdata.iloc[:,1:42] scaler = Normalizer().fit(X) trainX = scaler.transform(X) scaler = Normalize

我试图从CNN层获取输出,然后将此输出再次馈送到CNN模型,但我无法重塑输出,我正在将其馈送到模型

我已经尝试过几种重塑技术,比如
np.reformate(x)
,但我遇到了维度和列表问题。我的代码如下

Y = traindata.iloc[:,0]
C = testdata.iloc[:,0]
T = testdata.iloc[:,1:42]
scaler = Normalizer().fit(X)
trainX = scaler.transform(X)
scaler = Normalizer().fit(T)
testT = scaler.transform(T)
y_train = np.array(Y)
y_test = np.array(C)
X_train = np.reshape(trainX, (trainX.shape[0],trainX.shape[1],1))
X_test = np.reshape(testT, (testT.shape[0],testT.shape[1],1))

cnn = Sequential()
cnn.add(Convolution1D(64, 3, border_mode="same",activation="relu",input_shape=(41, 1)))
cnn.add(MaxPooling1D(pool_length=(2)))
cnn.add(Flatten())
cnn.add(Dense(1, activation="relu"))
cnn.add(Dropout(0.5))
cnn.add(Dense(1, activation="sigmoid"))

trainX, testX, trainy, testy = train_test_split(X_train, y_train, test_size=0.2, random_state=2)

cnn.compile(loss="binary_crossentropy", optimizer="adam",metrics=['accuracy'])

# train
checkpointer = callbacks.ModelCheckpoint(filepath="/content/checkpoint1.hdf5", verbose=1, save_best_only=True, monitor='val_acc',mode='max')
csv_logger = CSVLogger('/content/cnntrainanalysis1.csv',separator=',', append=False)
history=cnn.fit(trainX, trainy, nb_epoch=5,validation_data=(testX, testy),callbacks=[checkpointer,csv_logger])
csv_logger1 = CSVLogger('/content/cnntrainanalysis2.csv',separator=',', append=False)
cnn.save("/content/cnn_model.hdf5")

layer_outputs = [layer.output for layer in cnn.layers]
activation_model = Model(inputs=cnn.input, outputs=layer_outputs)
activations = activation_model.predict(trainX)
我想再次将
activations=activation\u model.predict(trainX)
中的激活馈送到我的cnn模型。请告诉我怎么做?
打印(激活)
的输出如下:

         0.01763991, 0.05897206],
        [0.0343827 , 0.        , 0.        , ..., 0.12232751,
         0.        , 0.13022624],
        [0.01086476, 0.        , 0.        , ..., 0.18884507,
         0.02148425, 0.04976999],
        ...,
        [0.01638399, 0.        , 0.        , ..., 0.20785347,
         0.        , 0.03860399],
        [0.        , 0.        , 0.        , ..., 0.21488364,
         0.        , 0.10750664],
        [0.01316635, 0.        , 0.        , ..., 0.19352476,
         0.        , 0.06698873]]], dtype=float32), array([[0.00233197, 0.        , 0.00843151, ..., 0.19352476, 0.        ,
        0.06698873]], dtype=float32), array([[0.]], dtype=float32), array([[0.]], dtype=float32), array([[0.80365914]], dtype=float32)] ```


提到你试图输入到模型中的张量的形状。@ShubhamPanchal我编辑了代码,请检查一下。