ઉકેલાયેલ: pytorch માં પૂર્વ પ્રશિક્ષિત મોડેલ કેવી રીતે લોડ કરવું

પૂર્વ પ્રશિક્ષિત મોડેલ કેવી રીતે લોડ કરવું મશીન લર્નિંગ અને આર્ટિફિશિયલ ઇન્ટેલિજન્સની દુનિયામાં, ઝડપી અને વધુ સચોટ પરિણામો પ્રાપ્ત કરવા માટે **પૂર્વ પ્રશિક્ષિત મોડલ્સ** સાથે કામ કરવું સામાન્ય છે. આ મોડેલોને પહેલાથી જ મોટા ડેટાસેટ્સ પર તાલીમ આપવામાં આવી છે અને તે આવશ્યકપણે ઉપયોગ માટે તૈયાર છે. શરૂઆતથી શરૂ કરવાની સરખામણીમાં પૂર્વ પ્રશિક્ષિત મોડેલ લોડ કરવાથી સમય અને સંસાધનોની નોંધપાત્ર રકમ બચાવી શકાય છે. આ લેખમાં, અમે અન્વેષણ કરીશું કે પાયથોનનો ઉપયોગ કરીને પ્રિટ્રેઇન્ડ મોડલ કેવી રીતે લોડ કરવું, ખાસ કરીને TensorFlow નામની વ્યાપકપણે ઉપયોગમાં લેવાતી ડીપ લર્નિંગ લાઇબ્રેરી પર ધ્યાન કેન્દ્રિત કરીને. અમે સમસ્યાનું નિરાકરણ પ્રદાન કરીશું, જરૂરી પુસ્તકાલયો અને કાર્યોની ચર્ચા કરીશું અને કોડના પગલા-દર-પગલાંની સમજૂતી પર આગળ વધીશું.

પ્રીટ્રેઇન્ડ મોડલ લોડ કરી રહ્યું છે

પૂર્વપ્રશિક્ષિત મોડેલ સાથે કામ કરવાનું પ્રથમ પગલું એ મોડેલ પોતે મેળવવું છે. VGG, ResNet અને Inception જેવા ઘણા લોકપ્રિય પૂર્વ પ્રશિક્ષિત મોડેલો ઉપલબ્ધ છે, જેનો ઉપયોગ ઘણીવાર ઇમેજ વર્ગીકરણ અને ઑબ્જેક્ટ શોધ જેવા કાર્યો માટે થાય છે. આ ઉદાહરણમાં, અમે VGG16 મોડલનો ઉપયોગ કરીશું, જે ઈમેજનેટ ડેટાસેટ પર અગાઉથી પ્રશિક્ષિત છે.

અગાઉથી પ્રશિક્ષિત VGG16 મોડલ લોડ કરવા માટે, અમારે ટેન્સરફ્લો લાઇબ્રેરી અને તેના કેરાસ મોડ્યુલનો ઉપયોગ કરવાની જરૂર છે. જો તમારી પાસે TensorFlow ઇન્સ્ટોલ કરેલ નથી, તો તમે નીચે આપેલા આદેશ સાથે આમ કરી શકો છો:

"`
પાઇપ ઇન્સ્ટોલ ટેન્સરફ્લો
"`

એકવાર TensorFlow ઇન્સ્ટોલ થઈ જાય, અમે VGG16 મોડલ લોડ કરવા સાથે આગળ વધી શકીએ છીએ. અહીં કોડનું પગલું દ્વારા પગલું સમજૂતી છે:

from tensorflow.keras.applications import VGG16

# Load the pretrained VGG16 model with the 'imagenet' weights
model = VGG16(weights="imagenet")

ઉપરના કોડમાં, આપણે સૌ પ્રથમ `tensorflow.keras.applications` મોડ્યુલમાંથી VGG16 વર્ગ આયાત કરીએ છીએ. તે પછી, અમે `weights="imagenet"` દલીલ પસાર કરીને VGG16 મૉડલનો દાખલો બનાવીએ છીએ, જે ઇમેજનેટ ડેટાસેટ પર અગાઉથી પ્રશિક્ષિત હોય તેવા વજનને લોડ કરવા માટે મોડેલને સૂચના આપે છે.

પ્રીટ્રેઇન્ડ મોડલનો ઉપયોગ કરવો

હવે જ્યારે અમે પૂર્વ પ્રશિક્ષિત VGG16 મોડલ લોડ કર્યું છે, અમે તેનો ઉપયોગ વિવિધ કાર્યો જેમ કે ઇમેજ વર્ગીકરણ માટે કરી શકીએ છીએ. ઇમેજનું વર્ગીકરણ કરવા માટે, આપણે ઇનપુટ ઇમેજને VGG16 મોડલ સાથે સુસંગત બનાવવા માટે તેને પ્રીપ્રોસેસ કરવાની જરૂર છે. આમાં ઇમેજનું કદ બદલવું, પિક્સેલ મૂલ્યોને સામાન્ય બનાવવું અને તેના પરિમાણોને વિસ્તૃત કરવું શામેલ છે.

import numpy as np
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.vgg16 import preprocess_input

# Load an example image and preprocess it
img_path = "path/to/your/image.jpg"
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)

ઉપરના કોડમાં, ઇનપુટ ઇમેજ લોડ કરવા અને પ્રીપ્રોસેસ કરવા માટે અમે `tensorflow.keras.preprocessing` માંથી `image` મોડ્યુલનો ઉપયોગ કરીએ છીએ. VGG224 મૉડલની જરૂરિયાત મુજબ છબીનું કદ `(224, 16)` કરવામાં આવ્યું છે. અમે પછી ઇમેજને NumPy એરેમાં કન્વર્ટ કરીએ છીએ અને અપેક્ષિત ઇનપુટ આકાર સાથે મેળ કરવા માટે તેના પરિમાણોને વિસ્તૃત કરીએ છીએ. છેલ્લે, અમે પિક્સેલ મૂલ્યોને સામાન્ય બનાવવા માટે `tensorflow.keras.applications.vgg16` મોડ્યુલમાંથી `preprocess_input` ફંક્શનનો ઉપયોગ કરીએ છીએ.

ઇનપુટ ઇમેજ પ્રીપ્રોસેસ અને તૈયાર સાથે, અમે હવે આગાહી કરવા માટે પૂર્વ પ્રશિક્ષિત VGG16 મોડલનો ઉપયોગ કરી શકીએ છીએ:

from tensorflow.keras.applications.vgg16 import decode_predictions

# Make a prediction using the pretrained model
predictions = model.predict(x)

# Decode the prediction and print the top 3 results
predicted_classes = decode_predictions(predictions, top=3)
print(predicted_classes)

ઉપરના ઉદાહરણમાં, અમે ઇનપુટ ઇમેજ માટે અનુમાન જનરેટ કરવા માટે `model.predict` પદ્ધતિનો ઉપયોગ કરીએ છીએ. પરિણામી અનુમાનો પછી `tensorflow.keras.applications.vgg16` મોડ્યુલમાંથી `decode_predictions` ફંક્શનનો ઉપયોગ કરીને ઇમેજનેટ ડેટાસેટમાંથી ટોચના 3 અનુમાનિત વર્ગોને જાહેર કરવા માટે ડીકોડ કરવામાં આવે છે.

નિષ્કર્ષમાં, TensorFlow લાઇબ્રેરી દ્વારા Python માં પ્રીટ્રેઇન્ડ મોડલ લોડ કરવું અને તેનો ઉપયોગ કરવો સરળ બને છે. આ અભિગમ સચોટ પરિણામો પ્રાપ્ત કરવા માટે જરૂરી સમય અને સંસાધનોને નોંધપાત્ર રીતે ઘટાડી શકે છે, જે તેને શિખાઉ અને અનુભવી મશીન લર્નિંગ પ્રેક્ટિશનરો બંને માટે અતિ મૂલ્યવાન બનાવે છે.

સંબંધિત પોસ્ટ્સ:

પ્રતિક્રિયા આપો