提交 95558d1e authored 作者: James Bergstra's avatar James Bergstra

added as_tensor cast to shape_padleft and shape_padright.

上级 7c5f01ae
...@@ -1667,28 +1667,26 @@ pprint.assign(lambda pstate, r: r.owner and isinstance(r.owner.op, Join), ...@@ -1667,28 +1667,26 @@ pprint.assign(lambda pstate, r: r.owner and isinstance(r.owner.op, Join),
@constructor @constructor
def shape_padleft(tensor, n_ones=1): def shape_padleft(t, n_ones=1):
"""Reshape `tensor` by left-padding the shape with `n_ones` 1s """Reshape `t` by left-padding the shape with `n_ones` 1s
See also: `shape_padright` and `Dimshuffle` See also: `shape_padright` and `Dimshuffle`
""" """
_t = as_tensor(t)
pattern = ['x']*n_ones + [i for i in range(tensor.type.ndim)] pattern = ['x']*n_ones + [i for i in range(_t.type.ndim)]
return DimShuffle(tensor.broadcastable, pattern)(tensor) return DimShuffle(_t.broadcastable, pattern)(_t)
@constructor
def rightpad_shape(tensor, n_ones):
"""Reshape `tensor` by right-padding the shape with `n_ones` 1s"""
pattern = [i for i in range(tensor.type.ndim)] + ['x']*n_ones
return DimShuffle(tensor.broadcastable, pattern)(tensor)
@constructor @constructor
def shape_padright(tensor, n_ones=1): def shape_padright(t, n_ones=1):
"""Reshape `tensor` by right-padding the shape with `n_ones` 1s """Reshape `t` by right-padding the shape with `n_ones` 1s
See also: `shape_padleft` and `Dimshuffle` See also: `shape_padleft` and `Dimshuffle`
""" """
pattern = [i for i in range(tensor.type.ndim)] + ['x']*n_ones _t = as_tensor(t)
return DimShuffle(tensor.broadcastable, pattern)(tensor)
pattern = [i for i in range(_t.type.ndim)] + ['x']*n_ones
return DimShuffle(_t.broadcastable, pattern)(_t)
@constructor @constructor
def stack(*tensors): def stack(*tensors):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论