使用Lambda解決_inbound_nodes錯誤

Keras出現了下面的錯誤:node

AttributeError: 'NoneType' object has no attribute '_inbound_nodes'

緣由是使用了Keras backend的reshape操做:函數

x = K.reshape(x, (num_pictures, 32, 32, 512))

可是Keras backend並非一個Layer,因而出現了上面的錯誤.解決的方法是使用Lambda,Lambda用於定義一個Layer,其中沒有須要學習的變量,只是對Tensor進行一些操做.先定義一個reshape的函數:學習

def reshape_tensor(x, shape):
    return K.reshape(x, shape);

而後再調用這個函數:spa

x = Lambda(reshape_tensor, arguments={'shape': (num_pictures, 32, 32, 512)})(x)

這樣就不會出錯了.code

相關文章
相關標籤/搜索