python - tf.keras.backend 替换小于 1 的张量值的方法

标签 python tensorflow machine-learning keras tensor

我正在使用 Keras 和 Tensorflow 后端。

在我的损失函数中,我有一个张量,我需要将小于 1 的元素替换为 1。

我可以在文档中看到大量可用的函数 https://www.tensorflow.org/api_docs/python/tf/keras/backend

但我不知道该怎么做。

如果我这样做:

a_ = tf.Print(
    message='a_shape',
    input_=a_,
    data=[tf.shape(a_)]
)

我得到的形状为:

y_shape[128]

我本质上需要迭代这个张量,将小于 1 的元素替换为 1。

如何使用 keras tensorflow API 执行此操作?

谢谢-

最佳答案

如果a是你的张量,你可以执行以下操作:

b = a*tf.cast(a>1, 'float32') + tf.cast(a<=1, 'float32')

关于python - tf.keras.backend 替换小于 1 的张量值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51195017/

相关文章:

machine-learning - 你如何用 Tensorflow.JS 实现 softmax

python - 使用 itemcget 在 tkinter 中获取单个列表框项目属性?

tensorflow - TensorFlow-将未知大小的张量填充到特定大小?

python - “_RSAPublicKey”对象在python中没有属性 'sign'

python - Tensorflow:ImportError:DLL load failed while importing _pywrap_tensorflow_internal:找不到指定的模块

k-means - 如何使用TensorFlow实现k-means?

python - 用句子增量训练 Sklearn 的 SGD 分类器

machine-learning - 神经网络为所有输入产生相似的模式

python - 如何在 Django 中将变量传递给模板

python - Pandas : "Lost connection to MySQL server" "system error: 32 Broken pipe"