首頁 > 後端開發 > Python教學 > ResNet、EfficientNet、VGG、NN

ResNet、EfficientNet、VGG、NN

PHPz
發布: 2024-08-27 06:06:32
原創
379 人瀏覽過

身為學生,我親眼目睹了我們大學低效的失物招領系統所帶來的挫敗感。目前的流程依賴於每個找到的物品的單獨電子郵件,通常會導致遺失物品與其所有者之間的延誤和錯過聯繫。

出於為自己和同學改善這種體驗的願望,我開始了一個項目,探索深度學習在徹底改變我們的失物招領系統方面的潛力。 在這篇文章中,我將分享我評估預訓練模型(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 Vs EfficientNet vs VGG Vs NN

表格總結了上述模型所聲稱的準確度分數。 EfficientNet B7 以最高的準確率領先,緊隨其後的是 NasNet-Large 和 Inception-ResNet V2。 VGG 模型的精度較低。對於我的應用程序,我想選擇一個在處理時間和準確性之間取得平衡的模型。

時間

ResNet Vs EfficientNet vs VGG Vs NN

如我們所見,EfficientNetB0 為我們提供了最快的結果,但考慮到準確性,InceptionResNetV2 是一個更好的套件

概括

對於我的智慧失物招領系統,我決定使用 InceptionResNetV2。雖然 EfficientNet B7 以其一流的準確性看起來很誘人,但我擔心它的運算需求。在大學環境中,資源可能有限,而即時表現往往是可取的,我認為在準確性和效率之間取得平衡很重要。 InceptionResNetV2 似乎是完美的選擇 - 它提供了強大的性能,而又不會過度計算密集。

此外,它在 ImageNet 上進行預訓練的事實讓我相信它可以處理人們可能丟失的各種物體。我們不要忘記在 Keras 中使用是多麼容易!這確實讓我的決定變得更容易。

總的來說,我相信 InceptionResNetV2 為我的專案提供了準確性、效率和實用性的正確組合。我很高興看到它如何幫助丟失的物品與失主重新團聚!

以上是ResNet、EfficientNet、VGG、NN的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板