提交 33d16586 authored 作者: Yann N. Dauphin's avatar Yann N. Dauphin

added opt

上级 3bb19b52
...@@ -11,7 +11,7 @@ from theano.sandbox.cuda import (GpuOp, cuda_available, active_device_number, ...@@ -11,7 +11,7 @@ from theano.sandbox.cuda import (GpuOp, cuda_available, active_device_number,
device_properties) device_properties)
from theano.sandbox.cuda.basic_ops import (as_cuda_ndarray_variable, from theano.sandbox.cuda.basic_ops import (as_cuda_ndarray_variable,
gpu_contiguous) gpu_contiguous)
from theano.sandbox.cuda.blas import GpuConv from theano.sandbox.cuda.blas import GpuConv, GpuDownsampleFactorMax
from theano.sandbox.cuda.nnet import GpuSoftmax from theano.sandbox.cuda.nnet import GpuSoftmax
from theano.sandbox.cuda.nvcc_compiler import NVCC_compiler from theano.sandbox.cuda.nvcc_compiler import NVCC_compiler
...@@ -933,6 +933,18 @@ if cuda_available: ...@@ -933,6 +933,18 @@ if cuda_available:
gpu_optimizer.register("conv_cudnn", local_conv_dnn, 'cudnn') gpu_optimizer.register("conv_cudnn", local_conv_dnn, 'cudnn')
@local_optimizer([GpuDownsampleFactorMax])
def local_pool_dnn(node):
if isinstance(node.op, GpuDownsampleFactorMax):
if node.op.ignore_border:
return
img, = node.inputs
ds = node.op.ws
return [dnn_pool(gpu_contiguous(img), ds, ds)]
gpu_optimizer.register("pool_cudnn", local_pool_dnn, 'cudnn')
@local_optimizer([GpuSoftmax]) @local_optimizer([GpuSoftmax])
def local_softmax_dnn(node): def local_softmax_dnn(node):
if isinstance(node.op, GpuSoftmax): if isinstance(node.op, GpuSoftmax):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论