Skip to content

Cavs operator(instruction) set

XSZ edited this page Apr 28, 2017 · 10 revisions

With the codebase becoming larger, it is nearly impossible for me to keep in mind all the operator configurations. So I list them here to facilitate their assembling(in frontend and auto-diff parts of the backend) and parsing(in backend).

name: "Pooling"
input: "Conv9" //x
output: "Pooling10" //y
shape {
dim: 100
dim: 50
dim: 4
dim: 4
}
device: GPU
attr {
name: "HightWindow"
value { i: 2 }
}
attr {
name: "WidthWindow"
value { i: 2 }
}
attr {
name: "PoolingMode" value { s: "Max" }
}

name: "PoolingGrad"
input: "Pooling10" //y
input: "Pooling10_grad" //dy
input: "Conv9" //x
output: "Conv9_grad" //dx
device: GPU
attr {
name: "HightWindow"
value { i: 2 }
}
attr {
name: "WidthWindow"
value { i: 2 }
}
attr {
name: "PoolingMode"
value { s: "Max" }
}

name: "Conv"
input: "Pooling8" //x
input: "Variable2" //filter
input: "Variable3" //bias
output: "Conv9" //y
shape {
dim: 100
dim: 50
dim: 8
dim: 8
}
attr {
name: "Pad"
value { i: "0" }
} attr {
name: "Stride"
value { i: "1" }
}

name: "ConvGrad"
input: "Conv9_grad" //dy
input: "Pooling8" //x
input: "Variable2" //filter
input: "Variable3" //bias
output: "Variable2_grad" //df
output: "Variable3_grad" //dbias
output: "Pooling8_grad" //dx
device: GPU
attr {
name: "Pad"
value { i: "0" }
} attr {
name: "Stride"
value { i: "1" }
}

name: "MnistInput"
output: "MnistInput6"
shape {
dim: 100
dim: 1
dim: 28
dim: 28
}
device: GPU
attr {
name: "Batch"
value { i: 100 }
}
attr {
name: "ImageDir"
value { s: "/users/shizhenx/projects/Cavs/apps/lenet-5/data" }
}

name: "SoftmaxEntropyLogits"
input: "MatMul15" //x
input: "MnistInput7" //label
output: "SoftmaxEntropyLogits16" //y
shape {
dim: 100
dim: 10
}

name: "SoftmaxEntropyLogits_grad"
input: "SoftmaxEntropyLogits16" //dy
input: "MnistInput7" //label
output: "MatMul15_grad" //dx
shape {
dim: 100
dim: 10
}

Clone this wiki locally