import keras.backend as K


w1 = K.variable(1.2)

w2 = K.variable(1.6)


model.compile( .., loss_weights=[w1, w2], ..) # loss별 weight 부여


class Dynamic_loss_weights(Callback): # 콜백클래스 상속

    def __init__(self, w1, w2):

        self.w1 = w1

        self.w2 = w2

    def on_epoch_end(self, epoch, log={}): # epoch 끝날 때마다 호출됨

        K.set_value(self.w1, K.get_value(self.w1) + 0.1)

        K.set_value(self.w2, K.get_value(self.w2) - 0.1)


new_callback = Dynamic_loss_weights(w1, w2)


model.fit(..., callbacks = new_callback, ...) # 여러 콜백클래스를 사용하면, 콜백리스트에 append 시켜주면 됨

# model.fit_generator 도 같은 방법으로 추가

'실습 > keras' 카테고리의 다른 글

model 시각화 방법  (0) 2018.02.14
merge  (0) 2017.01.23
Theano tensor  (0) 2017.01.21
theano.shared(value=W_values, name='W', borrow=True)  (0) 2017.01.21
theano.config.floatX  (0) 2017.01.21

+ Recent posts