Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
8449e7e3
提交
8449e7e3
authored
3月 25, 2009
作者:
James Bergstra
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
longer stories about DebugMode exceptions
上级
c55bf98d
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
56 行增加
和
9 行删除
+56
-9
debugmode.txt
doc/advanced/debugmode.txt
+56
-9
没有找到文件。
doc/advanced/debugmode.txt
浏览文件 @
8449e7e3
...
@@ -43,42 +43,87 @@ In the example above, there is no way to guarantee that a future call to say,
...
@@ -43,42 +43,87 @@ In the example above, there is no way to guarantee that a future call to say,
BadCLinkerOutput
BadCLinkerOutput
----------------
----------------
This really just means that python and c didn't match. The problem might be a
This exception means that python (``perform``) and c (``c_code``) for an Op
bug in either python or c or both.
didn't compute the same thing like they were supposed to.
The problem might be a bug in either ``perform`` or ``c_code`` (or both).
For detailed documentation see :api:`BadCLinkerOutput`.
BadOptimization
BadOptimization
---------------
---------------
This happens when ... WRITEME.
This exception indicates that an Optimization replaced one variable (say V1)
with another one (say V2) but at runtime, the values for V1 and V2 were
different. This is something that optimizations are not supposed to do.
It can be tricky to identify the one-true-cause of an optimization error, but
this exception provides a lot of guidance. Most of the time, the
exception object will indicate which optimization was at fault.
The exception object also contains information such as a snapshot of the
before/after graph where the optimization introduced the error.
For detailed documentation see :api:`BadOptimization`.
BadDestroyMap
BadDestroyMap
-------------
-------------
This happens when an Op's perform() or c_code() modifies an input that it wasn't
This happens when an Op's perform() or c_code() modifies an input that it wasn't
supposed to.
supposed to. If either the ``perform`` or ``c_code`` implementation of an Op
For detailed documentation see :api:`BadDestroyMap`.
might modify any input, it has to advertise that fact via the ``destroy_map``
attribute.
For detailed documentation on the Exception see :api:`BadDestroyMap`.
For detailed documentation on the ``destroy_map`` attribute :ref:`destroymap`.
BadViewMap
BadViewMap
----------
----------
This happens when ... WRITEME.
This happens when an Op's perform() or c_code() creates an alias or alias-like
dependency between an input and an output... and it didn't warn the
optimization system via the ``view_map`` attribute.
For detailed documentation on the Exception see :api:`BadViewMap`.
For detailed documentation on the ``view_map`` attribute :ref:`destroymap`.
StochasticOrder
StochasticOrder
---------------
---------------
This happens when ... WRITEME.
This happens when an optimization does not perform the same graph operations
in the same order when run several times in a row. This can happen if any
steps are ordered by ``id(object)`` somehow, such as via the default object
hash function. A Stochastic optimization invalidates the pattern of work
whereby we debug in DEBUG_MODE and then run the full-size jobs in FAST_RUN.
For detailed documentation see :api:`StochasticOrder`.
FloatError
FloatError
----------
----------
This happens when ... WRITEME.
This happens when invalid floating-point values such as NaN and Inf are
introduced into the computations. It indicates which Op created the first
NaN.
Currently this exception is never raised because the check is not being
performed, but the plan is that it will be. (see ticket #320)
For detailed documentation see :api:`FloatError`.
InvalidValueError
InvalidValueError
-----------------
-----------------
This happens when ... WRITEME.
This happens when some Op's ``perform`` or ``c_code`` implementation computes
an output that is invalid with respect to the type of the corresponding output
variable. Like if it returned a complex-valued ndarray for a ``dscalar``
Type.
For detailed documentation see :api:`InvalidValueError`.
DebugModeError
DebugModeError
--------------
--------------
...
@@ -86,3 +131,5 @@ DebugModeError
...
@@ -86,3 +131,5 @@ DebugModeError
This is a generic error, pretty unhelpful. You'll generally have to look at the
This is a generic error, pretty unhelpful. You'll generally have to look at the
stack trace and then in the code to figure out why DebugMode is complaining.
stack trace and then in the code to figure out why DebugMode is complaining.
For detailed documentation see :api:`DebugModeError`.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论