Tensorflow具有tf.logical_and()和tf.logical_or()用于比较两个布尔张量,即tf.logical_and(x,y)==TRUEif x==TRUE and y==TRUE (doc)。我在Keras后端找不到类似的东西。它们具有keras.backend.any()和.all(),但这是用于张量内的聚合,而不是之间的聚合。我一直在使用带有嵌套K.switch()函数的变通办法,但这非常麻烦。
令x且y为相同形状的布尔喀拉斯张量。
要采用元素或,请执行以下操作:
keras.backend.any(keras.backend.stack([x, y], axis=0), axis=0)
Run Code Online (Sandbox Code Playgroud)
要采用元素方式,请执行以下操作:
keras.backend.all(keras.backend.stack([x, y], axis=0), axis=0)
Run Code Online (Sandbox Code Playgroud)
在这里将keras.backend.stack([x, y], axis=0)x和y堆叠到一个新的张量中,该张量的附加维度为0。此后,keras.backend.any采用逻辑或沿新维度,并keras.backend.any采用逻辑and。
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |