提交 68bec4a1 authored 作者: Frederic's avatar Frederic

remove the vm_lazy linker string and add the flag vm.lazy.

上级 d03ed942
......@@ -67,7 +67,6 @@ predefined_linkers = {
'c|py_nogc': gof.OpWiseCLinker(allow_gc=False),
'c&py': gof.DualLinker(checker=check_equal),
'vm': gof.vm.VM_Linker(use_cloop=False),
'vm_lazy': gof.vm.VM_Linker(use_cloop=False, lazy=True),
'cvm': gof.vm.VM_Linker(use_cloop=True),
'vm_nogc': gof.vm.VM_Linker(allow_gc=False, use_cloop=False),
'cvm_nogc': gof.vm.VM_Linker(allow_gc=False, use_cloop=True),
......
......@@ -100,14 +100,14 @@ try:
("Default linker used if the theano flags mode is Mode "
"or ProfileMode"),
EnumStr('cvm', 'c|py', 'py', 'c', 'c|py_nogc', 'c&py',
'vm', 'vm_lazy', 'vm_nogc', 'cvm_nogc'),
'vm', 'vm_nogc', 'cvm_nogc'),
in_c_key=False)
except OSError:
# g++ is not present, linker should default to python only
AddConfigVar('linker',
("Default linker used if the theano flags mode is Mode "
"or ProfileMode"),
EnumStr('py', 'vm', 'vm_lazy', 'vm_nogc'),
EnumStr('py', 'vm', 'vm_nogc'),
in_c_key=False)
_logger.warning('g++ not detected ! Theano will be unable to execute '
'optimized C-implementations (for both CPU and GPU) and will '
......
......@@ -302,6 +302,7 @@ def test_vm_gc():
pass
x = theano.tensor.vector()
p = RunOnce()(x)
mode = theano.Mode(linker=theano.gof.vm.VM_Linker(lazy=True))
f = theano.function([theano.In(x, mutable=True)], [p + 1, p + 2],
mode=theano.Mode(linker='vm_lazy'))
f([1,2,3])
mode=mode)
f([1, 2, 3])
......@@ -22,6 +22,12 @@ AddConfigVar('profile',
AddConfigVar('profile_optimizer',
"If VM should collect optimizer profile information",
BoolParam(False))
AddConfigVar('vm.lazy',
"Useful only for the vm linkers. When lazy is None,"
" auto detect if lazy evaluation is needed and use the apropriate"
" version. If lazy it True/False, force the version used between"
" Loop/LoopGC and Stack.",
BoolParam(False))
raise_with_op = link.raise_with_op
......@@ -488,7 +494,7 @@ class VM_Linker(link.LocalLinker):
lazy - Useful only when use_cloop is False. When lazy is None, auto
detect if lazy evaluation is needed and use the apropriate
version. If lazy it True/False, for the version used between
version. If lazy it True/False, force the version used between
Loop/LoopGC and Stack.
"""
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论