Rumah >pembangunan bahagian belakang >Tutorial Python >ResNet Vs EfficientNet vs VGG Vs NN
Sebagai seorang pelajar, saya telah menyaksikan sendiri kekecewaan yang disebabkan oleh sistem hilang dan ditemui universiti kami yang tidak cekap. Proses semasa, bergantung pada e-mel individu untuk setiap item yang ditemui, sering menyebabkan kelewatan dan terlepas sambungan antara barang hilang dan pemiliknya.
Didorong oleh keinginan untuk menambah baik pengalaman ini untuk diri saya dan rakan pelajar saya, saya telah memulakan projek untuk meneroka potensi pembelajaran mendalam dalam merevolusikan sistem yang hilang dan ditemui kami. Dalam catatan blog ini, saya akan berkongsi perjalanan saya menilai model terlatih - ResNet, EfficientNet, VGG dan NasNet - untuk mengautomasikan pengenalpastian dan pengkategorian item yang hilang.
Melalui analisis perbandingan, saya berhasrat untuk menentukan model yang paling sesuai untuk disepadukan ke dalam sistem kami, akhirnya mencipta pengalaman hilang dan ditemui yang lebih pantas, lebih tepat dan mesra pengguna untuk semua orang di kampus.
Inception-ResNet V2 ialah seni bina rangkaian saraf konvolusi yang berkuasa yang tersedia di Keras, menggabungkan kekuatan seni bina Inception dengan sambungan sisa daripada ResNet. Model hibrid ini bertujuan untuk mencapai ketepatan tinggi dalam tugas pengelasan imej sambil mengekalkan kecekapan pengiraan.
Set Data Latihan: ImageNet
Format Imej: 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 (Visual Geometry Group) ialah keluarga seni bina rangkaian neural convolutional mendalam yang terkenal dengan kesederhanaan dan keberkesanannya dalam tugas pengelasan imej. Model ini, terutamanya VGG16 dan VGG19, mendapat populariti kerana prestasi kukuhnya dalam Cabaran Pengecaman Visual Skala Besar ImageNet (ILSVRC) pada tahun 2014.
Set Data Latihan: ImageNet
Format Imej: 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 ialah keluarga seni bina rangkaian saraf konvolusi yang mencapai ketepatan terkini pada tugas pengelasan imej sambil jauh lebih kecil dan lebih pantas daripada model sebelumnya. Kecekapan ini dicapai melalui kaedah penskalaan kompaun baru yang mengimbangi kedalaman, lebar dan resolusi rangkaian.
Set Data Latihan: ImageNet
Format Imej: 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 (Rangkaian Carian Seni Bina Neural) mewakili pendekatan terobosan dalam pembelajaran mendalam di mana seni bina rangkaian saraf itu sendiri ditemui melalui proses carian automatik. Proses carian ini bertujuan untuk mencari gabungan optimum lapisan dan sambungan untuk mencapai prestasi tinggi pada tugasan tertentu.
Set Data Latihan: ImageNet
Format Imej: 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)
Jadual meringkaskan skor ketepatan yang dituntut bagi model di atas. EfficientNet B7 mendahului dengan ketepatan tertinggi, diikuti rapat oleh NasNet-Large dan Inception-ResNet V2. Model VGG mempamerkan ketepatan yang lebih rendah. Untuk permohonan saya, saya ingin memilih model yang mempunyai keseimbangan antara masa pemprosesan dan ketepatan.
Seperti yang kita lihat, EfficientNetB0 memberikan kita hasil terpantas, tetapi InceptionResNetV2 adalah pakej yang lebih baik apabila diambil ketepatan dalam akaun
Untuk sistem hilang dan ditemui pintar saya, saya memutuskan untuk menggunakan InceptionResNetV2. Walaupun EfficientNet B7 kelihatan menggoda dengan ketepatannya yang terkemuka, saya bimbang tentang permintaan pengiraannya. Dalam persekitaran universiti, di mana sumber mungkin terhad dan prestasi masa nyata selalunya diingini, saya merasakan adalah penting untuk mencapai keseimbangan antara ketepatan dan kecekapan. InceptionResNetV2 nampaknya sesuai - ia menawarkan prestasi yang kukuh tanpa terlalu intensif pengiraan.
Selain itu, fakta bahawa ia dilatih di ImageNet memberikan saya keyakinan bahawa ia boleh mengendalikan pelbagai objek yang mungkin hilang oleh orang ramai. Dan jangan lupa betapa mudahnya untuk bekerja dengan di Keras! Itu pastinya memudahkan keputusan saya.
Secara keseluruhan, saya percaya InceptionResNetV2 menyediakan gabungan ketepatan, kecekapan dan kepraktisan yang betul untuk projek saya. Saya teruja untuk melihat prestasinya dalam membantu menyatukan semula barang yang hilang dengan pemiliknya!
Atas ialah kandungan terperinci ResNet Vs EfficientNet vs VGG Vs NN. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!