Я пытаюсь получить выходные данные из слоев CNN, а затем снова передать эти выходные данные в модель CNN, но я не могу изменить выходные данные, которые я получаю, чтобы передать их в модель.
Я пробовал несколько изменить формутакие методы, как np.reshape(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_model.predict(trainX)
в мою модель cnn. Пожалуйста, скажите мне, как я могу это сделать? вывод print(activations)
выглядит следующим образом:
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)] ```