【问题标题】:Keras max_pool3d got an expected keyword argument 'data_format'Keras max_pool3d 得到了预期的关键字参数“data_format”
【发布时间】:2018-06-30 03:55:57
【问题描述】:

我正在与使用 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,但是由于我们甚至没有指定它,为什么会出现此错误?为什么它在所有安装中都不一致?

【问题讨论】:

  • 所有机器的keras版本都一样吗?
  • 您应该在问题中包含完整的堆栈跟踪。
  • 感谢@VivekKalyanarangan 的提示,我们意识到参与者之间存在不同的版本,只有最旧版本的人才能使用

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


【解决方案1】:

如果您确保包含完整的堆栈跟踪会更好,但看起来您正在使用 tensorflow 后端并且问题在于 tensorflow 版本

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

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

【讨论】:

  • 是的,这是版本问题,谢谢领导。我们发现暂时降级 Keras 比升级 Tensorflow 更容易,但它奏效了。
猜你喜欢
  • 2018-12-29
  • 2017-10-09
  • 1970-01-01
  • 2017-08-08
  • 1970-01-01
  • 2022-11-10
  • 2015-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多