import keras
import tensorflow as tf
from keras.models import Model
from keras import backend as K
# import tensorflow.contrib.eager as tfe
# tfe.enable_eager_execution() beta = K.constant(0.5, dtype='float32')
lamdap = K.constant(1.5, dtype='float32')
lamdan = K.constant(1.8, dtype='float32') # Custom loss function
def t_test_loss(y_true, y_pred):
sess = tf.Session()
# print("y_pred:",y_pred)
# print(K.sum(y_true[:, 0]))
# print(tuple(y_pred.shape[1:].as_list()))
pos = K.zeros(shape=(K.sum(y_true[:, 0]),) + tuple(y_pred.shape[1:].as_list()), dtype='float32') #[0]
neg = K.zeros(shape=(K.sum(y_true[:, 1]),) + tuple(y_pred.shape[1:].as_list()), dtype='float32') #[0]
print("pos,neg:",pos,neg)
pos_cur = 0
neg_cur = 0
print("y_pred:",tf.Variable(y_pred[0])) ind_pos = tf.where(tf.equal(y_true[:, 0], 1))
print(sess.run(ind_pos))
pos = tf.gather(y_pred, tf.squeeze(ind_pos), axis=0)
print(sess.run(pos)) ind_neg = tf.where(tf.equal(y_true[:, 1], 1))
print(sess.run(ind_neg))
neg = tf.gather(y_pred, tf.squeeze(ind_neg), axis=0)
print(sess.run(neg)) meanp = K.mean(pos)
meann = K.mean(neg)
varp = K.var(pos)
varn = K.var(neg)
lossp = lamdap * (K.maximum(beta - meanp, K.zeros_like(meanp)) + varp)
lossn = lamdan * (meann + varn)
loss = lossp + lossn
print("loss:",sess.run(loss))
sess.close()
return loss t_test_loss(K.constant([[1, 0], [0, 1], [0, 1]], dtype='int32'),
K.constant([[[0.1, 0.6], [0.2, 0.7]], [[0.2, 0.7], [0.3, 0.8]], [[0.3, 0.8], [0.4, 0.9]]],
dtype='float32'))

难受

calcifications loss的更多相关文章

  1. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  2. 基于Caffe的Large Margin Softmax Loss的实现(中)

    小喵的唠叨话:前一篇博客,我们做完了L-Softmax的准备工作.而这一章,我们开始进行前馈的研究. 小喵博客: http://miaoerduo.com 博客原文:  http://www.miao ...

  3. 基于Caffe的Large Margin Softmax Loss的实现(上)

    小喵的唠叨话:在写完上一次的博客之后,已经过去了2个月的时间,小喵在此期间,做了大量的实验工作,最终在使用的DeepID2的方法之后,取得了很不错的结果.这次呢,主要讲述一个比较新的论文中的方法,L- ...

  4. loss function

    什么是loss?   loss: loss是我们用来对模型满意程度的指标.loss设计的原则是:模型越好loss越低,模型越差loss越高,但也有过拟合的情况.   loss function: 在分 ...

  5. caffe中accuracy和loss用python从log日志里面获取

    import re import pylab as pl import numpy as np if __name__=="__main__": accuracys=[] loss ...

  6. Derivative of the softmax loss function

    Back-propagation in a nerual network with a Softmax classifier, which uses the Softmax function: \[\ ...

  7. How To Handle a Loss of Confidence in Yourself

    Do you feel like you've lost confidence in yourself? Have you had strong self doubts? Perhaps you we ...

  8. loss function与cost function

    实际上,代价函数(cost function)和损失函数(loss function 亦称为 error function)是同义的.它们都是事先定义一个假设函数(hypothesis),通过训练集由 ...

  9. Fragment提交transaction导致state loss异常

    下面自从Honeycomb发布后,下面栈跟踪信息和异常信息已经困扰了StackOverFlow很久了. java.lang.IllegalStateException: Can not perform ...

随机推荐

  1. Vue中的导航守卫(路由守卫)

    当做Vue-cli项目的时候感觉在路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-router 提供的 beforeEach可以方便地实现全局导航守卫(navigation-g ...

  2. WPF (DataGridRowHeaderStyle)实现自义定行样式 并绑定数据

    原文:WPF (DataGridRowHeaderStyle)实现自义定行样式 并绑定数据 功能阐述 就上面那图片 刚开始 考虑使用 RowHeaderTemplate 来实现  发现总绑定不上数据  ...

  3. python持久化对象

    通过shelve模块即可持久化对象 代码 import shelve import numpy as np def writeObj(name,obj): with shelve.open('obje ...

  4. 利用OD破解一个简单的C语言程序

    最近在学习汇编(看的是王爽老师的<汇编语言(第三版)>),然后想尝试使用OD(Ollydbg)软件破解一个简单的C语言程序练练手. 环境: C语言编译环境:VC++6.0 系统:在Wind ...

  5. 解决 layui 弹出层(弹框)一闪而过就消失的问题 (转载)

    转载: 原文链接:https://blog.csdn.net/qq_20594019/article/details/83956532 本人遇到问题:使用layer.open()弹出页面层,出现弹框闪 ...

  6. 分词 | 双向匹配中文分词算法python实现

    本次实验内容是基于词典的双向匹配算法的中文分词算法的实现.使用正向和反向最大匹配算法对给定句子进行分词,对得到的结果进行比较,从而决定正确的分词方法. 算法描述正向最大匹配算法先设定扫描的窗口大小ma ...

  7. Laravel配置全局公共函数

    在Laravel项目中我们常常需要定义一些全局的公共函数,通常我们会将这些公共函数定义在一个单独的文件里,如helpers.php中.我们在app目录下创建一个名为helpers.php的文件(app ...

  8. Fragment生命周期函数调用(ViewPager切换方式)

    在使用ViewPager时,Google亲爹为我们提供了多种PagerAdapter.其中,与Fragment相关的是FragmentPagerAdapter和FragmentStatePagerAd ...

  9. 深度剖析各种BloomFilter的原理、改进、应用场景

    Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法.通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合. 一. 实例  为了说明B ...

  10. PlayJava Day010

    今日所学: /* 2019.08.19开始学习,此为补档. */ 1.继承补充: ①不要仅为了获取其他类中某个功能而去继承,而是要有所属关系. ②Super关键字: a.代表父类对象的引用,且main ...