登录
首页 >  文章 >  python教程

ResNet、EfficientNet、VGG、NN

来源:dev.to

时间:2024-08-29 14:22:02 473浏览 收藏

你在学习文章相关的知识吗?本文《ResNet、EfficientNet、VGG、NN》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

作为一名学生,我亲眼目睹了我们大学低效的失物招领系统所带来的挫败感。目前的流程依赖于每个找到的物品的单独电子邮件,通常会导致丢失物品与其所有者之间的延误和错过联系。

出于为自己和同学改善这种体验的愿望,我开始了一个项目,探索深度学习在彻底改变我们的失物招领系统方面的潜力。 在这篇博文中,我将分享我评估预训练模型(resnet、efficientnet、vgg 和 nasnet)的旅程,以自动识别和分类丢失的物品。

通过比较分析,我的目标是找出最适合集成到我们系统中的模型,最终为校园里的每个人创造更快、更准确、用户友好的失物招领体验。

残差网络

inception-resnet v2 是 keras 中提供的强大的卷积神经网络架构,将 inception 架构的优势与 resnet 的残差连接相结合。这种混合模型旨在在保持计算效率的同时实现图像分类任务的高精度。

训练数据集:imagenet
图像格式:299 x 299

预处理功能

def readyforresnet(filename):
    pic = load_img(filename, target_size=(299, 299))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_resnet(expanded)

预测

data1 = readyforresnet(test_file)
prediction = inception_model_resnet.predict(data1)
res1 = decode_predictions_resnet(prediction, top=2)

vgg(视觉几何组)

vgg(视觉几何组)是一系列深度卷积神经网络架构,以其在图像分类任务中的简单性和有效性而闻名。这些模型,特别是 vgg16 和 vgg19,由于在 2014 年 imagenet 大规模视觉识别挑战赛 (ilsvrc) 中的出色表现而受到欢迎。

训练数据集:imagenet
图像格式:224 x 224

预处理功能

def readyforvgg(filename):
    pic = load_img(filename, target_size=(224, 224))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_vgg19(expanded)

预测

data2 = readyforvgg(test_file)
prediction = inception_model_vgg19.predict(data2)
res2 = decode_predictions_vgg19(prediction, top=2)

高效网络

efficientnet 是一系列卷积神经网络架构,可在图像分类任务上实现最先进的准确性,同时比以前的模型更小、速度更快。这种效率是通过平衡网络深度、宽度和分辨率的新型复合缩放方法来实现的。

训练数据集:imagenet
图像格式:480 x 480

预处理功能

def readyforef(filename):
    pic = load_img(filename, target_size=(480, 480))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_ef(expanded)

预测

data3 = readyforef(test_file)
prediction = inception_model_ef.predict(data3)
res3 = decode_predictions_ef(prediction, top=2)

纳斯网络

nasnet(神经架构搜索网络)代表了深度学习中的一种突破性方法,其中神经网络本身的架构是通过自动搜索过程发现的。此搜索过程旨在找到层和连接的最佳组合,以在给定任务上实现高性能。

训练数据集:imagenet
图像格式:224 x 224

预处理功能

def readyfornn(filename):
    pic = load_img(filename, target_size=(224, 224))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_nn(expanded)

预测

data4 = readyForNN(test_file)
prediction = inception_model_NN.predict(data4)
res4 = decode_predictions_NN(prediction, top=2)

摊牌

准确性

ResNet、EfficientNet、VGG、NN

该表总结了上述模型声称的准确性分数。 efficientnet b7 以最高的准确率领先,紧随其后的是 nasnet-large 和 inception-resnet v2。 vgg 模型的精度较低。对于我的应用程序,我想选择一个在处理时间和准确性之间取得平衡的模型。

时间

ResNet、EfficientNet、VGG、NN

正如我们所见,efficientnetb0 为我们提供了最快的结果,但是考虑到准确性,inceptionresnetv2 是一个更好的包

概括

对于我的智能失物招领系统,我决定使用 inceptionresnetv2。虽然 efficientnet b7 以其一流的准确性看起来很诱人,但我担心它的计算需求。在大学环境中,资源可能有限,而实时性能往往是可取的,我认为在准确性和效率之间取得平衡很重要。 inceptionresnetv2 似乎是完美的选择 - 它提供了强大的性能,而又不会过度计算密集。

此外,它在 imagenet 上进行预训练的事实让我相信它可以处理人们可能丢失的各种物体。我们不要忘记在 keras 中使用是多么容易!这绝对让我的决定更容易。

总的来说,我相信 inceptionresnetv2 为我的项目提供了准确性、效率和实用性的正确组合。我很高兴看到它如何帮助丢失的物品与失主重新团聚!

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>