python - Keras max_pool3d 得到了预期的关键字参数 'data_format'

标签 python keras conv-neural-network keras-layer max-pooling

我正在与使用 Keras 的学生一起举办研讨会,所有学生都在 Windows 中安装了相同的 anaconda3。

除了其中 2 名学生之外,以下代码对大多数学生给出了错误:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

from keras.layers import Input, Dense, Lambda, Layer, Conv3D, MaxPooling3D, Flatten, UpSampling3D, Reshape
from keras.models import Model
from keras import backend as K
from keras import metrics
#from keras.datasets import mnist

batch_size = 100
original_dim = 32000 #dimX x dimY x dimZ
latent_dim = 2
intermediate_dim = 512 #256
epochs = 5
epsilon_std = 1.0

x = Input(shape=(40, 20, 40, 1))
h = Conv3D(16, (3, 3, 3), activation='relu', padding='same')(x)
h = MaxPooling3D((2, 2, 2), padding='same')(h)

>>max_pool3d() got an expected keyword argument 'data_format'

documentation ,您可以看到函数 maxpooling3d() 接受其他可选参数,例如 data_format,但由于我们甚至没有指定它,为什么会出现此错误?为什么它在所有安装中都不一致?

最佳答案

确保包含完整的堆栈跟踪会更好,但看起来您使用的是 tensorflow 后端,问题出在tensorflow 版本

Keras MaxPooling3D层调用tf.nn.max_pool3d函数,在v0.12没有 data_format 参数。在latest versions ,它有一个,这就是 keras 期望它的原因。

尝试升级所有机器上的 tensorflow。

关于python - Keras max_pool3d 得到了预期的关键字参数 'data_format',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48365990/

相关文章:

python - 如何合并一维和二维张量?

keras - 为什么 Keras 如此不愿意在 [-1,1] 之外进行预测

python - Keras 多类分类器错误与验证数据和验证标签 : Input arrays should have the same number of samples as target arrays

ios/CoreML - 当keras模型转换为CoreML时,输入类型为MultiArray

python - 如何使用 TensorFlow 2 数据集从 URL 加载图像

python - LaunchAgent 脚本无法写入外部驱动器

python - 每帧带有自定义叠加层的 FFMPEG H264

python - Keras Input_shape 形状错误

python - 分布式1.21.8需要msgpack,没有安装

python - 有没有办法通过C++中的OUT参数接收Python中的返回值?