ಲೋಡ್ ಮಾಡೆಲ್ ಮತ್ತು ಫ್ರೀಜ್ ಯಂತ್ರ ಕಲಿಕೆಯ ಮಾದರಿಗಳ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ದಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಬಳಸಿಕೊಳ್ಳಬಹುದಾದ ಎರಡು ತಂತ್ರಗಳಾಗಿವೆ. ಮೊದಲನೆಯದು ಮೊದಲಿನಿಂದಲೂ ಹೊಸ ಮಾದರಿಯನ್ನು ತರಬೇತಿ ಮಾಡುವ ಬದಲು ಅದರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸಲು ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯನ್ನು ಲೋಡ್ ಮಾಡುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಆದರೆ ಎರಡನೆಯದು ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪರಿಷ್ಕರಿಸಲು ಮತ್ತು ಹೆಚ್ಚಿಸಲು ತರಬೇತಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಕೆಲವು ತೂಕಗಳ ನವೀಕರಣಗಳನ್ನು ನಿಲ್ಲಿಸುವುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಎರಡೂ ತಂತ್ರಗಳು ಓವರ್ಫಿಟ್ಟಿಂಗ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚು ನಿಖರವಾದ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಮಾದರಿಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಪೈಥಾನ್ನಲ್ಲಿ ಲೋಡ್ ಮಾಡೆಲ್ ಮತ್ತು ಫ್ರೀಜ್ ಅನ್ನು ಅಳವಡಿಸಲಾಗುತ್ತಿದೆ
ಲೋಡ್ ಮಾಡೆಲ್ ಮತ್ತು ಫ್ರೀಜ್ ತಂತ್ರಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು, ನಾವು ಮೊದಲು ನಮ್ಮ ವಿಲೇವಾರಿಯಲ್ಲಿ ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯನ್ನು ಹೊಂದಿರಬೇಕು. ಈ ಉದಾಹರಣೆಗಾಗಿ, ಹಂತಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ನಾವು ಜನಪ್ರಿಯ ಯಂತ್ರ ಕಲಿಕೆ ಗ್ರಂಥಾಲಯಗಳಾದ TensorFlow ಮತ್ತು Keras ಜೊತೆಗೆ ಪೈಥಾನ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ.
import tensorflow as tf from tensorflow.keras import layers # Load a pre-trained model model = tf.keras.applications.VGG16(weights='imagenet', include_top=False) # Set specific layers as non-trainable (frozen) for layer in model.layers[:10]: layer.trainable = False # Add custom layers on top of the pre-trained model x = model.output x = layers.GlobalAveragePooling2D()(x) x = layers.Dense(1024, activation='relu')(x) predictions = layers.Dense(10, activation='softmax')(x) # Finalize the new model custom_model = tf.keras.Model(inputs=model.input, outputs=predictions)
ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ
ನಮ್ಮ ಲೋಡ್ ಮಾದರಿ ಇಮೇಜ್ನೆಟ್ ಡೇಟಾಸೆಟ್ನಲ್ಲಿ ತರಬೇತಿ ಪಡೆದ VGG16 ನಂತಹ ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. TensorFlow ಮತ್ತು Keras ಮೇಲಿನ ಕೋಡ್ನಲ್ಲಿ ನೋಡಿದಂತೆ, ಅಂತಹ ಮಾದರಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು ನೇರವಾದ ವಿಧಾನಗಳನ್ನು ನೀಡುತ್ತವೆ. ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯನ್ನು ಬಳಸುವ ಪ್ರಯೋಜನವೆಂದರೆ ಅದು ಈಗಾಗಲೇ ವಿಶಾಲವಾದ ಡೇಟಾಸೆಟ್ನಿಂದ ಅಗತ್ಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಕಲಿತಿದೆ, ನಮ್ಮ ಕಸ್ಟಮ್ ಮಾದರಿಯನ್ನು ತರಬೇತಿ ಮಾಡುವಾಗ ಈ ಜ್ಞಾನವನ್ನು ಹತೋಟಿಗೆ ತರಲು ನಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಸಮಯ ಮತ್ತು ಕಂಪ್ಯೂಟೇಶನಲ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಘನೀಕರಿಸುವ ಪದರಗಳು ಮತ್ತು ಕಸ್ಟಮ್ ಲೇಯರ್ಗಳನ್ನು ಸೇರಿಸುವುದು
ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯನ್ನು ಲೋಡ್ ಮಾಡಿದ ನಂತರ, ನಾವು ಮುಂದುವರಿಯಬಹುದು ಫ್ರೀಜ್ ತರಬೇತಿಯ ಸಮಯದಲ್ಲಿ ಅವುಗಳನ್ನು ನವೀಕರಿಸದಂತೆ ತಡೆಯಲು ಮಾದರಿಯ ನಿರ್ದಿಷ್ಟ ಪದರಗಳು. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು VGG10 ಮಾದರಿಯ ಮೊದಲ 16 ಲೇಯರ್ಗಳನ್ನು ಫ್ರೀಜ್ ಮಾಡಿದ್ದೇವೆ, ಅವುಗಳ "ತರಬೇತಿ ಮಾಡಬಹುದಾದ" ಗುಣಲಕ್ಷಣವನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸುತ್ತೇವೆ. ಈ ಲೇಯರ್ಗಳನ್ನು ಫ್ರೀಜ್ ಮಾಡುವುದರಿಂದ ಮಾದರಿಯು ಹಿಂದೆ ಕಲಿತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ನಂತರದ ಲೇಯರ್ಗಳನ್ನು ಪರಿಷ್ಕರಿಸುವತ್ತ ಗಮನಹರಿಸುತ್ತದೆ.
ಅಪೇಕ್ಷಿತ ಲೇಯರ್ಗಳನ್ನು ಫ್ರೀಜ್ ಮಾಡಿದ ನಂತರ, ನಮ್ಮ ಅವಶ್ಯಕತೆಗಳ ಆಧಾರದ ಮೇಲೆ ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯ ಮೇಲೆ ನಾವು ಕಸ್ಟಮ್ ಲೇಯರ್ಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ನಮ್ಮ ಕಸ್ಟಮ್ ಮಾಡೆಲ್ಗಾಗಿ ಔಟ್ಪುಟ್ ಲೇಯರ್ಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಎರಡು ದಟ್ಟವಾದ ಲೇಯರ್ಗಳ ನಂತರ GlobalAveragePooling2D ಲೇಯರ್ನ ಸೇರ್ಪಡೆಯನ್ನು ನಮ್ಮ ಅನುಷ್ಠಾನವು ತೋರಿಸುತ್ತದೆ. ಅಂತಿಮವಾಗಿ, ನಾವು ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿ ಮತ್ತು ನಮ್ಮ ಕಸ್ಟಮ್ ಲೇಯರ್ ರಚನೆಯನ್ನು tf.keras.Model ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಹೊಸ ಮಾದರಿಗೆ ಸಂಯೋಜಿಸುತ್ತೇವೆ.
ಪೈಥಾನ್, ಟೆನ್ಸರ್ಫ್ಲೋ ಮತ್ತು ಕೆರಾಸ್ನೊಂದಿಗೆ ಲೋಡ್ ಮಾಡೆಲ್ ಮತ್ತು ಫ್ರೀಜ್ ತಂತ್ರಗಳನ್ನು ಬಳಸುವ ಮೂಲಕ, ನಾವು ನಮ್ಮ ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊಂದಿದ್ದೇವೆ. ಶಕ್ತಿಯುತ ಪರಿಕರಗಳು ಮತ್ತು ತಂತ್ರಗಳ ಈ ಸಂಯೋಜನೆಯು ದತ್ತಾಂಶ ವಿಜ್ಞಾನಿಗಳು ಮತ್ತು ಡೆವಲಪರ್ಗಳಿಗೆ ನಿಖರವಾದ ಮತ್ತು ಸಂಪನ್ಮೂಲ ಸ್ನೇಹಿಯಾಗಿರುವ ದೃಢವಾದ ಮತ್ತು ಸಮರ್ಥವಾದ ಯಂತ್ರ ಕಲಿಕೆಯ ಮಾದರಿಗಳನ್ನು ರಚಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.