提交 8f856565 authored 作者: Razvan Pascanu's avatar Razvan Pascanu

merge

...@@ -300,18 +300,23 @@ import theano and print the config variable, as in: ...@@ -300,18 +300,23 @@ import theano and print the config variable, as in:
This means files whose compilation failed are deleted. This means files whose compilation failed are deleted.
Set to True to keep those files in order to debug compilation errors. Set to True to keep those files in order to debug compilation errors.
.. attribute:: numpy.seterr_all .. attribute:: config.DebugMode
String Value: `'ignore'`, `'warn'`, `'raise'`, `'call'`, `'print'`, This section contains various attributes configuring the behaviour
`'log'`, `'None'` of mode :class:`~debugmode.DebugMode`.
Default: `'ignore'` .. attribute:: config.numpy.seterr_all
String Value: ``'ignore'``, ``'warn'``, ``'raise'``, ``'call'``,
``'print'``, ``'log'``, ``'None'``
Default: ``'ignore'``
Set the default behaviour described by `numpy.seterr Set the default behaviour described by `numpy.seterr
<http://docs.scipy.org/doc/numpy/reference/generated/numpy.seterr.html>`__. <http://docs.scipy.org/doc/numpy/reference/generated/numpy.seterr.html>`__.
`'None'` means that numpy's default behaviour will not be changed (unless ``'None'`` means that numpy's default behaviour will not be changed (unless
one of the other `numpy.seterr_*` overrides it), but this behaviour one of the other `config.numpy.seterr_*` overrides it), but this behaviour
can change between numpy releases. can change between numpy releases.
This flag sets the default behaviour for all kinds of floating-pont This flag sets the default behaviour for all kinds of floating-pont
...@@ -320,50 +325,50 @@ import theano and print the config variable, as in: ...@@ -320,50 +325,50 @@ import theano and print the config variable, as in:
This flag's value cannot be modified during the program execution. This flag's value cannot be modified during the program execution.
.. attribute:: numpy.seterr_divide .. attribute:: config.numpy.seterr_divide
String Value: `'None'`, `'ignore'`, `'warn'`, `'raise'`, `'call'`, String Value: ``'None'``, ``'ignore'``, ``'warn'``, ``'raise'``,
`'print'`, `'log'` ``'call'``, ``'print'``, ``'log'``
Default: `'None'` Default: ``'None'``
Sets numpy's behavior for division by zero. 'None' means using the Sets numpy's behavior for division by zero. ``'None'`` means using the
default, defined by numpy.seterr_all. default, defined by config.numpy.seterr_all.
This flag's value cannot be modified during the program execution. This flag's value cannot be modified during the program execution.
.. attribute:: numpy.seterr_over .. attribute:: config.numpy.seterr_over
String Value: `'None'`, `'ignore'`, `'warn'`, `'raise'`, `'call'`, String Value: ``'None'``, ``'ignore'``, ``'warn'``, ``'raise'``,
`'print'`, `'log'` ``'call'``, ``'print'``, ``'log'``
Default: `'None'` Default: ``'None'``
Sets numpy's behavior for floating-point overflow. 'None' means Sets numpy's behavior for floating-point overflow. ``'None'`` means
using the default, defined by numpy.seterr_all. using the default, defined by config.numpy.seterr_all.
This flag's value cannot be modified during the program execution. This flag's value cannot be modified during the program execution.
.. attribute:: numpy.seterr_under .. attribute:: config.numpy.seterr_under
String Value: `'None'`, `'ignore'`, `'warn'`, `'raise'`, `'call'`, String Value: ``'None'``, ``'ignore'``, ``'warn'``, ``'raise'``,
`'print'`, `'log'` ``'call'``, ``'print'``, ``'log'``
Default: `'None'` Default: ``'None'``
Sets numpy's behavior for floating-point underflow. 'None' means Sets numpy's behavior for floating-point underflow. ``'None'`` means
using the default, defined by numpy.seterr_all. using the default, defined by config.numpy.seterr_all.
This flag's value cannot be modified during the program execution. This flag's value cannot be modified during the program execution.
.. attribute:: numpy.seterr_invalid .. attribute:: numpy.seterr_invalid
String Value: `'None'`, `'ignore'`, `'warn'`, `'raise'`, `'call'`, String Value: ``'None'``, ``'ignore'``, ``'warn'``, ``'raise'``,
`'print'`, `'log'` ``'call'``, ``'print'``, ``'log'``
Default: `'None'` Default: ``'None'``
Sets numpy's behavior for invalid floating-point operation. 'None' Sets numpy's behavior for invalid floating-point operation. ``'None'``
means using the default, defined by numpy.seterr_all. means using the default, defined by :attr:`config.numpy.seterr_all`.
This flag's value cannot be modified during the program execution. This flag's value cannot be modified during the program execution.
...@@ -535,7 +535,13 @@ def _check_inputs(node, storage_map, r_vals, dr_vals, active_nodes, clobber_dr_v ...@@ -535,7 +535,13 @@ def _check_inputs(node, storage_map, r_vals, dr_vals, active_nodes, clobber_dr_v
if warn_input_not_reused and destroyed_res_list: if warn_input_not_reused and destroyed_res_list:
dmap=getattr(node.op,'destroy_map',{}) dmap=getattr(node.op,'destroy_map',{})
for oo,ii in dmap.iteritems(): for oo,ii in dmap.iteritems():
if storage_map[node.outputs[oo]][0] is not storage_map[node.inputs[ii[0]]][0]: out_var = storage_map[node.outputs[oo]][0]
in_var = storage_map[node.inputs[ii[0]]][0]
if isinstance (node.op, theano.compile.mode.OutputGuard):
# The point of OutputGuard is to be declared as destructive
# while not destroying anything
continue
if out_var is not in_var:
opt_warning("input idx %d marked as destroyed was not changed for node '%s'"%(ii[0],str(node))) opt_warning("input idx %d marked as destroyed was not changed for node '%s'"%(ii[0],str(node)))
if warn_input_not_reused: if warn_input_not_reused:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论