提交 641a03bb authored 作者: Frederic Bastien's avatar Frederic Bastien

Don't try to make inplace on constant.

Otherwise an error is shown to the user.
上级 a87126d4
...@@ -8,6 +8,7 @@ from blas import Gemv ...@@ -8,6 +8,7 @@ from blas import Gemv
from blas import Gemm from blas import Gemm
from blas import blas_optdb, optdb,local_optimizer, EquilibriumOptimizer from blas import blas_optdb, optdb,local_optimizer, EquilibriumOptimizer
import theano
try: try:
import scipy.linalg.blas import scipy.linalg.blas
...@@ -67,7 +68,8 @@ def use_scipy_ger(node): ...@@ -67,7 +68,8 @@ def use_scipy_ger(node):
@local_optimizer([ScipyGer(False)]) @local_optimizer([ScipyGer(False)])
def make_ger_destructive(node): def make_ger_destructive(node):
if node.op == ScipyGer(False): if (node.op == ScipyGer(False) and
not isinstance(node.inputs[0], theano.gof.Constant)):
return [ScipyGer(True)(*node.inputs)] return [ScipyGer(True)(*node.inputs)]
use_scipy_blas = EquilibriumOptimizer( use_scipy_blas = EquilibriumOptimizer(
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论