ஆரம்பநிலையாளர்களுக்கான டென்சர்ஃப்ளோ பயிற்சி
டென்சர்ஃப்ளோ என்பது ஆழ்நிலை கற்றல் மற்றும் இயந்திரக் கற்றலுக்கான மிகவும் பிரபலமான கட்டமைப்புகளில் ஒன்றாகும். கூகிள் பிரைன் குழுவால் உருவாக்கப்பட்ட டென்சர்ஃப்ளோ, எண்ணற்ற ஆராய்ச்சித் திட்டங்களிலும் தொழில்துறைப் பயன்பாடுகளிலும் பரவலாகப் பயன்படுத்தப்பட்டு வருகிறது. ஒரு தொடக்கநிலையாளராக நீங்கள் டென்சர்ஃப்ளோவைப் பயன்படுத்தத் தொடங்குவதற்கு உதவும் வகையில், இந்தக் கட்டுரை ஒரு படிப்படியான வழிகாட்டியை வழங்குகிறது.
1. டென்சர்ஃப்ளோ அடிப்படைகளைப் புரிந்துகொள்ளுதல்
டென்சர்ஃப்ளோவை நிறுவிப் பயன்படுத்தத் தொடங்குவதற்கு முன், டென்சர்ஃப்ளோ என்றால் என்ன, அதன் பின்னணியில் உள்ள அடிப்படைக் கருத்துகள் என்ன என்பதைப் புரிந்துகொள்வது அவசியம். டென்சர்ஃப்ளோ என்பது எண் கணக்கீடு மற்றும் இயந்திரக் கற்றலுக்கான ஒரு திறந்த மூலக் கட்டமைப்பாகும். இது எண் செயல்பாடுகளைச் செய்ய தரவுப் பாய்வு வரைபடங்களைப் பயன்படுத்துகிறது; இதில், வரைபடத்தின் கணுக்கள் கணிதச் செயல்பாடுகளையும், விளிம்புகள் அவற்றுக்கிடையே இணைக்கப்பட்ட பல்பரிமாணத் தரவு அணிகளையும் (டென்சர்கள்) குறிக்கின்றன.
2. டென்சர்ஃப்ளோ நிறுவுதல்
டென்சர்ஃப்ளோவைப் பயன்படுத்துவதில் முதல் படி அதை நிறுவுவதாகும். பைத்தானின் தொகுப்பு மேலாளரான pip-ஐப் பயன்படுத்தி டென்சர்ஃப்ளோவை நிறுவுவது எப்படி என்பது இங்கே கொடுக்கப்பட்டுள்ளது.
1. பைத்தான் நிறுவல்:
உங்கள் கணினியில் பைதான் நிறுவப்பட்டிருப்பதை உறுதிப்படுத்திக் கொள்ளுங்கள். இந்தக் கட்டுரை எழுதப்படும் நேரத்தில், டென்சர்ஃப்ளோ பைதான் 3.6 முதல் 3.9 வரை இணக்கமானது. நீங்கள் பைதானை அதிகாரப்பூர்வ பைதான் இணையதளத்திலிருந்து பதிவிறக்கம் செய்துகொள்ளலாம்.
2. மெய்நிகர் சூழல்:
உங்கள் டென்சர்ஃப்ளோ திட்டத்தைத் தனிமைப்படுத்த ஒரு மெய்நிகர் சூழலை உருவாக்குவது மிகவும் பரிந்துரைக்கப்படுகிறது:
`ஷ்
பைதான் -எம் வென்வி மைன்வி
source myenv/bin/activate (Mac/Linux பயனர்களுக்கு)
myenv\Scripts\activate விண்டோஸ் பயனர்களுக்கு
"`
3. டென்சர்ஃப்ளோ நிறுவுதல்:
இப்போது, pip-ஐப் பயன்படுத்தி TensorFlow-ஐ நிறுவவும்:
`ஷ்
pip நிறுவல் tensorflow
"`
3. டென்சர்ஃப்ளோவுடன் ஹலோ வேர்ல்ட்
இப்போது டென்சர்ஃப்ளோ நிறுவப்பட்டுவிட்டதால், அந்த நிறுவலைச் சரிபார்க்க ஒரு எளிய பைதான் ஸ்கிரிப்டை உருவாக்குவோம். ஒரு புதிய பைதான் கோப்பை உருவாக்கி, அதற்கு `hello_tensorflow.py` எனப் பெயரிடுங்கள்.
"` மலைப்பாம்பு
டென்சர்ஃப்ளோவை tf ஆக இறக்குமதி செய்யவும்
ஒரு மாறிலியை உருவாக்கு
hello = tf.constant('வணக்கம், டென்சர்ஃப்ளோ!')
அமர்வைத் தொடங்கு
tf.Session() உடன் sess ஆக:
result = sess.run(hello)
அச்சு (முடிவு)
"`
டென்சர்ஃப்ளோ பதிப்பு 2.x-க்கு ஏற்ப குறியீட்டை மாற்றியமைக்கவும்:
"` மலைப்பாம்பு
டென்சர்ஃப்ளோவை tf ஆக இறக்குமதி செய்யவும்
ஒரு மாறிலியை உருவாக்கு
hello = tf.constant('வணக்கம், டென்சர்ஃப்ளோ!')
ஆர்வமுள்ள செயலாக்கத்தைப் பயன்படுத்தி இயக்கவும் (இயல்பாகவே இயக்கத்தில் உள்ளது)
print(hello.numpy())
"`
கோப்பைச் சேமித்துவிட்டு, பின்னர் இயக்கவும்:
`ஷ்
பைதான் hello_tensorflow.py
"`
4. டென்சர்கள் மற்றும் அடிப்படைச் செயல்பாடுகளைப் புரிந்துகொள்ளுதல்
டென்சர்ஃப்ளோவில் உள்ள முதன்மைத் தரவுக் கட்டமைப்பு டென்சர்கள் ஆகும், இவை பல்பரிமாண அணிகளாகும். டென்சர்களைப் புரிந்துகொள்ள உங்களுக்கு உதவும் சில எடுத்துக்காட்டுகள் இங்கே கொடுக்கப்பட்டுள்ளன:
"` மலைப்பாம்பு
டென்சர்ஃப்ளோவை tf ஆக இறக்குமதி செய்யவும்
டென்சர்களை உருவாக்குதல்
ஸ்கேலார் = tf. மாறிலி(7) ஸ்கேலார்
வெக்டர் = tf. மாறிலி([1, 2, 3]) வெக்டர்
அணி = tf. மாறிலி([[1, 2], [3, 4]]) அணி
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D டென்சர்
print(f'Scalar: {scalar}')
print(f'திசையன்: {திசையன்}')
print(f'அணி: {அணி}')
print(f'டென்சர் 3D: {டென்சர்3டி}')
"`
டென்சர்களில் அடிப்படைச் செயல்பாடுகளைச் செய்ய:
"` மலைப்பாம்பு
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
கூட்டல் செயல்பாடு
add = tf.add(a, b)
அணி பெருக்கல் செயல்பாடுகள்
mul = tf.matmul(a, b)
print(f'கூட்டல்: {add}')
print(f'அணிப் பெருக்கல்: {mul}')
"`
5. ஒரு எளிய நரம்பியல் வலையமைப்பு மாதிரியை உருவாக்குதல்
அடுத்த கட்டம் ஒரு எளிய நியூரல் நெட்வொர்க் மாடலை உருவாக்குவது. கையால் எழுதப்பட்ட இலக்கப் படங்களின் தரவுத்தளமான MNIST தரவுத்தொகுப்பைப் பயன்படுத்தி, நாம் ஒரு பட வகைப்பாட்டு மாடலை உருவாக்குவோம். வாருங்கள், தொடங்குவோம்:
"` மலைப்பாம்பு
டென்சர்ஃப்ளோவை tf ஆக இறக்குமதி செய்யவும்
tensorflow.keras இலிருந்து datasets, layers, models ஆகியவற்றை இறக்குமதி செய்யவும்
MNIST தரவுத்தொகுப்பைப் பதிவிறக்குதல்
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
பட இயல்பாக்கம்
பயிற்சிப் படங்கள், சோதனைப் படங்கள் = பயிற்சிப் படங்கள் / 255.0, சோதனைப் படங்கள் / 255.0
ஒரு மாதிரியை உருவாக்குதல்
மாதிரி = மாதிரிகள்.வரிசைமுறை([
layers.Flatten(input_shape=(28, 28)),
அடுக்குகள்.அடர்வு(128, செயல்படுத்தல்='ரெலு'),
அடுக்குகள்.அடர்த்தியான(10)
])
மாதிரி தொகுப்பு
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
அளவீடுகள்=['துல்லியம்'])
மாதிரிக்கு பயிற்சி அளித்தல்
model.fit(train_images, train_labels, epochs=5)
மாதிரியைச் சோதித்தல்
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'சோதனைத் துல்லியம்: {test_acc}')
"`
விளக்கம்:
– தரவுத்தொகுப்புகள்: நாங்கள் MNIST தரவுத்தொகுப்பை இறக்குமதி செய்து ஏற்றுகிறோம்.
– முன்செயலாக்கம்: பிக்சல் மதிப்புகளை 255 ஆல் வகுப்பதன் மூலம் தரவுத்தொகுப்பை இயல்பாக்குதல்.
– மாதிரி: நாம் இரண்டு அடுக்குகளைக் கொண்ட ஒரு எளிய மாதிரியை வரையறுக்கிறோம். முதல் அடுக்கு, 2D படத்தை 1D வரிசையாக மாற்றுவதற்கான ஒரு 'தட்டையாக்கும்' (Flatten) அடுக்கு ஆகும். இரண்டாவது அடுக்கு, 128 நியூரான்களையும் 'relu'-வை செயலாக்கச் சார்பாகவும் கொண்ட ஒரு 'அடர்த்தியான' (Dense) அடுக்கு ஆகும். கடைசி அடுக்கு, 10 வகுப்புகளைக் குறிக்கும் 10 நியூரான்களைக் கொண்ட ஒரு 'அடர்த்தியான' (Dense) அடுக்கு ஆகும்.
– தொகுத்தல்: `adam` உகப்பாக்கியையும், `SparseCategoricalCrossentropy`-ஐ இழப்புச் சார்பாகவும் பயன்படுத்தி, நாம் மாதிரியைத் தொகுக்கிறோம்.
– பயிற்சி: மாதிரியை 5 சுற்றுகளுக்குப் பயிற்றுவிக்கவும்.
– மதிப்பீடு: சோதனைத் தரவுகளுடன் மாதிரியை ஒப்பிட்டு மதிப்பீடு செய்யவும்.
6. மாதிரிகளைச் சேமித்தல் மற்றும் ஏற்றுதல்
ஒரு மாடலுக்குப் பயிற்சி அளித்த பிறகு, அதை மீண்டும் பயிற்சி அளிக்காமல் பிற்காலப் பயன்பாட்டிற்காகச் சேமிக்க நீங்கள் விரும்பலாம். ஒரு மாடலைச் சேமிப்பது மற்றும் ஏற்றுவது எப்படி என்பது இங்கே கொடுக்கப்பட்டுள்ளது:
"` மலைப்பாம்பு
மாதிரியைச் சேமித்தல்
model.save('my_model.h5')
ஏற்றும் மாதிரி
புதிய_மாடல் = tf.keras.models.load_model('my_model.h5′)
ஏற்றப்பட்ட மாதிரியைச் சரிபார்த்தல்
loss, acc = new_model.evaluate(test_images, test_labels)
print(f'ஏற்றப்பட்ட மாதிரியின் துல்லியம்: {acc}')
"`
முடிவுரை
இந்த வழிகாட்டி, தொடக்கநிலையாளர்கள் டென்சர்ஃப்ளோவைப் பயன்படுத்தத் தொடங்குவதற்கான ஒரு விரிவான அறிமுகத்தை வழங்குகிறது. இதில் நிறுவுதல், அடிப்படை டென்சர் செயல்பாடுகள், மற்றும் MNIST தரவுத்தொகுப்பைப் பயன்படுத்தி ஒரு எளிய நியூரல் நெட்வொர்க் மாடலை உருவாக்குதல் ஆகியவற்றை நாங்கள் விளக்கியுள்ளோம். மேம்பட்ட தரவு செயலாக்கம், மிகவும் சிக்கலான மாடல்கள், மற்றும் TPU-கள், GPU-கள் போன்ற சாதனங்களில் டென்சர்ஃப்ளோவைப் பயன்படுத்துதல் என ஆராய்வதற்கு பல மேம்பட்ட திறன்களை டென்சர்ஃப்ளோ வழங்குகிறது. டென்சர்ஃப்ளோவுடன் இயந்திரக் கற்றல் உலகில் நீங்கள் அடியெடுத்து வைக்க இந்த வழிகாட்டி உதவும் என்று நம்புகிறோம்.