Skip to content

Instantly share code, notes, and snippets.

@sveitser
Created February 29, 2016 15:39
Show Gist options
  • Save sveitser/b647f2f7cde02a66a59a to your computer and use it in GitHub Desktop.
Save sveitser/b647f2f7cde02a66a59a to your computer and use it in GitHub Desktop.
(lasagne) lulu@lulus ➜ /tmp CUDA_LAUNCH_BLOCKING=1 THEANO_FLAGS="device=cpu" python grad.py
Reshape{2} [id A] '' 24
|MaxPoolGrad{ds=(3, 3), ignore_border=True, st=(2, 2), padding=(0, 0), mode='max'} [id B] '' 23
| |Reshape{4} [id C] '' 4
| | |x [id D]
| | |Join [id E] '' 3
| | |TensorConstant{0} [id F]
| | |TensorConstant{(1,) of 1} [id G]
| | |TensorConstant{(1,) of 1} [id G]
| | |MakeVector{dtype='int64'} [id H] '' 2
| | |Shape_i{0} [id I] '' 1
| | | |x [id D]
| | |Shape_i{1} [id J] '' 0
| | |x [id D]
| |Pool{ds=(3, 3), ignore_border=True, st=(2, 2), padding=(0, 0), mode='max'} [id K] '' 9
| | |Reshape{4} [id C] '' 4
| |Reshape{4} [id L] '' 22
| |Alloc [id M] '' 21
| | |TensorConstant{(1, 1) of 1.0} [id N]
| | |Elemwise{Composite{Switch(EQ(i0, i1), ((i2 * i3 * i4) // (-(i0 * i5))), i0)}} [id O] '' 19
| | | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}}[(0, 2)] [id P] '' 16
| | | | |TensorConstant{1} [id Q]
| | | | |TensorConstant{-3} [id R]
| | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id S] '' 12
| | | | | |Subtensor{int64} [id T] '' 7
| | | | | | |Join [id E] '' 3
| | | | | | |Constant{2} [id U]
| | | | | |TensorConstant{-1} [id V]
| | | | | |Elemwise{Composite{((i0 * i1) // (-(i2 * i3 * i4 * i5)))}}[(0, 0)] [id W] '' 10
| | | | | |Shape_i{0} [id I] '' 1
| | | | | |Shape_i{1} [id J] '' 0
| | | | | |Subtensor{int64} [id X] '' 5
| | | | | | |Join [id E] '' 3
| | | | | | |Constant{0} [id Y]
| | | | | |Subtensor{int64} [id Z] '' 6
| | | | | | |Join [id E] '' 3
| | | | | | |Constant{1} [id BA]
| | | | | |Subtensor{int64} [id T] '' 7
| | | | | |Subtensor{int64} [id BB] '' 8
| | | | | |Join [id E] '' 3
| | | | | |Constant{3} [id BC]
| | | | |TensorConstant{2} [id BD]
| | | | |TensorConstant{0} [id BE]
| | | |TensorConstant{-1} [id V]
| | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id BF] '' 11
| | | | |Subtensor{int64} [id X] '' 5
| | | | |TensorConstant{-1} [id V]
| | | | |Elemwise{Composite{((i0 * i1) // (-(i2 * i3 * i4 * i5)))}}[(0, 0)] [id W] '' 10
| | | |Elemwise{Composite{maximum((((i0 - i1) // i2) + i3), i4)}} [id BG] '' 14
| | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id S] '' 12
| | | | |TensorConstant{3} [id BH]
| | | | |TensorConstant{2} [id BI]
| | | | |TensorConstant{1} [id BJ]
| | | | |TensorConstant{0} [id F]
| | | |Elemwise{Composite{maximum((((i0 - i1) // i2) + i3), i4)}} [id BK] '' 15
| | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}}[(0, 0)] [id BL] '' 13
| | | | | |Subtensor{int64} [id BB] '' 8
| | | | | |TensorConstant{-1} [id V]
| | | | | |Elemwise{Composite{((i0 * i1) // (-(i2 * i3 * i4 * i5)))}}[(0, 0)] [id W] '' 10
| | | | |TensorConstant{3} [id BH]
| | | | |TensorConstant{2} [id BI]
| | | | |TensorConstant{1} [id BJ]
| | | | |TensorConstant{0} [id F]
| | | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}}[(0, 2)] [id BM] '' 17
| | | |TensorConstant{1} [id Q]
| | | |TensorConstant{-3} [id R]
| | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}}[(0, 0)] [id BL] '' 13
| | | |TensorConstant{2} [id BD]
| | | |TensorConstant{0} [id BE]
| | |Elemwise{Composite{Switch(EQ(i0, i1), ((i2 * i3 * i4) // (-(i5 * i0))), i0)}}[(0, 0)] [id BN] '' 20
| | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}}[(0, 2)] [id BM] '' 17
| | |TensorConstant{-1} [id V]
| | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id BF] '' 11
| | |Elemwise{Composite{maximum((((i0 - i1) // i2) + i3), i4)}} [id BG] '' 14
| | |Elemwise{Composite{maximum((((i0 - i1) // i2) + i3), i4)}} [id BK] '' 15
| | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}}[(0, 2)] [id P] '' 16
| |MakeVector{dtype='int64'} [id BO] '' 18
| |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id BF] '' 11
| |TensorConstant{1} [id Q]
| |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}}[(0, 2)] [id P] '' 16
| |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}}[(0, 2)] [id BM] '' 17
|MakeVector{dtype='int64'} [id H] '' 2
[[ 1. 1. 1.]
[ 1. 1. 1.]
[ 1. 1. 1.]]
######################################################
(lasagne) lulu@lulus ➜ /tmp CUDA_LAUNCH_BLOCKING=1 THEANO_FLAGS="device=gpu0" python grad.py
Using gpu device 0: GeForce GTX 980 Ti (CNMeM is disabled, CuDNN 4007)
HostFromGpu [id A] '' 29
|GpuReshape{2} [id B] '' 28
|GpuDnnPoolGrad{mode='max'} [id C] '' 27
| |GpuContiguous [id D] '' 12
| | |Rebroadcast{0} [id E] '' 10
| | |GpuReshape{4} [id F] '' 5
| | |GpuFromHost [id G] '' 2
| | | |x [id H]
| | |Join [id I] '' 4
| | |TensorConstant{0} [id J]
| | |TensorConstant{(1,) of 1} [id K]
| | |TensorConstant{(1,) of 1} [id K]
| | |MakeVector{dtype='int64'} [id L] '' 3
| | |Shape_i{0} [id M] '' 1
| | | |x [id H]
| | |Shape_i{1} [id N] '' 0
| | |x [id H]
| |GpuContiguous [id O] '' 19
| | |GpuDnnPool{mode='max'} [id P] '' 16
| | |GpuContiguous [id D] '' 12
| | |TensorConstant{(2,) of 3} [id Q]
| | |TensorConstant{(2,) of 2} [id R]
| | |TensorConstant{(2,) of 0} [id S]
| |GpuContiguous [id T] '' 26
| | |GpuReshape{4} [id U] '' 25
| | |GpuAlloc [id V] '' 24
| | | |CudaNdarrayConstant{[[ 1.]]} [id W]
| | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}}[(0, 0)] [id X] '' 23
| | | | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}} [id Y] '' 17
| | | | | |TensorConstant{1} [id Z]
| | | | | |TensorConstant{-3} [id BA]
| | | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id BB] '' 14
| | | | | | |Subtensor{int64} [id BC] '' 8
| | | | | | | |Join [id I] '' 4
| | | | | | | |Constant{2} [id BD]
| | | | | | |TensorConstant{-1} [id BE]
| | | | | | |Elemwise{Composite{((i0 * i1) // (-(i2 * i3 * i4 * i5)))}}[(0, 0)] [id BF] '' 11
| | | | | | |Shape_i{0} [id M] '' 1
| | | | | | |Shape_i{1} [id N] '' 0
| | | | | | |Subtensor{int64} [id BG] '' 6
| | | | | | | |Join [id I] '' 4
| | | | | | | |Constant{0} [id BH]
| | | | | | |Subtensor{int64} [id BI] '' 7
| | | | | | | |Join [id I] '' 4
| | | | | | | |Constant{1} [id BJ]
| | | | | | |Subtensor{int64} [id BC] '' 8
| | | | | | |Subtensor{int64} [id BK] '' 9
| | | | | | |Join [id I] '' 4
| | | | | | |Constant{3} [id BL]
| | | | | |TensorConstant{2} [id BM]
| | | | | |TensorConstant{0} [id BN]
| | | | |TensorConstant{-1} [id BE]
| | | | |Elemwise{Composite{((i0 * maximum((((i1 - i2) // i3) + i4), i5) * maximum((((i6 - i2) // i3) + i4), i5)) // (-(i7 * i8)))}}[(0, 0)] [id BO] '' 21
| | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id BP] '' 13
| | | | | |Subtensor{int64} [id BG] '' 6
| | | | | |TensorConstant{-1} [id BE]
| | | | | |Elemwise{Composite{((i0 * i1) // (-(i2 * i3 * i4 * i5)))}}[(0, 0)] [id BF] '' 11
| | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id BB] '' 14
| | | | |TensorConstant{3} [id BQ]
| | | | |TensorConstant{2} [id BR]
| | | | |TensorConstant{1} [id BS]
| | | | |TensorConstant{0} [id J]
| | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}}[(0, 0)] [id BT] '' 15
| | | | | |Subtensor{int64} [id BK] '' 9
| | | | | |TensorConstant{-1} [id BE]
| | | | | |Elemwise{Composite{((i0 * i1) // (-(i2 * i3 * i4 * i5)))}}[(0, 0)] [id BF] '' 11
| | | | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}} [id Y] '' 17
| | | | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}} [id BU] '' 18
| | | | |TensorConstant{1} [id Z]
| | | | |TensorConstant{-3} [id BA]
| | | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}}[(0, 0)] [id BT] '' 15
| | | | |TensorConstant{2} [id BM]
| | | | |TensorConstant{0} [id BN]
| | | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}}[(0, 0)] [id BV] '' 22
| | | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}} [id BU] '' 18
| | | |TensorConstant{-1} [id BE]
| | | |Elemwise{Composite{((i0 * maximum((((i1 - i2) // i3) + i4), i5) * maximum((((i6 - i2) // i3) + i4), i5)) // (-(i7 * i8)))}}[(0, 0)] [id BO] '' 21
| | |MakeVector{dtype='int64'} [id BW] '' 20
| | |Elemwise{Composite{Switch(EQ(i0, i1), i2, i0)}} [id BP] '' 13
| | |TensorConstant{1} [id Z]
| | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}} [id Y] '' 17
| | |Elemwise{Composite{maximum((i0 + ((i1 + i2) // i3)), i4)}} [id BU] '' 18
| |TensorConstant{(2,) of 3} [id Q]
| |TensorConstant{(2,) of 2} [id R]
| |TensorConstant{(2,) of 0} [id S]
|MakeVector{dtype='int64'} [id L] '' 3
[[ 1. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment