कन्वेल्यूशनल न्यूरल नेटवर्क (सीएनएन) छवि प्रसंस्करण और पहचान कार्यों के लिए शक्तिशाली उपकरण हैं। वे बैकप्रॉपैगेशन के माध्यम से सुविधाओं के स्थानिक पदानुक्रम को स्वचालित रूप से और अनुकूल रूप से सीखने के लिए डिज़ाइन किए गए हैं। आइए Python और TensorFlow/Keras का उपयोग करके एक बुनियादी CNN के निर्माण में गोता लगाएँ।
शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित लाइब्रेरी स्थापित हैं:
pip install tensorflow numpy matplotlib
आवश्यक पुस्तकालयों को आयात करके प्रारंभ करें:
import tensorflow as tf from tensorflow.keras import layers, models import matplotlib.pyplot as plt
इस उदाहरण के लिए, हम CIFAR-10 डेटासेट का उपयोग करेंगे, जिसमें 10 कक्षाओं में 60,000 32x32 रंगीन छवियां शामिल हैं।
# Load the CIFAR-10 dataset (x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data() # Normalize the pixel values to be between 0 and 1 x_train, x_test = x_train / 255.0, x_test / 255.0
अब, आइए सीएनएन मॉडल का निर्माण करें। इस मॉडल में प्रमुख परतें शामिल होंगी: कन्वोल्यूशनल, पूलिंग और सघन परतें।
model = models.Sequential() # First Convolutional Layer model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3))) model.add(layers.MaxPooling2D((2, 2))) # Second Convolutional Layer model.add(layers.Conv2D(64, (3, 3), activation='relu')) model.add(layers.MaxPooling2D((2, 2))) # Third Convolutional Layer model.add(layers.Conv2D(64, (3, 3), activation='relu')) # Flatten the output and add Dense layers model.add(layers.Flatten()) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(10, activation='softmax'))
मॉडल को संकलित करने में प्रशिक्षण के दौरान निगरानी करने के लिए ऑप्टिमाइज़र, हानि फ़ंक्शन और मेट्रिक्स को निर्दिष्ट करना शामिल है।
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
कुछ युगों के लिए प्रशिक्षण डेटा पर सीएनएन मॉडल को प्रशिक्षित करें।
history = model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))
प्रशिक्षण के बाद, परीक्षण डेटा पर मॉडल का मूल्यांकन करें कि यह कितना अच्छा प्रदर्शन करता है।
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2) print(f'\nTest accuracy: {test_acc}')
अंत में, आइए प्रशिक्षण युगों में सटीकता और हानि की कल्पना करें।
plt.plot(history.history['accuracy'], label='accuracy') plt.plot(history.history['val_accuracy'], label = 'val_accuracy') plt.xlabel('Epoch') plt.ylabel('Accuracy') plt.ylim([0, 1]) plt.legend(loc='lower right') plt.show()
यह बुनियादी सीएनएन मॉडल छवि वर्गीकरण कार्यों से निपटने के लिए एक बेहतरीन शुरुआती बिंदु के रूप में कार्य करता है। इस मॉडल को समझकर और संशोधित करके, आप अपने मॉडल के प्रदर्शन को बढ़ाने के लिए विभिन्न आर्किटेक्चर और तकनीकों के साथ प्रयोग कर सकते हैं। और भी अधिक शक्तिशाली तंत्रिका नेटवर्क बनाने के लिए परतों की खोज और उनमें बदलाव करते रहें! ?
इस कोड को पालन करने और संशोधित करने में आसान बनाने के लिए डिज़ाइन किया गया है, जो इसे शुरुआती लोगों और पायथन में सीएनएन के साथ शुरुआत करने वालों के लिए उपयुक्त बनाता है।
सीएनएन आर्किटेक्चर के लिए ब्लॉग लिंक:https://dev.to/ABHINOwww/demystifying-cnn-neural-network-layers-a-dep-dive-into-ai-architecture-12d2
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3