【发布时间】:2021-05-03 20:31:22
【问题描述】:
我认为我仍在努力理解 Tensorflows 框架以及如何以与普通数组和 numpy 一样的方式对其进行操作。
对于损失,我有预测和真实值:y_pred 和 y_true,我想迭代 y_pred 值并为其分配值 1 或 0,根据一些更小、,条件。
Batch 大小为 1000,因此输入形状为 (1000,16,16,1)。我认为代码会阐明我想要做什么,我尽量简化它。
def regularization_term(y_true, y_pred):
test = y_pred
for i in tf.range(len(y_pred)):
for y in tf.range(len(y_pred[i])):
for x in tf.range(len(y_pred[i][y])):
if(random.random()>y_pred[i][y][x][0]):
test[i][y][x][0] = 0
else:
test[i][y][x][0] = 1
return test * y_true
所以我需要一种方法来为张量“测试”分配一个值,以及一种方法来从 y_pred 中询问这个更大/更小的 if 条件。这怎么可能?
非常感谢!!
【问题讨论】:
标签: python tensorflow keras neural-network loss-function