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'))

难受

最新文章

  1. 关于变量和函数前&符号的作用
  2. 找回MSI安装包Win7/Win8管理员身份功能
  3. ok,今天讲讲linux的部分指令吧
  4. UCenter 通信失败 和 无法同步登陆的调试方法
  5. Json文件放入Assets文件,读取解析并且放入listview中显示。
  6. 利用谷歌开源工具cAdvisor 结合influxdb存储+Grafana前端展示进行Docker容器的监控
  7. 一个只有99行代码的JS流程框架(二)
  8. 自学Python2.5-基本数据类型-set集合
  9. 最短路径之Dijkstra算法
  10. 使用WebStorm进行javascript调试
  11. AsyncTask机制
  12. 2018-2019-1 20165234 实现mypwd
  13. Oracle使用学习笔记(二)_Sql语句
  14. 近20个绚丽实用的jQuery/CSS3侧边栏菜单(转载)
  15. js中使用将json数组 转换为json将一个包含对象的数组用以创建一个包含新重新格式化对象的新数组
  16. 调试lldb命令常用
  17. 用十条命令在一分钟内检查 Linux 服务器性能
  18. maven正式版本和快照版本的区别
  19. HTML5 number类型文本框step属性的验证机制——张鑫旭
  20. asp.net MVC4 框架揭秘 读书笔记系列3

热门文章

  1. Java学习笔记(6)---正则表达式,方法
  2. 201871010102-常龙龙《面向对象程序设计(java)》第十二周学习总结
  3. Leetcode 216. 组合总和 III
  4. Builder模式的演示
  5. C# 二维数组 转换成 DataTable
  6. 【STM32H7教程】第17章 STM32H7之GPIO的HAL库API
  7. Kettle在windows上安装
  8. svn版本管理配置权限
  9. nginx-配置文件样例
  10. C# 局部类/方法