簡體   English   中英

conv2d() 得到了一個意外的關鍵字參數“border_mode”

[英]conv2d() got an unexpected keyword argument 'border_mode'

當我嘗試使用 keras-2.1.3 和 theano-1.0.1 https://github.com/marcellacornia/sam/blob/master/attentive_convlstm.py運行此代碼時

def get_initial_states(self, x):
    initial_state = K.sum(x, axis=1)
    initial_state = K.conv2d(initial_state, K.zeros((self.nb_filters_out, self.nb_filters_in, 1, 1)), border_mode='same')
    initial_states = [initial_state for _ in range(len(self.states))]

    return initial_states

Traceback (most recent call last):
  File "main.py", line 63, in <module>
    m = Model(input=[x, x_maps], output=sam_resnet([x, x_maps]))
  File "E:\sam-master\models.py", line 136, in sam_resnet
    nb_cols=3, nb_rows=3)(att_convlstm)
  File "C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\topology.py", line 617, in __call__
    output = self.call(inputs, **kwargs)
  File "E:\sam-master\attentive_convlstm.py", line 143, in call
    initial_states = self.get_initial_states(x)
  File "E:\sam-master\attentive_convlstm.py", line 42, in get_initial_states
    initial_state = K.conv2d(initial_state, K.zeros((self.nb_filters_out, self.nb_filters_in, 1, 1)), border_mode='same')
TypeError: conv2d() got an unexpected keyword argument 'border_mode'

好吧,keras 中沒有border_mode

padding='valid'padding='same'

始終檢查文檔以正確使用層和功能。

如果有人仍然遇到此問題,請注意,這是與 Keras1.x 的向后兼容性問題。 “border_mode”曾經作為(至少)Keras1.1.0 中的 Convolution2D 類的參數存在,因此仍然存在於許多舊代碼中。

在 Keras2 系列(我參考了 2.3.1)中,您將看到 Convolution2D 的幾乎整個 API 都發生了變化,因此,如果您正在使用舊版本的 Keras 移植存儲庫,我懷疑 border_mode 將是您最關心的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM