प्रौद्योगिकी साझेदारी

पायटोर्चस्य अक्षस्य अवगमनम्

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

import torch
x = torch.arange(16).reshape(1,4,4)
print(x)
print('--------')
a = x.sum(axis = 1,keepdim=True)
a2 = x.sum(axis = 1,keepdim=False)
a3 = x.sum(axis = 0,keepdim=True)
a4 = x.sum(axis = 0,keepdim=False)
a5 = x.sum(axis = 2,keepdim=True)
print(a)
print(a2)
print('----------')
print(a3)
print(a4)
print(a5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
 import torch
x = torch.arange(16).reshape(4,4)
print(x)
print('--------')
a = x.sum(axis = 1,keepdim=True)
a2 = x.sum(axis = 1,keepdim=False)
print(a)
print(a2)
print(x/a) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

एतयोः उदाहरणयोः संयोजनेन भिन्न-भिन्न-परिस्थितौ अक्ष-परिवर्तनानि विस्तरेण व्याख्यातव्यानि ।
PyTorch इत्यस्मिन् विशिष्टाक्षेषु टेन्सर-उपरि आयामात्मक-क्रियाः अवगन्तुं तथा च समीकरणं कर्तुं किञ्चित् समयः अवश्यं भवति । एतानि क्रियाणि द्वयोः उदाहरणयोः माध्यमेन पदे पदे विश्लेषणं कुर्मः, भिन्न-भिन्न-स्थितौ अक्ष-परिवर्तनानि विस्तरेण व्याख्यास्यामः ।

प्रथमं उदाहरणम्

import torch
x = torch.arange(16).reshape(1, 4, 4)
print(x)
print('--------')
a = x.sum(axis=1, keepdim=True)
a2 = x.sum(axis=1, keepdim=False)
a3 = x.sum(axis=0, keepdim=True)
a4 = x.sum(axis=0, keepdim=False)
a5 = x.sum(axis=2, keepdim=True)
print(a)
print(a2)
print('----------')
print(a3)
print(a4)
print(a5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
प्रारम्भिक टेन्सर
tensor([[[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11],
         [12, 13, 14, 15]]])
  • 1
  • 2
  • 3
  • 4

अस्य आकारः (1, 4, 4) टेन्सरस्य । वयं तत् 4x4 मैट्रिक्सयुक्तं बैच् इति चिन्तयितुं शक्नुमः ।

अक्षेण सह योगः १
  1. x.sum(axis=1, keepdim=True)

अक्षे १ (अर्थात् द्वितीयपरिमाणस्य दिशा, ४) सह योगं कुर्वन्तु, परिमाणान् स्थापयित्वा ।

tensor([[[24, 28, 32, 36]]])
  • 1

आकारः भवति (1, 1, 4)

  1. x.sum(axis=1, keepdim=False)

अक्षे १ सह योगः, कोऽपि आयामत्वं न संरक्षितम् ।

tensor([[24, 28, 32, 36]])
  • 1

आकारः भवति (1, 4)

अक्ष 0 सह योग
  1. x.sum(axis=0, keepdim=True)

अक्षे 0 (अर्थात् प्रथमपरिमाणस्य दिशा, 1) सह योगं कुर्वन्तु, आयामान् स्थापयित्वा ।

tensor([[[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11],
         [12, 13, 14, 15]]])
  • 1
  • 2
  • 3
  • 4

यतो हि मूल टेन्सरस्य अक्षे ० मध्ये एकः एव तत्त्वः भवति, परिणामः मूल टेन्सरस्य समानः भवति, आकारेण सह (1, 4, 4)

  1. x.sum(axis=0, keepdim=False)

0 अक्षेण सह योगः, आयामत्वं न संरक्षितम् ।

tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11],
        [12, 13, 14, 15]])
  • 1
  • 2
  • 3
  • 4

आकारः भवति (4, 4)

अक्षेण सह योगः २
  1. x.sum(axis=2, keepdim=True)

अक्षे २ (अर्थात् तृतीयपरिमाणं, ४ इत्यस्य दिशा) सह योगं कुरुत, परिमाणान् धारयन् ।

tensor([[[ 6],
         [22],
         [38],
         [54]]])
  • 1
  • 2
  • 3
  • 4

आकारः भवति (1, 4, 1)

मुख्य बिन्दु
  • keepdim=True योगिताः आयामाः स्थापिताः भविष्यन्ति, परिणामस्य आयामानां संख्या अपरिवर्तिता एव तिष्ठति, परन्तु योगितानां आयामानां आकारः १ भवति ।
  • keepdim=False योगिताः आयामाः निष्कासिताः भविष्यन्ति, परिणामे आयामानां संख्या १ न्यूनीकरिष्यते ।

द्वितीयं उदाहरणम्

import torch
x = torch.arange(16).reshape(4, 4)
print(x)
print('--------')
a = x.sum(axis=1, keepdim=True)
a2 = x.sum(axis=1, keepdim=False)
print(a)
print(a2)
print(x/a)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
प्रारम्भिक टेन्सर
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11],
        [12, 13, 14, 15]])
  • 1
  • 2
  • 3
  • 4

अस्य आकारः (4, 4) टेन्सरस्य ।

अक्षेण सह योगः १
  1. x.sum(axis=1, keepdim=True)

अक्षे १ (अर्थात् द्वितीयपरिमाणस्य दिशा, ४) सह योगं कुर्वन्तु, परिमाणान् स्थापयित्वा ।

tensor([[ 6],
        [22],
        [38],
        [54]])
  • 1
  • 2
  • 3
  • 4

आकारः भवति (4, 1)

  1. x.sum(axis=1, keepdim=False)

अक्षे १ सह योगः, कोऽपि आयामत्वं न संरक्षितम् ।

tensor([ 6, 22, 38, 54])
  • 1

आकारः भवति (4,)

पङ्क्तियोगेन विभक्ताः तत्त्वानि
  1. x / a
tensor([[0.0000, 0.1667, 0.3333, 0.5000],
        [0.1818, 0.2273, 0.2727, 0.3182],
        [0.2105, 0.2368, 0.2632, 0.2895],
        [0.2222, 0.2407, 0.2593, 0.2778]])
  • 1
  • 2
  • 3
  • 4

एषः प्रत्येकस्य तत्त्वस्य तस्य तत्सम्बद्धपङ्क्तौ विभक्तस्य योगः भवति, यस्य परिणामः भवति यत् -

tensor([[ 0/6,  1/6,  2/6,  3/6],
        [ 4/22,  5/22,  6/22,  7/22],
        [ 8/38,  9/38, 10/38, 11/38],
        [12/54, 13/54, 14/54, 15/54]])
  • 1
  • 2
  • 3
  • 4

अक्षस्य परिमाणस्य च परिवर्तनस्य सारांशः

  • अक्ष=0: प्रथमपरिमाणेन (पङ्क्तौ) कार्यं कुर्वन्तु, अन्यपरिमाणानां योगः योगानन्तरं अवशिष्यते ।
  • अक्ष=1: द्वितीय-आयामस्य (स्तम्भस्य) सह कार्यं करोति, प्रथम-तृतीय-आयामयोः योगः योगस्य अनन्तरं अवशिष्यते ।
  • अक्ष=2: तृतीयपरिमाणेन (गहनतायाः) सह कार्यं कुर्वन् प्रथमद्वयस्य आयामस्य योगः योगानन्तरं अवशिष्यते ।

उपयुञ्जताम्‌ keepdim=True आयामान् निर्वाहयन्ते सति योगितपरिमाणः १ भवति ।उपयुञ्जताम्‌keepdim=False यदा , समाहिताः आयामाः निष्कासिताः भवन्ति ।

शङ्का:

पुनः आकारस्य(1, 4, 4) प्रयोगे स्तम्भस्य स्थाने पङ्क्तयः किमर्थं सूचीबद्धाः भवन्ति?

टेन्सर संरचना

प्रथमं मूलभूतसंकल्पनानां समीक्षां कुर्मः : १.

  • 2D टेन्सर (मैट्रिक्स) 1.1.: पङ्क्तयः स्तम्भाः च सन्ति।
  • 3D टेन्सर: एतत् बहुभिः द्वि-आयामी-मात्रिकैः निर्मितं भवति, "गहनता"-आयाम-युक्तानां मैट्रिक्स-समूहः इति गणयितुं शक्यते ।

उदाहरणम् १ : द्विविमीय टेन्सर (4, 4)

import torch
x = torch.arange(16).reshape(4, 4)
print(x)
  • 1
  • 2
  • 3

उत्पादनम् : १.

tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11],
        [12, 13, 14, 15]])
  • 1
  • 2
  • 3
  • 4

अस्य टेन्सरस्य आकारः अस्ति (4, 4), एकं 4x4 आकृतिं प्रतिनिधियति:

  • अस्तुक्षैतिजः अस्ति : १.

    • रेखा ० : १. [ 0, 1, 2, 3]
    • पङ्क्तिः १ : १. [ 4, 5, 6, 7]
    • पङ्क्तिः २ : १. [ 8, 9, 10, 11]
    • पङ्क्तिः ३ : १. [12, 13, 14, 15]
  • सूचीऊर्ध्वाधरः अस्ति : १.

    • स्तम्भः ० : १. [ 0, 4, 8, 12]
    • स्तम्भः १ : १. [ 1, 5, 9, 13]
    • स्तम्भः २ : १. [ 2, 6, 10, 14]
    • स्तम्भः ३ : १. [ 3, 7, 11, 15]

उदाहरणम् २ : त्रिविमीय टेन्सर (1, 4, 4)

x = torch.arange(16).reshape(1, 4, 4)
print(x)
  • 1
  • 2

उत्पादनम् : १.

tensor([[[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11],
         [12, 13, 14, 15]]])
  • 1
  • 2
  • 3
  • 4

अस्य टेन्सरस्य आकारः अस्ति (1, 4, 4), एकं 1x4x4 त्रिविमीयं टेन्सरं प्रतिनिधियति :

  • प्रथमः आयामः अस्ति 1, बैच आकारं सूचयति ।
  • द्वितीयः आयामः इति 4, पङ्क्तिसङ्ख्यां (प्रतिमात्रिकं पङ्क्तयः) प्रतिनिधियति ।
  • तृतीयः आयामः इति 4, स्तम्भानां संख्यां (प्रत्येकस्य आकृतिस्य स्तम्भाः) प्रतिनिधियति ।

अक्षेण सह योगस्य व्याख्या

अक्ष 1 (द्वितीय आयाम) 1.1.
  1. द्विविधस्य टेन्सरस्य कृते (4, 4)
a = x.sum(axis=1, keepdim=True)
print(a)
  • 1
  • 2

उत्पादनम् : १.

tensor([[ 6],
        [22],
        [38],
        [54]])
  • 1
  • 2
  • 3
  • 4
  • अक्षः १ पङ्क्तिनां दिशा भवति, प्रत्येकस्य पङ्क्तिस्य तत्त्वानि च योगिताः भवन्ति :
    • [0, 1, 2, 3] => 0+1+2+3 = 6
    • [4, 5, 6, 7] => 4+5+6+7 = 22
    • [8, 9, 10, 11] => 8+9+10+11 = 38
    • [12, 13, 14, 15] => 12+13+14+15 = 54
  1. त्रिविम-तनावानां कृते (1, 4, 4)
a = x.sum(axis=1, keepdim=True)
print(a)
  • 1
  • 2

उत्पादनम् : १.

tensor([[[24, 28, 32, 36]]])
  • 1
  • अक्षः १ प्रथममात्रिकायाः ​​पङ्क्तिदिशा अस्ति । प्रत्येकस्य पङ्क्तिस्य तत्त्वानि योगं कुर्वन्तु : १.
    • [0, 1, 2, 3] + [4, 5, 6, 7] + [8, 9, 10, 11] + [12, 13, 14, 15]
    • प्रतिस्तम्भ योगः २४ = ०+४+८+१२, २८ = १+५+९+१३, ३२ = २+६+१०+१४, ३६ = ३+७+११+१५

"पङ्क्तयः स्तम्भाः भवन्ति" इव किमर्थं दृश्यते।

अस्ति (1, 4, 4) त्रिविम-टेन्सर-मध्ये प्रथमः आयामः बैच-आकारं प्रतिनिधियति, अतः इदं प्रतीयते यत् प्रत्येकं 4x4-मात्रिकं अद्यापि संचालनकाले द्वि-आयामी-रीत्या संसाधितं भवति परन्तु बैच-आयामः योजितः इति कारणतः योग-क्रियायां द्वि-आयामी-टेन्सर-इत्यस्मात् भिन्नं व्यवहारं करोति ।

विशेषतः : १.

  • अक्ष 1 (द्वितीय आयाम) सह योगं कुर्वन् वयं प्रत्येकस्य आकृतिस्य पङ्क्तयः योगं कुर्मः ।
  • अक्ष 0 (प्रथम आयाम) सह योगं कुर्वन् वयं बैच आयामानां योगं कुर्मः ।

सारांशं कुरुत

  • 2D टेन्सर: पङ्क्तिस्तम्भयोः अवधारणाः सहजज्ञानयुक्ताः सन्ति।
  • 3D टेन्सर: बैच-आयामस्य परिचयस्य अनन्तरं पङ्क्ति-स्तम्भ-सञ्चालनानि भिन्नानि दृश्यन्ते, परन्तु वस्तुतः ते अद्यापि प्रत्येकस्मिन् द्वि-आयामी-मात्रिकायां कार्यं कुर्वन्ति ।
  • अक्षेण सह योगं कुर्वन् योगस्य परिमाणानां अवगमनं कुञ्जी भवति ।