我正在与学生一起使用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
,但由于我们甚至没有指定它,为什么我们会收到此错误?为什么在所有安装中都不一致?
答案 0 :(得分:1)
如果您确定包含完整的堆栈跟踪会更好,但看起来您正在使用tensorflow后端,问题在于 tensorflow版本。
Keras MaxPooling3D
图层调用tf.nn.max_pool3d
函数,该函数在v0.12中没有data_format
参数。在latest versions中,它有一个,这就是为什么keras期待它。
尝试在所有计算机上升级tensorflow。