Python Keras在使用sudo运行时抛出错误

Python Keras在使用sudo运行时抛出错误,python,keras,Python,Keras,当我使用sudosudo Keras_BACKEND=theano python train.py运行我的Keras训练脚本时,过了一段时间后,我发现一个错误: Traceback (most recent call last): File "train.py", line 186, in <module> loss=siamese_net.train_on_batch(inputs,targets) File "/usr/local/lib/python2.7/di

当我使用sudo
sudo Keras_BACKEND=theano python train.py运行我的Keras训练脚本时,过了一段时间后,我发现一个错误:

Traceback (most recent call last):
  File "train.py", line 186, in <module>
    loss=siamese_net.train_on_batch(inputs,targets)
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1565, in train_on_batch
    outputs = self.train_function(ins)
  File "/usr/local/lib/python2.7/dist-packages/keras/backend/theano_backend.py", line 1197, in __call__
    return self.function(*inputs)
  File "/usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py", line 898, in __call__
    storage_map=getattr(self.fn, 'storage_map', None))
  File "/usr/local/lib/python2.7/dist-packages/theano/gof/link.py", line 325, in raise_with_op
    reraise(exc_type, exc_value, exc_trace)
  File "/usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py", line 884, in __call__
    self.fn() if output_subset is None else\
  File "/usr/local/lib/python2.7/dist-packages/theano/gof/op.py", line 872, in rval
    r = p(n, [x[0] for x in i], o)
  File "/usr/local/lib/python2.7/dist-packages/theano/tensor/blas.py", line 1544, in perform
    z[0] = numpy.asarray(numpy.dot(x, y))
MemoryError:
Apply node that caused the error: Dot22(InplaceDimShuffle{1,0}.0, Elemwise{Composite{(i0 * i1 * (i2 - i1))}}[(0, 1)].0)
Toposort index: 162
Inputs types: [TensorType(float32, matrix), TensorType(float32, matrix)]
Inputs shapes: [(112896, 32), (32, 4096)]
Inputs strides: [(4, 451584), (16384, 4)]
Inputs values: ['not shown', 'not shown']
Outputs clients: [[Gemm{inplace}(Dot22.0, TensorConstant{1.0}, InplaceDimShuffle{1,0}.0, Elemwise{Composite{(i0 * i1 * i2 * (i3 - i2))}}[(0, 1)].0, TensorConstant{1.0})]]

HINT: Re-running with most Theano optimization disabled could give you a back-trace of when this node was created. This can be done with by setting the Theano flag 'optimizer=fast_compile'. If that does not work, Theano optimizations can be disabled with 'optimizer=None'.
HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of this apply node.
回溯(最近一次呼叫最后一次):
文件“train.py”,第186行,在
损失=暹罗净生产批量(输入、目标)
文件“/usr/local/lib/python2.7/dist-packages/keras/engine/training.py”,第1565行,在批量生产中
输出=自列车功能(ins)
文件“/usr/local/lib/python2.7/dist packages/keras/backend/theano_backend.py”,第1197行,在调用中__
返回自我功能(*输入)
文件“/usr/local/lib/python2.7/dist packages/theano/compile/function\u module.py”,第898行,在调用中__
存储映射=getattr(self.fn,“存储映射”,无))
文件“/usr/local/lib/python2.7/dist-packages/theano/gof/link.py”,第325行,用
重新释放(exc_类型、exc_值、exc_跟踪)
文件“/usr/local/lib/python2.7/dist packages/theano/compile/function\u module.py”,第884行,在调用中__
self.fn()如果输出_子集不是其他子集\
rval中的文件“/usr/local/lib/python2.7/dist-packages/theano/gof/op.py”,第872行
r=p(n[x[0]表示i中的x],o)
文件“/usr/local/lib/python2.7/dist-packages/theano/tensor/blas.py”,执行中的第1544行
z[0]=numpy.asarray(numpy.dot(x,y))
记忆错误:
导致错误的应用节点:Dot22(InplaceDimShuffle{1,0}.0,Elemwise{Composite{(i0*i1*(i2-i1))}[(0,1)].0)
拓扑排序索引:162
输入类型:[TensorType(浮点32,矩阵),TensorType(浮点32,矩阵)]
输入形状:[(112896,32)、(324096)]
输入跨步:[(4451584),(16384,4)]
输入值:[“未显示”、“未显示”]
输出客户端:[[Gemm{inplace}(Dot22.0,TensorConstant{1.0},InplaceDimShuffle{1,0}.0,Elemwise{Composite{(i0*i1*i2*(i3-i2))}[(0,1)].0,TensorConstant{1.0}]
提示:在禁用大多数Theano优化的情况下重新运行可能会返回此节点创建的时间。这可以通过设置Theano标志“optimizer=fast\u compile”来完成。如果不起作用,可以使用“optimizer=None”禁用无优化。
提示:对此应用节点的调试打印和存储映射示意图使用Theano标志“exception\u verbosity=high”。
然而,当我只是在没有
sudo KERAS\u BACKEND=theano python train.py
的情况下执行python脚本时,它开始按预期运行,至少在我看来是这样。这怎么可能