提交 2a0c1926 authored 作者: Frederic Bastien's avatar Frederic Bastien

Allow to easy toggle the extra infer_shape in the code.

上级 11b755f5
......@@ -1603,24 +1603,31 @@ class Scan(PureOp):
# of iterations.
# sequences
seqs_shape = [x[1:] for x in input_shapes[1:1 + self.n_seqs]]
# inner_seqs = self.inputs[:self.n_seqs]
# outer_seqs = node.inputs[1:1 + self.n_seqs]
# for in_s, out_s in izip(inner_seqs, outer_seqs):
# out_equivalent[in_s] = out_s[0]
# mit_mot, mit_sot, sit_sot
# outer_inp_idx = 1 + self.n_seqs
# inner_inp_idx = self.n_seqs
# We disable extra infer_shape for now. See gh-3765.
extra_infer_shape = False
if extra_infer_shape:
inner_seqs = self.inputs[:self.n_seqs]
outer_seqs = node.inputs[1:1 + self.n_seqs]
for in_s, out_s in izip(inner_seqs, outer_seqs):
out_equivalent[in_s] = out_s[0]
# mit_mot, mit_sot, sit_sot
outer_inp_idx = 1 + self.n_seqs
inner_inp_idx = self.n_seqs
else:
outer_inp_idx = 0
n_outs = self.n_mit_mot + self.n_mit_sot + self.n_sit_sot
outs_shape = []
for idx in xrange(n_outs):
# mintap = abs(min(self.tap_array[idx]))
mintap = abs(min(self.tap_array[idx]))
for k in self.tap_array[idx]:
outs_shape += [input_shapes[idx + self.n_seqs + 1][1:]]
# corresponding_tap = node.inputs[outer_inp_idx][mintap + k]
# out_equivalent[self.inputs[inner_inp_idx]] = corresponding_tap
# inner_inp_idx += 1
# outer_inp_idx += 1
if extra_infer_shape:
corresponding_tap = node.inputs[outer_inp_idx][mintap + k]
out_equivalent[self.inputs[inner_inp_idx]] = corresponding_tap
inner_inp_idx += 1
outer_inp_idx += 1
# shared_outs
offset = 1 + self.n_seqs + n_outs
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论