Keras自定义损失函数导致TypeError

时间:2020-08-23 01:56:42

标签: python tensorflow keras loss-function differentiation

  1. 为什么当我尝试使用Keras后端创建自己的损失函数
return next.handle(request).pipe(
  map((ev: HttpEvent<any>) => {
    
    if (ev instanceof HttpResponse) {
      // hide my loader
      if (ev.body.status !== undefined) {
        const resp = ev.body as IDefaultResponse;

        if (!resp.status) {
          console.log(resp.errorMessage);
        } else {
          const response = ev.clone({
            body: resp.data
          });

          return response;
        }
      }

    }

    return ev; // << this is what I missed :)
  }),
  catchError((response) => {
    if (response instanceof HttpErrorResponse) {
      switch (response.status) {
        //Error number for example: 500, 400 etc.
        case 0:
          console.log(response.message);
          break;
      }

      return observableThrowError(response);
    }
  })
);

并传递到Keras神经网络,我得到

def my_loss(y_true, y_pred):
    return K.mean(K.max(y_true, y_pred) / K.min(y_true, y_pred))
  1. 据我所知,我们应该在自定义损失中使用Keras后端函数,因为keras必须区分损失函数,但是它们如何区分没有导数的Max和Min函数?

0 个答案:

没有答案