【问题标题】:TypeError: ('Keyword argument not understood:', 'subsample')TypeError:('关键字参数不理解:','子样本')
【发布时间】:2021-01-28 14:27:33
【问题描述】:

我正在使用 Keras 模型训练它,但它抛出了一个错误。

我用不起作用的 Conv2D 替换了 Convolution2D。

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-99-e85c5751f266> in <module>()
     26   model.compile(loss='mse', optimizer=optimizer)
     27   return model
---> 28 model = nvidia_model()
     29 print(model.summary())

5 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/generic_utils.py in validate_kwargs(kwargs, allowed_kwargs, error_message)
    776   for kwarg in kwargs:
    777     if kwarg not in allowed_kwargs:
--> 778       raise TypeError(error_message, kwarg)
    779 
    780 

TypeError: ('Keyword argument not understood:', 'subsample')

修改代码

我目前正在使用 keras 2.2.4 我目前正在使用 keras 2.2.4 我目前正在使用 keras 2.2.4 我目前正在使用 keras 2.2.4

定义 nvidia 模型

def nvidia_model():
  model = Sequential()
  model.add(Conv2D(24, 5, 5, strides=(2, 2), input_shape=(66, 200, 3), activation='elu'))
  model.add(Conv2D(36, 5, 5, strides=(2, 2), activation='elu'))
  model.add(Conv2D(48, 5, 5, strides=(2, 2), activation='elu'))
  model.add(Conv2D(64, 3, 3, activation='elu'))
  
  model.add(Conv2D(64, 3, 3, activation='elu'))
#   model.add(Dropout(0.5))
  
  
  model.add(Flatten())
  
  model.add(Dense(100, activation = 'elu'))
#   model.add(Dropout(0.5))
  
  model.add(Dense(50, activation = 'elu'))
#   model.add(Dropout(0.5))
  
  model.add(Dense(10, activation = 'elu'))
#   model.add(Dropout(0.5))

  model.add(Dense(1))
  
  optimizer = Adam(lr=1e-3)
  model.compile(loss='mse', optimizer=optimizer)
  return model
model = nvidia_model()
print(model.summary())

【问题讨论】:

标签: python tensorflow machine-learning keras


【解决方案1】:

它明确表示子样本是未知的。 尝试用“strides”替换“subsample”,在最近版本的 keras 中,它是这样称呼的。

【讨论】:

  • TypeError: __init__() 获得了参数“strides”的多个值
  • 你能粘贴你的新 Conv2D 吗?
【解决方案2】:

试试这个方法:

def nvidia_model():
  model = Sequential()
  model.add(Conv2D(24,(5,5), strides=(2, 2), input_shape=(66, 200, 3), activation='elu'))
  model.add(Conv2D(36, (5,5), strides=(2, 2), activation='elu'))
  model.add(Conv2D(48, (5,5), strides=(2, 2), activation='elu'))
  model.add(Conv2D(64, (3,3), activation='elu'))
  
  model.add(Conv2D(64, (3,3), activation='elu'))
#   model.add(Dropout(0.5))
  
  
  model.add(Flatten())
  
  model.add(Dense(100, activation = 'elu'))
#   model.add(Dropout(0.5))
  
  model.add(Dense(50, activation = 'elu'))
#   model.add(Dropout(0.5))
  
  model.add(Dense(10, activation = 'elu'))
#   model.add(Dropout(0.5))

  model.add(Dense(1))
  
  optimizer = Adam(lr=1e-3)
  model.compile(loss='mse', optimizer=optimizer)
  return model
model = nvidia_model()
print(model.summary())

【讨论】:

  • model.add(Conv2D(24, 5 strides=(2, 2), input_shape=(66, 200, 3), activation='elu')) ^ SyntaxError: invalid syntax
  • 请帮忙..请
  • 是的,我使用正确的模型进行了编辑。重新加载页面。
  • 如果您尝试对其他有问题的人有用,请也支持我的回答 =)
猜你喜欢
  • 2020-12-09
  • 1970-01-01
  • 2020-12-09
  • 2021-08-17
  • 2018-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多