Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 从分类预测值得到多标签二值化器逆变换_Tensorflow_Image Processing_Keras_One Hot Encoding_Multilabel Classification - Fatal编程技术网

Tensorflow 从分类预测值得到多标签二值化器逆变换

Tensorflow 从分类预测值得到多标签二值化器逆变换,tensorflow,image-processing,keras,one-hot-encoding,multilabel-classification,Tensorflow,Image Processing,Keras,One Hot Encoding,Multilabel Classification,我做了一个CNN来训练破解验证码。我使用多标签二值化器对标签进行热编码,标签只有三个唯一的类-0、1和2。下面是一小段代码 (X_train, X_test, Y_train, Y_test) = train_test_split(X, Y, test_size=0.25, random_state=0) # Convert the labels (letters) into one-hot encodings that Keras can work with l

我做了一个CNN来训练破解验证码。我使用多标签二值化器对标签进行热编码,标签只有三个唯一的类-0、1和2。下面是一小段代码

   (X_train, X_test, Y_train, Y_test) = train_test_split(X, Y, test_size=0.25, random_state=0)
    
    # Convert the labels (letters) into one-hot encodings that Keras can work with
    lb = MultiLabelBinarizer().fit(Y_train)
    Y_train = lb.transform(Y_train)
    Y_test = lb.transform(Y_test)
    
    #Here the model is built and fitted. After training the model I want it to predict
    
    #Captcha Prediction
    test = []
    for i in range(1192,1201):
    
    img = cv2.imread('../input/imagedata/train_'+'{:04d}'.format(i)+'.png',0)
    img = ImageAn(img,shape)
    img = np.expand_dims(img, axis=2)
    img = np.expand_dims(img, axis=0)
    pred = np.array(img, dtype="float") / 255.0
    y_pred = model.predict_proba(pred)
    
    #I use this because lb.inverse_transform only takes 0 and 1 and not floating values.
    for j in range(0,np.size(y_pred)):
         if(y_pred[0][j] > 0.5):
           y_pred[0][j] = 1
        else:
           y_pred[0][j] = 0
    final = lb.inverse_transform(y_pred)
    test.append(final)
    test
现在,一旦我编码它,训练它并预测它,我希望预测值被反向编码。但从这里,我只得到了升序中唯一的类值。我得到的测试验证码图像的输出是:
000表示0
222给出2
002给出0,2
211给出1,2
201表示0,1,2

订单很重要。如果不清楚,我需要的是:

000表示0,0,0
222给出了2,2,2
002给出0,0,2
211给出2,1,1
201给出2,0,1

我是否应该将3个不同的验证码编号分别分成3列并进行训练。但是,我还必须对单个数字图像进行分割,以便神经网络学习单个数字。我在这里读到了一个类似的问题:。但它没有正确地回答这个问题。 短暂性脑缺血发作