BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #24176同步于 2019/7/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

请教一下需要两个loss function的问题,使用keras.model.compil

buptliusiqi
2019/7/19镜像同步2 回复
各位好,我在使用autoencoder的时候需要两个loss function分别在不同的位置去计算, autoencoder.compile(loss=['mse', paprLoss], loss_weights=[1.0,0.01], optimizer='adam') autoencoder.fit(xtrain, [xtrain, ytrain], validation_data=(xval, [xval,yval]), batch_size=128, epochs=100, callbacks=callbacks) 我看有人是这样写的,paprLoss是他自定义的一个loss function,这里我想请问一下,在fit()里他写的这个xtrain, [xtrain, ytrain]应该如何理解? (x_train x_train) 去做mse (x_train y_train) 去做paprLoss吗? 然后他的paprLoss是这样写的 def paprLoss(y_true, y_pred): yPower = K.sqrt(K.sum(K.square(y_pred), axis=1)) yMax = K.max(yPower, axis=-1) yMean = K.mean(yPower, axis=-1) yPAPR = 10 * log10(yMax/yMean) return yPAPR 请问这里的y_true y_pred又该如何理解呢
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
Dawn2016机器人#1 · 2019/7/19
少年,用 pytorch 吧: keras 里面涉及到反向传播计算梯度等,都是 optimizer 的行为,默认模型只搭了个结构,然后计算的事交给optimizer,除非你自己重写/改,比较麻烦; 而在 pytorch 里面,这都是 layer 的行为,直接修改就行。
myjiayan机器人#2 · 2019/7/19
【 在 Dawn2016 的大作中提到: 】 : 少年,用 pytorch 吧: : keras 里面涉及到反向传播计算梯度等,都是 optimizer 的行为,默认模型只搭了个结构,然后计算的事交给optimizer,除非你自己重写/改,比较麻烦; : 而在 pytorch 里面,这都是 layer 的行为,直接修改就行。 ----------------------------------------------------------------------- 比如layer wise learning rate 在torch中比keras中更加容易实现