Deep learning 从火炬到凯拉斯的港口模型

Deep learning 从火炬到凯拉斯的港口模型,deep-learning,keras,torch,Deep Learning,Keras,Torch,我试图将下面的模型定义从Torch移植到Keras 手电筒 移植的Keras-Python脚本 但是当我运行移植的脚本时,发生了以下错误 Exception: Cannot apply softmax to a tensor that is not 2D or 3D. Here, ndim=4 keras似乎不允许对卷积层应用softmax激活。我应该如何通过此错误?谢谢。如果您将上一个conv层的输出展平为一个长向量(使用展平()层),然后应用softmax,是否适用于您的用例?我

我试图将下面的模型定义从Torch移植到Keras

  • 手电筒

  • 移植的Keras-Python脚本
但是当我运行移植的脚本时,发生了以下错误

Exception: Cannot apply softmax to a tensor that is not 2D or 3D. Here, ndim=4

keras似乎不允许对卷积层应用softmax激活。我应该如何通过此错误?谢谢。

如果您将上一个conv层的输出展平为一个长向量(使用展平()层),然后应用softmax,是否适用于您的用例?我尝试过,没有出现错误。谢谢:)
model = Sequential()
model.add(Convolution2D(16, 4, 4, input_shape=(3, 12, 12), border_mode='valid', subsample=(1, 1)))
model.add(MaxPooling2D(pool_size=(3, 3), strides=(2, 2)))
model.add(Activation('relu'))
model.add(Convolution2D(16, 4, 4, input_shape=(16, 4, 4), border_mode='valid', subsample=(1, 1), activation='relu'))
model.add(Convolution2D(2, 1, 1, input_shape=(16, 1, 1), border_mode='valid', subsample=(1, 1), activation='softmax'))
Exception: Cannot apply softmax to a tensor that is not 2D or 3D. Here, ndim=4