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