PyTorch میں ٹینسر کی قدروں تک رسائی اور ان میں ترمیم کیسے کریں؟

Pytorch My Ynsr Ky Qdrw Tk Rsayy Awr An My Trmym Kys Kry



پائی ٹارچ ایک گہرا سیکھنے والا فریم ورک ہے جو صارفین کو ٹینسر بنانے/تعریف کرنے اور جوڑ توڑ کرنے کے قابل بناتا ہے۔ ٹینسر کثیر جہتی صفیں ہیں جو متنوع اقسام اور اشکال کے ڈیٹا/اقدار کو محفوظ کر سکتی ہیں۔ تاہم، بعض اوقات، صارفین مطلوبہ ٹینسر کے مخصوص مواد یا اقدار تک رسائی اور اس میں ترمیم کرنا چاہتے ہیں۔ اس صورت حال میں وہ اس آپریشن کو انجام دینے کے لیے مختلف طریقے استعمال کر سکتے ہیں۔

یہ بلاگ PyTorch میں ٹینسر کی اقدار تک رسائی اور ان میں ترمیم کرنے کے طریقوں کی وضاحت کرے گا۔

PyTorch میں ٹینسر کی قدروں/مواد تک رسائی اور ترمیم کیسے کریں؟

PyTorch میں ٹینسر کی قدروں کو حاصل کرنے اور ان میں ترمیم کرنے کے لیے، دو طریقے استعمال کیے جا سکتے ہیں:







طریقہ 1: انڈیکسنگ کا استعمال کرتے ہوئے ٹینسر کی اقدار تک رسائی اور ان میں ترمیم کریں۔

انڈیکسنگ ان کی پوزیشن کی بنیاد پر کسی خاص ٹینسر سے کسی مخصوص عنصر یا عناصر کی ایک رینج کو منتخب کرنے کا ایک طریقہ ہے۔ صارفین کو مربع بریکٹ استعمال کرنے کی ضرورت ہے ' [ ] ٹینسر کے ہر جہت کے ساتھ عناصر تک رسائی حاصل کرنے کے لیے۔ 2D ٹینسر کی صورت میں، عناصر کو قطار 'i' اور کالم 'j' میں 'tensor[i,j]' کا استعمال کرکے حاصل کیا جا سکتا ہے۔ ایسا کرنے کے لیے، فراہم کردہ اقدامات پر عمل کریں:



مرحلہ 1: پائ ٹارچ لائبریری درآمد کریں۔

سب سے پہلے، درآمد کریں ' ٹارچ ' کتب خانہ:



درآمد ٹارچ

مرحلہ 2: ایک ٹینسر بنائیں

پھر، استعمال کریں ' torch.tensor() مطلوبہ ٹینسر بنانے اور اس کے عناصر کو پرنٹ کرنے کا فنکشن۔ مثال کے طور پر، ہم ایک 2D ٹینسر بنا رہے ہیں۔ دسیاں 1 طول و عرض 2×3 کے ساتھ:





دسیاں 1 = ٹارچ ٹینسر ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

پرنٹ کریں ( دسیاں 1 )

اس نے 2D ٹینسر بنایا ہے جیسا کہ ذیل میں دیکھا گیا ہے:



مرحلہ 3: انڈیکسنگ کا استعمال کرتے ہوئے ٹینسر کی اقدار تک رسائی حاصل کریں۔

اب، ٹینسر کی انڈیکس کے ذریعہ مطلوبہ اقدار تک رسائی حاصل کریں۔ مثال کے طور پر، ہم نے انڈیکس '[1][2]' کی وضاحت کی ہے۔ دسیاں 1 'اس کی قیمت تک رسائی حاصل کرنے اور اسے ایک متغیر میں محفوظ کرنے کے لیے' temp_element ' یہ دوسری قطار اور تیسرے کالم میں موجود قدر تک رسائی حاصل کرے گا:

temp_element = دسیاں 1 [ 1 ] [ 2 ]

پرنٹ کریں ( temp_element )

یہاں: ' [1] ' کا مطلب ہے دوسری قطار اور ' [2] ' کا مطلب ہے تیسرا کالم کیونکہ انڈیکسنگ ' سے شروع ہوتی ہے 0 '

یہ دیکھا جا سکتا ہے کہ مطلوبہ قدر تک ٹینسر یعنی '4' سے رسائی حاصل کی گئی ہے:

مرحلہ 4: انڈیکسنگ کا استعمال کرتے ہوئے ٹینسر کی قدروں میں ترمیم کریں۔

ٹینسر کی مخصوص قدر میں ترمیم کرنے کے لیے، انڈیکس کی وضاحت کریں اور نئی قدر مختص کریں۔ یہاں، ہم 'کی قدر کو تبدیل کر رہے ہیں [0][1] انڈیکس کے ساتھ پندرہ ”:

دسیاں 1 [ 0 ] [ 1 ] = پندرہ

پرنٹ کریں ( دسیاں 1 )

مندرجہ ذیل آؤٹ پٹ سے پتہ چلتا ہے کہ ٹینسر کی مخصوص قدر میں کامیابی کے ساتھ ترمیم کی گئی ہے۔

طریقہ 2: سلائسنگ کا استعمال کرتے ہوئے ٹینسر کی اقدار تک رسائی اور ان میں ترمیم کریں۔

سلائسنگ ایک یا زیادہ جہتوں کے ساتھ ٹینسر کے ذیلی سیٹ کو منتخب کرنے کا ایک طریقہ ہے۔ صارف سلائس کے آغاز اور اختتامی اشاریے اور قدم کے سائز کو بتانے کے لیے کولون آپریٹر ':' استعمال کر سکتے ہیں۔ اسے بہتر طور پر سمجھنے کے لیے ذیل میں فراہم کردہ اقدامات کو دیکھیں:

مرحلہ 1: پائ ٹارچ لائبریری درآمد کریں۔

سب سے پہلے، درآمد کریں ' ٹارچ ' کتب خانہ:

درآمد ٹارچ

مرحلہ 2: ایک ٹینسر بنائیں

اگلا، 'کا استعمال کرتے ہوئے ایک مطلوبہ ٹینسر بنائیں torch.tensor() فنکشن اور اس کے عناصر کو پرنٹ کریں۔ مثال کے طور پر، ہم ایک 2D ٹینسر بنا رہے ہیں۔ tens2 طول و عرض 2×3 کے ساتھ:

tens2 = ٹارچ ٹینسر ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

پرنٹ کریں ( tens2 )

اس نے ایک 2D ٹینسر بنایا ہے:

مرحلہ 3: سلائسنگ کا استعمال کرتے ہوئے ٹینسر کی قدروں تک رسائی حاصل کریں۔

اب، سلائسنگ کا استعمال کرتے ہوئے ٹینسر کی مطلوبہ اقدار تک رسائی حاصل کریں۔ مثال کے طور پر، ہم نے 'tens1' کے اشاریہ '[1]' کو اس کی قدروں تک رسائی حاصل کرنے اور انہیں ' نامی متغیر میں ذخیرہ کرنے کے لیے مخصوص کیا ہے۔ نئی_اقدار ' یہ دوسری قطار میں موجود تمام اقدار تک رسائی حاصل کرے گا:

نئی_اقدار = tens2 [ 1 ]

پرنٹ کریں ( 'دوسری قطار کی قدریں:' , نئی_اقدار )

نیچے دیے گئے آؤٹ پٹ میں، ٹینسر کی دوسری قطار میں موجود تمام اقدار تک کامیابی سے رسائی حاصل کی گئی ہے۔

آئیے ایک اور مثال لیتے ہیں جس میں ہم ٹینسر کے تیسرے کالم کی ویلیو تک رسائی حاصل کریں گے۔ ایسا کرنے کے لیے، وضاحت کریں ' [:، 2] 'انڈیکس:

new_values2 = tens2 [ : , 2 ]

پرنٹ کریں ( 'تیسرے کالم کی قدریں:' , new_values2 )

اس نے کامیابی کے ساتھ ٹینسر کے تیسرے کالم کی اقدار تک رسائی حاصل کی ہے اور ظاہر کیا ہے:

مرحلہ 4: سلائسنگ کا استعمال کرتے ہوئے ٹینسر کی قدروں میں ترمیم کریں۔

ٹینسر کی مخصوص قدروں میں ترمیم کرنے کے لیے، انڈیکس کی وضاحت کریں اور نئی قدر مختص کریں۔ یہاں، ہم ٹینسر میں دوسری قطار کی تمام اقدار کو تبدیل کر رہے ہیں۔ اس کے لیے ہم نے ' [1] 'انڈیکس اور نئی قدریں مختص کریں:

tens2 [ 1 ] = ٹارچ ٹینسر ( [ 30 , 60 , 90 ] )

پرنٹ کریں ( 'ترمیم شدہ ٹینسر:' , tens2 )

نیچے دیے گئے آؤٹ پٹ کے مطابق، ٹینسر کی دوسری قطار کی تمام اقدار کو کامیابی سے تبدیل کر دیا گیا ہے:

ہم نے PyTorch میں ٹینسر کی اقدار تک رسائی اور ان میں ترمیم کرنے کے موثر طریقوں کی وضاحت کی ہے۔

نوٹ : آپ اس پر ہماری گوگل کولاب نوٹ بک تک رسائی حاصل کر سکتے ہیں۔ لنک .

نتیجہ

PyTorch میں ٹینسر کی اقدار یا مواد کو حاصل کرنے اور اس میں ترمیم کرنے کے لیے، پہلے 'ٹارچ' لائبریری کو درآمد کریں۔ پھر، مطلوبہ ٹینسر بنائیں۔ اگلا، ٹینسر کی مطلوبہ اقدار تک رسائی اور ان میں ترمیم کرنے کے لیے اشاریہ سازی یا سلائسنگ کے طریقے استعمال کریں۔ اس کے لیے بالترتیب اشاریہ جات کی وضاحت کریں اور ٹینسر کی رسائی شدہ اور تبدیل شدہ قدریں دکھائیں۔ اس بلاگ نے PyTorch میں ٹینسر کی اقدار تک رسائی اور ان میں ترمیم کرنے کے طریقوں کی وضاحت کی ہے۔