如果训练集中猫类别只有布偶猫这一种猫的图片,那测试集中的英短猫或是别的类别的猫怎么识别

计算机视觉中,如果训练集中猫类别只有布偶猫这一种猫的图片,那测试集中的英短猫或是别的类别的猫怎么识别成猫类别的呢?
目前刚入门,调研分布外检测,遇到的问题希望有人可以帮我解决,谢谢!

这个就要看你的模型的泛化能力了。毕竟布偶猫和别的猫,在一定程度上是有相似性的。但是识别效果肯定没有训练集里有各种猫的好。

【相关推荐】



  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7579365
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:张量网络算法基础(七、张量网络中的有效哈密顿思想)
  • 您还可以看一下 吴刚老师的【吴刚大讲堂】电商导航视觉识别设计课程中的 按导航标签数量分类方法总结及其对移动视觉优化的影响小节, 巩固相关知识点
  • 除此之外, 这篇博客: 自编码器的实现与应用中的 自编码器的数据相似性,我们用来测试的数据仍然是 手写数字 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    x_train.shape, x_test.shape
    

    在这里插入图片描述

    x_train = x_train.reshape(x_train.shape[0], -1)
    x_test = x_test.reshape(x_test.shape[0], -1)
    
    x_train.shape, x_test.shape
    

    在这里插入图片描述

    x_train = tf.cast(x_train, tf.float32)/255
    x_test = tf.cast(x_test, tf.float32)/255
    
    input_size = 784
    hidden_size = 32
    output_size = 784
    
    input = tf.keras.layers.Input(shape=(input_size,))
    
    # Encoder
    en = tf.keras.layers.Dense(hidden_size, activation='relu')(input)
    
    # Decoder
    de = tf.keras.layers.Dense(output_size, activation='sigmoid')(en)
    
    model = tf.keras.Model(inputs=input, outputs=de)
    
    model.compile(optimizer='adam', loss='mse')
    
    model.fit(x_train, x_train,
                    nb_epoch=50,
                    batch_size=256,
                    shuffle=True,
                    validation_data=(x_test, x_test))
    

    在这里插入图片描述

    encode = tf.keras.Model(inputs=input, outputs=en)
    
    input_de = tf.keras.layers.Input(shape=(hidden_size,))
    output = model.layers[-1](input_de)
    decode = tf.keras.Model(inputs=input_de, outputs=output)
    
    encode_test = encode(x_test)
    
    decode_test = decode.predict(encode_test)
    
    x_test = x_test.numpy()
    
    n = 10  
    
    plt.figure(figsize=(20, 4))
    for i in range(1, n):    
    # 展示原始图像
        ax = plt.subplot(2, n, i)
        plt.imshow(x_test[i].reshape(28, 28))  
        # 展示自编码器重构后的图像
        ax = plt.subplot(2, n, i + n)
        plt.imshow(decode_test[i].reshape(28, 28))
    plt.show()
    

    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^