본문 바로가기

코딩 에러

'LeakyReLU' object has no attribute '__name__' 에러

leakyrelu를 쓸때 에러가 나왔다.

 

keras 할 시에,

 

내 경우에는 케라스의 Sequential을 통해서 model.add로 모델을 구축하는 데,

 

from keras.models import Sequential

from keras.layers import Dense, Conv2D, MaxPool2D, UpSampling2D,Dropout,LeakyReLU, Deconv2D

 

leaky_relu = LeakyReLU(alpha=0.2)

model = Sequential()

model.add(Conv2D(32,(4,4),activation=leaky_relu, padding='same',strides=2))

 

이렇게 하였더니 에러가 나왔었다.

 

다른 사람을 보니

model.add(Activation(LeakyReLU()))

로 했었는 데도 에러가 나왔다고 했다.

 

 

해결 방법은 간단하다.

따로 빼주자 그냥.

Conv2D안에 activation function을 빼고 따로 넣어주면 된다.

 

model = Sequential()

model.add(Conv2D(32,(4,4), padding='same',strides=2))

model.add(LeakyReLU(alpha=0.2))

 

이렇게 하면 model.summary()를 했을 때 조금 지저분하긴한지만;; 그래도 경고문 없이 잘 돌아간다.