首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow中np.piecewise的有效替代方案

Tensorflow中np.piecewise的有效替代方案
EN

Stack Overflow用户
提问于 2018-01-23 17:28:33
回答 1查看 131关注 0票数 1

我目前正在将我的NumPy代码移植到Tensorflow,以便有效地将其应用于神经网络。虽然Tensorflow涵盖了一些基本的NumPy函数,但它显然没有提供完整的覆盖范围。现在,我在尝试将漂亮的numpy.piecewise函数转换为Tensorflow时有点卡住了。目标是检查输入矩阵中的每个元素(张量?)如果添加了某个步骤,将超过给定的边界,如果是,则修改相同大小的掩码矩阵中的伴随元素。下面是该函数在NumPy中的外观:

代码语言:javascript
复制
 def bounds_check(inputs, mask, step, bounds):
    conds = [np.absolute(inputs + step) > bounds, np.absolute(inputs + step) <= bounds]
    funcs = [lambda mask: -mask, lambda mask: mask]
    return np.piecewise(mask, conds, funcs)  # return mask

什么是符合逻辑的Tensorflow替代方案?这必须是图中的一个操作,因为每个时期都会涉及到通过搜索空间进行下一步并检查边界。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-23 17:39:03

如果我正确理解您的代码,它应该与以下代码相同:

代码语言:javascript
复制
new_inputs = inputs + step
over_bounds = tf.abs(new_inputs) > bounds
new_mask = mask * (1 + (-2) * tf.cast(over_bounds, tf.float32))
return new_mask
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48398229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档