Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 添加的层必须是类层的实例。发现:张量(“conv1d”u12/Relu:0”,shape=(?,41,64),dtype=float32)_Python_Tensorflow_Conv Neural Network_Keras Layer - Fatal编程技术网

Python 添加的层必须是类层的实例。发现:张量(“conv1d”u12/Relu:0”,shape=(?,41,64),dtype=float32)

Python 添加的层必须是类层的实例。发现:张量(“conv1d”u12/Relu:0”,shape=(?,41,64),dtype=float32),python,tensorflow,conv-neural-network,keras-layer,Python,Tensorflow,Conv Neural Network,Keras Layer,我正在尝试创建一个cnn模型。我的代码如下: from keras.layers import Convolution1D, Dense, Dropout, Flatten, MaxPooling1D from keras.layers import Input, Dense, concatenate from keras.layers import InputLayer import keras inputs = Input(shape=(41,1)) cnn = Sequential() X

我正在尝试创建一个cnn模型。我的代码如下:

from keras.layers import Convolution1D, Dense, Dropout, Flatten, MaxPooling1D
from keras.layers import Input, Dense, concatenate
from keras.layers import InputLayer
import keras
inputs = Input(shape=(41,1))
cnn = Sequential()
X=cnn.add(Convolution1D(64, 3, border_mode="same",activation="relu")(inputs))
X=cnn.add(Convolution1D(128, 3, border_mode="same", activation="relu"))
X=cnn.add(MaxPooling1D(pool_length=(2)))
X=cnn.add(Convolution1D(256, 3, border_mode="same", activation="relu"))
X=cnn.add(MaxPooling1D(pool_length=(2)))
X=cnn.add(Flatten())
X=cnn.add(Dense(128, activation="relu"))
X=cnn.add(Dropout(0.5))
X=cnn.add(Dense(2, activation="sigmoid"))
cnn.compile(loss="binary_crossentropy", optimizer="adam",metrics=['accuracy'])
它可以很好地处理以下代码行
X=cnn.add(卷积1d(64,3,border_mode=“same”,activation=“relu”,input_shape=(41,1))
但我需要提取层输出,我正在使用以下代码行进行提取:

from keras.models import Model
intermediate_layer_model = Model(inputs= inputs, outputs=X)
intermediate_output = intermediate_layer_model.predict(Xtrain)
所以我需要将输入传递到cnn层,如果我硬编码输入的形状,我就无法这样做。但我的上述代码不起作用,并出现以下错误:


请告诉我如何解决这个问题。

您可以使用函数“layer.output”获得每一层的输出,下面是Tensorflow中的文档。这将为您提供如何准确地从层中获取输入数据的输出。
我不能确切地告诉它与您提供的模型结构,因为我现在正在进行中,没有我的电脑与我太。但请让我们知道这是否有帮助

为了清楚起见,你是想使用上述CNN模型进行预测,还是只想输入数据,然后想看看每一层的输出(图像)是什么样子的?我确实想看看每一层的输出。实际上,我想提取在各个层学习到的功能。代码导致中间层模型出现问题(输入=输入,输出=X)。否则就可以了。