Python Keras max_pool3d获得了预期的关键字参数';数据格式';

Python Keras max_pool3d获得了预期的关键字参数';数据格式';,python,keras,conv-neural-network,keras-layer,max-pooling,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, UpS

我正在与使用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'

在中,您可以看到函数
maxpoolg3d()
采用了其他可选参数,例如精确的
data\u format
,但由于我们甚至没有指定它,为什么会出现此错误?为什么它在所有安装中都不一致

当然最好包含完整的stacktrace,但看起来您使用的是tensorflow后端,问题在于tensorflow版本

Keras
maxpoolg3d
层调用
tf.nn.max\u pool3d
函数,该函数在中没有
data\u格式
参数。实际上,它有一个,这就是keras期待它的原因


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

所有机器上的keras版本都相同吗?您应该在问题中包括完整的堆栈跟踪。感谢@VivekKalyanarangan的提示,我们意识到参与者之间有不同的版本,只有最旧版本的人才能工作是的,这是一个版本问题,谢谢你的引导。我们发现降级Keras比暂时升级Tensorflow更容易,但它奏效了。