提交 0a690d51 authored 作者: Frederic Bastien's avatar Frederic Bastien

better error that help find the root cause of it.

上级 0e828f03
...@@ -188,9 +188,22 @@ def pfunc(params, outputs=None, mode=None, updates=[], givens=[], ...@@ -188,9 +188,22 @@ def pfunc(params, outputs=None, mode=None, updates=[], givens=[],
update_val = store_into.filter_update(update_val) # typically this might be a cast() update_val = store_into.filter_update(update_val) # typically this might be a cast()
if update_val.type != store_into.type: if update_val.type != store_into.type:
raise TypeError('an update must have the same type as the original shared variable(dest, dest.type, update_val, update_val.type', #the number of clients don't seam to be defined
def get_first_node(node, dtype):
if node is None: return None
if any([o.dtype!=dtype for o in node.outputs]):
for i in node.inputs:
n = get_first_node(i.owner, dtype)
if n is not None:
return n
return node#no parent generated a different type
else: return None
raise TypeError('an update must have the same type as the original shared variable(dest, dest.type, update_val, update_val.type)',
(store_into, store_into.type, (store_into, store_into.type,
update_val, update_val.type)) update_val, update_val.type),
'Here is the first node we found that generated a type that is not the same as the output wanted.',
get_first_node(update_val.owner, store_into.dtype))
update_d[store_into] = update_val update_d[store_into] = update_val
update_expr.append((store_into, update_val)) update_expr.append((store_into, update_val))
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论