你好我对深度学习和咖啡很新,所以请不要介意我的问题是否有点愚蠢。
我一直在研究像素分类/分割/回归。因此,我看到有一个用于图像分割的gitlhub仓库fcn berkeley以及其他一些帖子,例如question 1,question 2。
我想做的是类似的东西略有不同。我有一个图像数据集和相应的ground_truth作为图像。我不确定通过 SoftmaxLoss 或通过 EuclideanLoss 进行逐步分类是否更好。我的ground_truth图像包含0-255的值,只有一个通道。
我一直在尝试做一个回归任务,并且有一个完全卷积网络,其中有一些卷积层仍然是输出大小,最后一层看起来像这样:最后我想做一个深度预测任务。因此,我不确定使用SoftmaxWithLoss或EuclideanLoss是否更好。然而,这个问题可能有点愚蠢。但这种方法是否正确?首先,我试图了解我的图像的形状,即当我的输入图像在相应位置具有大于0的值时,我已将ground_truth中的值设置为0.5。有人可以帮我吗?
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
num_output: 256
kernel_size: 53
stride: 1
pad: 26
weight_filler {
type: "gaussian"
std: 0.011
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu1"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "conv2"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 128
kernel_size: 15
stride: 1
pad: 7
weight_filler {
type: "gaussian"
std: 0.011
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu2"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "conv3"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 1
kernel_size: 11
stride: 1
pad: 5
weight_filler {
type: "gaussian"
std: 0.011
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu3"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
#layer {
# name: "loss"
# type: "SoftmaxWithLoss"
# bottom: "score"
# bottom: "label"
# top: "loss"
# loss_param {
# ignore_label: 255
# normalize: true
# }
#}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv3"
bottom: "label"
top: "loss"
}