Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
057a7855
提交
057a7855
authored
8月 01, 2017
作者:
abergeron
提交者:
GitHub
8月 01, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6194 from aam-at/breakpoint
Support more debuggers for PdbBreakpoint
上级
4372225d
ab5da46a
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
16 行增加
和
3 行删除
+16
-3
debug_faq.txt
doc/tutorial/debug_faq.txt
+3
-0
breakpoint.py
theano/tests/breakpoint.py
+13
-3
没有找到文件。
doc/tutorial/debug_faq.txt
浏览文件 @
057a7855
...
@@ -608,3 +608,6 @@ Breakpoint during Theano function execution
...
@@ -608,3 +608,6 @@ Breakpoint during Theano function execution
You can set a breakpoint during the execution of a Theano function with
You can set a breakpoint during the execution of a Theano function with
:class:`PdbBreakpoint <theano.tests.breakpoint.PdbBreakpoint>`.
:class:`PdbBreakpoint <theano.tests.breakpoint.PdbBreakpoint>`.
:class:`PdbBreakpoint <theano.tests.breakpoint.PdbBreakpoint>` automatically
detects available debuggers and uses the first available in the following order:
`pudb`, `ipdb`, or `pdb`.
theano/tests/breakpoint.py
浏览文件 @
057a7855
from
__future__
import
absolute_import
,
print_function
,
division
from
__future__
import
absolute_import
,
print_function
,
division
import
numpy
as
np
import
numpy
as
np
import
pdb
import
imp
import
theano
import
theano
from
theano.gof
import
Op
,
Apply
from
theano.gof
import
Op
,
Apply
...
@@ -11,7 +11,8 @@ class PdbBreakpoint(Op):
...
@@ -11,7 +11,8 @@ class PdbBreakpoint(Op):
"""
"""
This is an identity-like op with the side effect of enforcing a
This is an identity-like op with the side effect of enforcing a
conditional breakpoint, inside a theano function, based on a symbolic
conditional breakpoint, inside a theano function, based on a symbolic
scalar condition.
scalar condition. It automatically detects available debuggers and uses
the first available in the following order: `pudb`, `ipdb`, or `pdb`.
:type name: String
:type name: String
:param name: name of the conditional breakpoint. To be printed when the
:param name: name of the conditional breakpoint. To be printed when the
...
@@ -116,7 +117,16 @@ class PdbBreakpoint(Op):
...
@@ -116,7 +117,16 @@ class PdbBreakpoint(Op):
print
(
"Their contents can be altered and, when execution"
)
print
(
"Their contents can be altered and, when execution"
)
print
(
"resumes, the updated values will be used."
)
print
(
"resumes, the updated values will be used."
)
print
(
"-------------------------------------------------"
)
print
(
"-------------------------------------------------"
)
pdb
.
set_trace
()
if
imp
.
find_module
(
'pudb'
):
import
pudb
pudb
.
set_trace
()
elif
imp
.
find_module
(
'ipdb'
):
import
ipdb
ipdb
.
set_trace
()
else
:
import
pdb
pdb
.
set_trace
()
# Take the new values in monitored, cast them back to their
# Take the new values in monitored, cast them back to their
# original type and store them in the output_storage
# original type and store them in the output_storage
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论