Neural network SegNet-CUBLAS_状态_成功(11对0)CUBLAS_状态_映射_错误

Neural network SegNet-CUBLAS_状态_成功(11对0)CUBLAS_状态_映射_错误,neural-network,caffe,Neural Network,Caffe,我试图在SegNet上训练我自己的数据集(与caffe),我准备的数据集与之前一样。当我试着运行列车时,它向我显示了以下错误: I0915 08:33:50.851986 49060 net.cpp:482] Collecting Learning Rate and Weight Decay. I0915 08:33:50.852017 49060 net.cpp:247] Network initialization done. I0915 08:33:50.852030 49060 net.

我试图在SegNet上训练我自己的数据集(与caffe),我准备的数据集与之前一样。当我试着运行列车时,它向我显示了以下错误:

I0915 08:33:50.851986 49060 net.cpp:482] Collecting Learning Rate and Weight Decay.
I0915 08:33:50.852017 49060 net.cpp:247] Network initialization done.
I0915 08:33:50.852030 49060 net.cpp:248] Memory required for data: 1064448016
I0915 08:33:50.852730 49060 solver.cpp:42] Solver scaffolding done.
I0915 08:33:50.853065 49060 solver.cpp:250] Solving VGG_ILSVRC_16_layer
I0915 08:33:50.853080 49060 solver.cpp:251] Learning Rate Policy: step
F0915 08:33:51.324506 49060 math_functions.cu:123] Check failed: status == CUBLAS_STATUS_SUCCESS (11 vs. 0)  CUBLAS_STATUS_MAPPING_ERROR
*** Check failure stack trace: ***
    @     0x7fa27a0d3daa  (unknown)
    @     0x7fa27a0d3ce4  (unknown)
    @     0x7fa27a0d36e6  (unknown)
    @     0x7fa27a0d6687  (unknown)
    @     0x7fa27a56946e  caffe::caffe_gpu_asum<>()
    @     0x7fa27a54b264  caffe::SoftmaxWithLossLayer<>::Forward_gpu()
    @     0x7fa27a440b29  caffe::Net<>::ForwardFromTo()
    @     0x7fa27a440f57  caffe::Net<>::ForwardPrefilled()
    @     0x7fa27a436745  caffe::Solver<>::Step()
    @     0x7fa27a43707f  caffe::Solver<>::Solve()
    @           0x406676  train()
    @           0x404bb1  main
    @     0x7fa2795e5f45  (unknown)
    @           0x40515d  (unknown)
    @              (nil)  (unknown)
I0915 08:33:50.851986 49060 net.cpp:482]收集学习率和体重衰减。
I0915 08:33:50.852017 49060 net.cpp:247]网络初始化完成。
I0915 08:33:50.852030 49060 net.cpp:248]数据所需的内存:1064448016
I0915 08:33:50.852730 49060解算器。cpp:42]解算器脚手架完成。
I0915 08:33:50.853065 49060解算器。cpp:250]解算VGG_ILSVRC_16_层
I0915 08:33:50.853080 49060解算器。cpp:251]学习率策略:步骤
F0915 08:33:51.324506 49060数学函数。cu:123]检查失败:状态==立方体状态成功(11对0)立方体状态映射错误
***检查故障堆栈跟踪:***
@0x7fa27a0d3daa(未知)
@0x7fa27a0d3ce4(未知)
@0x7fa27a0d36e6(未知)
@0x7fa27a0d6687(未知)
@0x7fa27a56946e caffe::caffe_gpu_asum()
@0x7fa27a54b264 caffe::SoftmaxWithLossLayer::ForwardGPU()
@0x7fa27a440b29 caffe::Net::ForwardFromTo()
@0x7fa27a440f57 caffe::Net::ForwardPrefilled()
@0x7fa27a436745 caffe::解算器::步骤()
@0x7fa27a43707f caffe::解算器::解算()
@0x406676列车()
@0x404bb1干管
@0x7fa2795e5f45(未知)
@0x40515d(未知)
@(无)(未知)

我的数据集是教程中的
.jpg
(train)
.png
(标记灰度图像)和
.txt
文件。有什么问题吗?感谢您的帮助

地面实况图像应该是没有alpha层的单通道
0-255
图像,因此NN将识别类别之间的差异

img = Image.open(filename).convert('L') # Not 'LA' (A - alpha)
多亏了,决议如下: 事实证明,您必须更改像素值的范围以及像素值的实际数量。如果您有256个可能的像素值(0-255),并且没有每个像素值的类权重,Segnet就会感到困惑。因此,我将所有PNG标签图像的像素可能性从255和0更改为1和0。 下面是我的python脚本:

import os
import cv2
import numpy as np
img = cv2.imread('/usr/local/project/old_png_labels/label.png, 0)
a_img = np.array(img, np.double)
normalized = cv2.normalize(img, a_img, 1.0, 0.0, cv2.NORM_MINMAX)
cv2.imwrite('/usr/local//project/png_labels/label.png, normalized)

当我在
损耗层中更改:
损耗参数:{weight\u by_label\u freqs:true ignore\u label:2 class\u weighting:99 class\u weighting:1}
时,问题更改为:
数学函数.cu:123]检查失败:状态==CUBLAS\u状态成功(13对0)CUBLAS\u状态执行失败
,我解决了它。问题是我的GT图像带有alpha层。这是错误的。代码行示例:
img=Image.open(filename.convert('L')
(而不是(LA))嗨,我也有同样的问题。你能给个恰当的答复吗?而不是在评论中回答你的问题?@thigi你的地面真相图像必须是1通道(没有alpha通道)。因此,我将它们从
RGB
转换为
L
图像。确定:)并将图像存储在png中,该png可以有0-255的值,但您仅使用值:例如,0,1,2?