Seems that your layers are not connected at all.
I'd change this:
# Followed by a layers of conv3x3x256
layer
{
name:"Conv3x3x256"
type:"Convolution"
bottom: "conv5"
top: "conv6"
convolution_param
{
kernel_size: 3
num_output: 256
# The filters are 3x3x256
pad: 1
# So the output is H/4xW/4x256
}
}
# And lastly, a with a conv3x3x1
layer
{
name:"Conv3x3x1"
type:"Convolution"
bottom: "conv6"
top: "conv7"
convolution_param
{
kernel_size: 3
num_output: 1
# The filters are 3x3x64
pad: 1
# So the output is H/4xW/4x1
}
}
into something like this:
# Followed by a layers of conv3x3x256
layer
{
name:"Conv3x3x256"
type:"Convolution"
bottom: "Conv3x3x64_4"
top: "Conv3x3x256"
convolution_param
{
kernel_size: 3
num_output: 256
# The filters are 3x3x256
pad: 1
# So the output is H/4xW/4x256
}
}
# And lastly, a with a conv3x3x1
layer
{
name:"Conv3x3x1"
type:"Convolution"
bottom: "Conv3x3x256"
top: "Conv3x3x1"
convolution_param
{
kernel_size: 3
num_output: 1
# The filters are 3x3x64
pad: 1
# So the output is H/4xW/4x1
}
}
And the base learning rate seems too small: 0.000000001
Stepsize is too small, stepsize: 10 / max_iter: 450000
After 10 iteration, learning rate become 0.000000001/10, and so on.
Even base learning rate is smaller than single precision value can handle.