logo

torch.nn في PyTorch

توفر PyTorch وحدة torch.nn لمساعدتنا في إنشاء الشبكة العصبية وتدريبها. سنقوم أولاً بتدريب الشبكة العصبية الأساسية على مجموعة بيانات MNIST دون استخدام أي ميزات من هذه النماذج. سنستخدم فقط وظيفة موتر PyTorch الأساسية ثم سنضيف ميزة واحدة تدريجيًا من torch.nn في كل مرة.

يوفر لنا torch.nn العديد من الفصول والوحدات النمطية لتنفيذ وتدريب الشبكة العصبية.

تحتوي الحزمة nn على الوحدات والفئات التالية:

نعم / لا الطبقة والوحدة وصف
1. torch.nn.Parameter إنه نوع من الموتر الذي يجب اعتباره معلمة وحدة.
2. حاويات
1) torch.nn.Module إنها فئة أساسية لجميع وحدات الشبكة العصبية.
2) torch.nn.Sequential إنها حاوية تسلسلية ستتم إضافة الوحدات فيها بنفس الترتيب الذي تم تمريرها فيه في المُنشئ.
3) torch.nn.ModuleList سيؤدي هذا إلى الاحتفاظ بالوحدات الفرعية في القائمة.
4) torch.nn.ModuleDict سيحتوي هذا على وحدات فرعية في الدليل.
5) torch.nn.ParameterList سيحتفظ هذا بالمعلمات في القائمة.
6) torch.nn.parameterDict سيحتفظ هذا بالمعلمات في الدليل.
3. طبقات الالتواء
1) torch.nn.Conv1d سيتم استخدام هذه الحزمة لتطبيق التفاف أحادي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
2) torch.nn.Conv2d سيتم استخدام هذه الحزمة لتطبيق التفاف ثنائي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
3) torch.nn.Conv3d سيتم استخدام هذه الحزمة لتطبيق التفاف ثلاثي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
4) torch.nn.ConvTranspose1d سيتم استخدام هذه الحزمة لتطبيق مشغل الالتواء المنقول 1D على صورة إدخال مكونة من عدة مستويات إدخال.
5) torch.nn.ConvTranspose2d سيتم استخدام هذه الحزمة لتطبيق عامل الالتواء المنقول ثنائي الأبعاد على صورة إدخال مكونة من عدة مستويات إدخال.
6) torch.nn.ConvTranspose3d سيتم استخدام هذه الحزمة لتطبيق عامل الالتواء ثلاثي الأبعاد على صورة إدخال مكونة من عدة مستويات إدخال.
7) torch.nn.تتكشف يتم استخدامه لاستخراج الكتل المحلية المنزلقة من موتر الإدخال المجمع.
8) torch.nn.Fold يتم استخدامه لدمج مجموعة من الكتل المحلية المنزلقة في موتر كبير يحتوي على.
4. طبقات التجميع
1) torch.nn.MaxPool1d يتم استخدامه لتطبيق تجميع 1D max على إشارة دخل مكونة من عدة مستويات إدخال.
2) torch.nn.MaxPool2d يتم استخدامه لتطبيق تجميع ثنائي الأبعاد كحد أقصى على إشارة دخل مكونة من عدة مستويات إدخال.
3) torch.nn.MaxPool3d يتم استخدامه لتطبيق تجميع ثلاثي الأبعاد كحد أقصى على إشارة دخل مكونة من عدة مستويات إدخال.
4) torch.nn.MaxUnpool1d يتم استخدامه لحساب المعكوس الجزئي لـ MaxPool1d.
5) torch.nn.MaxUnpool2d يتم استخدامه لحساب المعكوس الجزئي لـ MaxPool2d.
6) torch.nn.MaxUnpool3d يتم استخدامه لحساب المعكوس الجزئي لـ MaxPool3d.
7) torch.nn.AvgPool1d يتم استخدامه لتطبيق تجميع متوسط ​​1D على إشارة دخل مكونة من عدة مستويات إدخال.
8) torch.nn.AvgPool2d يتم استخدامه لتطبيق تجميع متوسط ​​ثنائي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
9) torch.nn.AvgPool3d يتم استخدامه لتطبيق تجميع متوسط ​​ثلاثي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
10) torch.nn.FractionalMaxPool2d يتم استخدامه لتطبيق تجميع أقصى كسري ثنائي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
11) torch.nn.LPPool1d يتم استخدامه لتطبيق تجميع متوسط ​​القدرة 1D على إشارة دخل مكونة من عدة مستويات إدخال.
12) torch.nn.LPPool2d يتم استخدامه لتطبيق تجميع متوسط ​​القدرة ثنائي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
13) torch.nn.AdavtiveMaxPool1d يتم استخدامه لتطبيق التجميع التكيفي الأقصى 1D على إشارة دخل مكونة من عدة مستويات إدخال.
14) torch.nn.AdavtiveMaxPool2d يتم استخدامه لتطبيق التجميع التكيفي الأقصى ثنائي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
15) torch.nn.AdavtiveMaxPool3d يتم استخدامه لتطبيق تجميع أقصى تكيفي ثلاثي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
16) torch.nn.AdavtiveAvgPool1d يتم استخدامه لتطبيق تجميع متوسط ​​تكيفي 1D على إشارة دخل مكونة من عدة مستويات إدخال.
17) torch.nn.AdavtiveAvgPool2d يتم استخدامه لتطبيق تجميع متوسط ​​تكيفي ثنائي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
18) torch.nn.AdavtiveAvgPool3d يتم استخدامه لتطبيق تجميع متوسط ​​تكيفي ثلاثي الأبعاد على إشارة دخل مكونة من عدة مستويات إدخال.
5. طبقات الحشو
1) torch.nn.ReflectionPad1d سوف يقوم بتوسيع موتر الإدخال باستخدام انعكاس حدود الإدخال.
2) torch.nn.ReflactionPad2d سوف يقوم بتوسيع موتر الإدخال باستخدام انعكاس حدود الإدخال.
3) torch.nn.ReplicationPad1 سوف يقوم بتوسيع موتر الإدخال باستخدام تكرار حدود الإدخال.
4) torch.nn.ReplicationPad2d سوف يقوم بتوسيع موتر الإدخال باستخدام تكرار حدود الإدخال.
5) torch.nn.ReplicationPad3d سوف يقوم بتوسيع موتر الإدخال باستخدام تكرار حدود الإدخال.
6) torch.nn.ZeroPad2d وسوف وسادة حدود موتر الإدخال مع الصفر.
7) torch.nn.ConstantPad1d سوف يقوم بتوسيع حدود موتر الإدخال بقيمة ثابتة.
8) torch.nn.ConstantPad2d سوف يقوم بتوسيع حدود موتر الإدخال بقيمة ثابتة.
9) torch.nn.ConstantPad3d سوف يقوم بتوسيع حدود موتر الإدخال بقيمة ثابتة.
6. التنشيط غير الخطي (المجموع المرجح، غير الخطي)
1) torch.nn.ELU سيتم استخدامه لتطبيق الوظيفة الحكيمة:
ELU(x)=max(0,x)+min(0,α*(exp(x)-1))
2) torch.nn.Hardshrink سيتم استخدامه لتطبيق وظيفة عنصر الانكماش الثابت:
torch.nn في PyTorch
3) torch.nn.LeakyReLU سيتم استخدامه لتطبيق الوظيفة الحكيمة:
LeakyReLu(x)=max(0,x) +negative_slope*min(0,x)
4) torch.nn.LogSigmoid سيتم استخدامه لتطبيق الوظيفة الحكيمة:
torch.nn في PyTorch
5) torch.nn.MultiheadAttention يتم استخدامه للسماح للنموذج بحضور المعلومات من مساحات تمثيل فرعية مختلفة
6) torch.nn.PReLU سيتم استخدامه لتطبيق الوظيفة الحكيمة:
PReLU(x)=الحد الأقصى(0,x)+a*min(0,x)
7) torch.nn.ReLU سيتم استخدامه لتطبيق عنصر وظيفة الوحدة الخطية المصححة:
ReLU(x)=الحد الأقصى(0,x)
8) torch.nn.ReLU6 سيتم استخدامه لتطبيق الوظيفة الحكيمة:
ReLU6(x)=min(max(0,x),6)
9) torch.nn.RReLU سيتم استخدامه لتطبيق وظيفة الوحدة الخطية المصححة المتسربة العشوائية، من حيث العناصر، كما هو موضح في الورقة:
torch.nn في PyTorch
10) torch.nn.SELU سيتم استخدامه لتطبيق الوظيفة الحكيمة على النحو التالي:
SELU(x)=مقياس*(max(0,x)+ min(0,a*(exp(x)-1)))

هنا α= 1.6732632423543772848170429916717 والمقياس = 1.0507009873554804934193349852946.
11) torch.nn.TARGET سيتم استخدامه لتطبيق الوظيفة الحكيمة على النحو التالي:
torch.nn في PyTorch
12) torch.nn.السيني سيتم استخدامه لتطبيق الوظيفة الحكيمة على النحو التالي:
torch.nn في PyTorch
13) torch.nn.Softplus سيتم استخدامه لتطبيق الوظيفة الحكيمة على النحو التالي:
torch.nn في PyTorch
14) torch.nn.Softshrink سيتم استخدامه لتطبيق وظيفة الانكماش الناعم على النحو التالي:
torch.nn في PyTorch
15) torch.nn.Softsign سيتم استخدامه لتطبيق الوظيفة الحكيمة على النحو التالي:
torch.nn في PyTorch
16) الشعلة.ن.تانه سيتم استخدامه لتطبيق الوظيفة الحكيمة على النحو التالي:
torch.nn في PyTorch
17) torch.nn.Tanhshrink سيتم استخدامه لتطبيق الوظيفة الحكيمة على النحو التالي:
تنكمش(x)=x-تانه(x)
18) torch.nn.العتبة سيتم استخدامه لعتبات كل عنصر من عناصر موتر الإدخال. يتم تعريف العتبة على النحو التالي:
torch.nn في PyTorch
7. التنشيط غير الخطي (أخرى)
1) torch.nn.Softmin يتم استخدامه لتطبيق وظيفة softmin على Tensor المدخلات ذات الأبعاد n لإعادة قياسها. بعد ذلك، عناصر الخرج n الأبعاد Tensor تقع في النطاق 0، 1، ومجموعها 1. يتم تعريف Softmin على النحو التالي:
torch.nn في PyTorch
2) torch.nn.Softmax يتم استخدامه لتطبيق وظيفة softmax على Tensor المدخلات ذات الأبعاد n لإعادة قياسها. بعد ذلك، عناصر الخرج n الأبعاد Tensor تقع في النطاق 0، 1، ومجموعها 1. يتم تعريف Softmax على النحو التالي:
torch.nn في PyTorch
3) torch.nn.Softmax2d يتم استخدامه لتطبيق SoftMax على الميزات على كل موقع مكاني.
4) torch.nn.LogSoftmax يتم استخدامه لتطبيق وظيفة LogSoftmax على موتر الإدخال ذو الأبعاد n. يمكن تعريف وظيفة LofSoftmax على النحو التالي:
torch.nn في PyTorch
5) torch.nn.AdaptiveLogSoftmaxWithLoss إنها استراتيجية لنماذج التدريب ذات مساحات الإخراج الكبيرة. إنه فعال للغاية عندما يكون توزيع الملصقات غير متوازن إلى حد كبير
8. طبقات التطبيع
1) torch.nn.BatchNorm1d يتم استخدامه لتطبيق تسوية الدُفعات على مدخلات ثنائية أو ثلاثية الأبعاد.
torch.nn في PyTorch
2) torch.nn.BatchNorm2d يتم استخدامه لتطبيق التطبيع الدفعي على 4D.
torch.nn في PyTorch
3) torch.nn.BatchNorm3d يتم استخدامه لتطبيق تسوية الدُفعات على مدخلات 5D.
torch.nn في PyTorch
4) torch.nn.GroupNorm يتم استخدامه لتطبيق تطبيع المجموعة على مجموعة صغيرة من المدخلات.
torch.nn في PyTorch
5) torch.nn.SyncBatchNorm يتم استخدامه لتطبيق تطبيع الدُفعات على المدخلات ذات الأبعاد n.
torch.nn في PyTorch
6) torch.nn.InstanceNorm1d يتم استخدامه لتطبيق تسوية المثيل عبر إدخال ثلاثي الأبعاد.
torch.nn في PyTorch
7) torch.nn.InstanceNorm2d يتم استخدامه لتطبيق تسوية المثيل عبر إدخال رباعي الأبعاد.
torch.nn في PyTorch
8) torch.nn.InstanceNorm3d يتم استخدامه لتطبيق تسوية المثيل عبر إدخال 5D.
torch.nn في PyTorch
9) torch.nn.LayerNorm يتم استخدامه لتطبيق تسوية الطبقة على مجموعة صغيرة من المدخلات.
torch.nn في PyTorch
10) torch.nn.LocalResponseNorm يتم استخدامه لتطبيق تطبيع الاستجابة المحلية على إشارة الإدخال التي تتكون من عدة مستويات إدخال، حيث تحتل القناة البعد الثاني.
9. الطبقات المتكررة
1) torch.nn.RNN يتم استخدامه لتطبيق Elman RNN متعدد الطبقات مع tanh أو ReLU غير الخطية على تسلسل الإدخال. تحسب كل طبقة الوظيفة التالية لكل عنصر في تسلسل الإدخال:
حر=تانه(دهمسرهمح حرر-1ح ح)
2) torch.nn.LSTM يتم استخدامه لتطبيق RNN متعدد الطبقات للذاكرة طويلة المدى (LSTM) على تسلسل الإدخال. تحسب كل طبقة الوظيفة التالية لكل عنصر في تسلسل الإدخال:
torch.nn في PyTorch
3) torch.nn.GRU يتم استخدامه لتطبيق وحدة متكررة متعددة الطبقات (GRU) RNN على تسلسل الإدخال. تحسب كل طبقة الوظيفة التالية لكل عنصر في تسلسل الإدخال:
torch.nn في PyTorch
4) torch.nn.RNNCell يتم استخدامه لتطبيق خلية Elman RNN ذات اللاخطية tanh أو ReLU على تسلسل الإدخال. تحسب كل طبقة الوظيفة التالية لكل عنصر في تسلسل الإدخال:
ح'=تانه(دهمس+بهمح حح + بح ح)
يتم استخدام ReLU بدلاً من tanh
5) torch.nn.LSTMCell يتم استخدامه لتطبيق خلية ذاكرة طويلة المدى (LSTM) على تسلسل الإدخال. تحسب كل طبقة الوظيفة التالية لكل عنصر في تسلسل الإدخال:
torch.nn في PyTorch
حيث σ هي الدالة السيني و * هي منتج هادامارد.
6) torch.nn.GRUCell يتم استخدامه لتطبيق خلية وحدة متكررة (GRU) على تسلسل الإدخال. تحسب كل طبقة الوظيفة التالية لكل عنصر في تسلسل الإدخال:
torch.nn في PyTorch
10. الطبقات الخطية
1) torch.nn.Identity إنه عامل هوية نائب وهو غير حساس للوسيطات.
2) torch.nn.خطي يتم استخدامه لتطبيق تحويل خطي على البيانات الواردة:
ص=سأت
3) torch.nn.Bilinear يتم استخدامه لتطبيق تحويل ثنائي على البيانات الواردة:
ص=س1فأس2
أحد عشر. طبقات التسرب
1) torch.nn.التسرب يتم استخدامه لتنظيم ومنع التكيف المشترك للخلايا العصبية. عامل من torch.nn في PyTorchخلال التدريب جداول الإخراج. وهذا يعني أن الوحدة تحسب وظيفة الهوية أثناء التقييم.
2) torch.nn.Dropout2d إذا كانت وحدات البكسل المتجاورة ضمن خرائط الميزات مرتبطة، فلن يقوم torch.nn.Dropout بتنظيم عمليات التنشيط، وسيؤدي إلى تقليل معدل التعلم الفعال. في هذه الحالة، يتم استخدام torch.nn.Dropout2d() لتعزيز الاستقلال بين خرائط الميزات.
3) torch.nn.Dropout3d إذا كانت وحدات البكسل المتجاورة ضمن خرائط الميزات مرتبطة، فلن يقوم torch.nn.Dropout بتنظيم عمليات التنشيط، وسيؤدي إلى تقليل معدل التعلم الفعال. في هذه الحالة، يتم استخدام torch.nn.Dropout2d () لتعزيز الاستقلال بين خرائط المعالم.
4) torch.nn.AlphaDropout يتم استخدامه لتطبيق Alpha Dropout على الإدخال. Alpha Dropout هو نوع من Dropout يحافظ على خاصية التطبيع الذاتي.
12. طبقات متفرقة
1) torch.nn.التضمين يتم استخدامه لتخزين تضمين الكلمات واسترجاعها باستخدام المؤشرات. مدخلات الوحدة عبارة عن قائمة من المؤشرات، والإخراج هو تضمين الكلمات المقابلة.
2) torch.nn.EmbeddingBag يتم استخدامه لحساب مجموع أو متوسط ​​'أكياس' التضمين دون إنشاء مثيل للتضمين المتوسط.
13. وظيفة المسافة
1) torch.nn.CosineSimilarity سيعيد تشابه جيب التمام بين x1 وx2، المحسوب على طول خافت.
torch.nn في PyTorch
2) torch.nn.PairwiseDistance يقوم بحساب المسافة الزوجية الدفعية بين المتجهات v1 وv2 باستخدام القاعدة p:
torch.nn في PyTorch
14. فقدان وظيفة
1) torch.nn.L1Loss يتم استخدامه لمعيار يقيس متوسط ​​الخطأ المطلق بين كل عنصر في الإدخال x والهدف y. ويمكن وصف الخسارة غير المخفضة على النحو التالي:
ل(س،ص)=L={ل1،...،لن},لن=|سنن
حيث N هو حجم الدفعة.
2) torch.nn.MSELoss يتم استخدامه لمعيار يقيس متوسط ​​الخطأ المربع بين كل عنصر في الإدخال x والهدف y. ويمكن وصف الخسارة غير المخفضة على النحو التالي:
ل(س،ص)=L={ل1،...،لن},لن=(سنن)2,
حيث N هو حجم الدفعة.
3) torch.nn.CrossEntropyLoss يجمع هذا المعيار بين nn.LogSoftmax() وnn.NLLLoss() في فئة واحدة. من المفيد أن نقوم بتدريب مشكلة التصنيف باستخدام فئات C.
4) torch.nn.CTCLoss تحسب خسارة التصنيف الزمني Connectionist الخسارة بين سلسلة زمنية مستمرة وتسلسل مستهدف.
5) torch.nn.NLLLoss يتم استخدام خسارة احتمال السجل السلبي لتدريب مشكلة التصنيف مع فئات C.
6) torch.nn.PoissonNLLLoss خسارة احتمال السجل السلبي مع توزيع بواسون لـ t
target~Poisson(input)loss(input,target)=input-target*log(target!)he target.
7) torch.nn.KLDivLoss إنه مقياس مسافة مفيد للتوزيع المستمر، كما أنه مفيد أيضًا عندما نقوم بإجراء الانحدار المباشر على مساحة توزيع المخرجات المستمر.
8) torch.nn.BCELoss يتم استخدامه لإنشاء معيار يقيس الانتروبيا الثنائية بين الهدف والمخرجات. ويمكن وصف الخسارة غير المخفضة على النحو التالي:
ل(س،ص)=L={ل1،...،لن},لن=-vنن*logxن+ (1-صن)*سجل(1-xن)]،
حيث N هو حجم الدفعة.
9) torch.nn.BCEWithLogitsLoss فهو يجمع بين طبقة السيني وBCELoss في فئة واحدة. يمكننا الاستفادة من خدعة log-sum-exp لتحقيق الاستقرار العددي من خلال دمج العملية في طبقة واحدة.
10) torch.nn.MarginRankingLoss يقوم بإنشاء معيار يقيس فقدان المدخلات المعطاة x1 وx2 وموترين دفعة صغيرة 1D وموتر دفعة صغيرة 1D y يحتوي على 1 أو -1. وظيفة الخسارة لكل عينة في الدفعة الصغيرة هي كما يلي:
الخسارة (x,y)=max(0,-y*(x1-x2)+الهامش
11) torch.nn.HingeEmbeddingLoss يقيس HingeEmbeddingLoss خسارة موتر الإدخال x وموتر التسميات y الذي يحتوي على 1 أو -1. يتم استخدامه لقياس ما إذا كان هناك مدخلين متشابهين أو مختلفين. يتم تعريف وظيفة الخسارة على النحو التالي:
torch.nn في PyTorch
12) torch.nn.MultiLabelMarginLoss يتم استخدامه لإنشاء معيار يعمل على تحسين فقدان المفصلة متعددة التصنيفات بين الإدخال x والإخراج y.
torch.nn في PyTorch
13) torch.nn.SmoothL1Loss يتم استخدامه لإنشاء معيار يستخدم مصطلحًا مربعًا إذا كان الخطأ المطلق من حيث العنصر أقل من 1 ومصطلح L1 بخلاف ذلك. ومن المعروف أيضًا باسم خسارة هوبر:
torch.nn في PyTorch
14) torch.nn.SoftMarginLoss يتم استخدامه لإنشاء معيار يعمل على تحسين الخسارة اللوجستية للتصنيف من فئتين بين موتر الإدخال x وموتر الهدف y الذي يحتوي على 1 أو -1.
torch.nn في PyTorch
15) torch.nn.MultiLabelSoftMarginLoss يتم استخدامه لإنشاء معيار يعمل على تحسين خسارة واحد مقابل الكل متعدد العلامات بناءً على الإنتروبيا القصوى بين الإدخال x والهدف y بالحجم (N، C).
torch.nn في PyTorch
16) torch.nn.CosineEmbeddingLoss يتم استخدامه لإنشاء معيار يقيس فقدان موترات الإدخال المعطاة x1 وx2 وتسمية الموتر y بالقيم 1 أو -1. يتم استخدامه لقياس ما إذا كان هناك مدخلين متشابهين أو مختلفين، باستخدام مسافة جيب التمام.
torch.nn في PyTorch
17) torch.nn.MultiMarginLoss يتم استخدامه لإنشاء معيار يعمل على تحسين فقدان مفصل التصنيف متعدد الفئات بين الإدخال x والإخراج y.
torch.nn في PyTorch
18) torch.nn.TripletMarginLoss يتم استخدامه لإنشاء معيار يقيس الخسارة الثلاثية لموترات المدخلات x1 وx2 وx3 وهامش بقيمة أكبر من 0. ويتم استخدامه لقياس التشابه النسبي بين العينات. يتكون الثلاثي من مرساة ومثال إيجابي ومثال سلبي.
L(أ،ص،ن)=الحد الأقصى{د(أأنا، صأنا)-د(أأنا،نأنا))+الهامش,0}
خمسة عشر. طبقات الرؤية
1) torch.nn.PixelShuffle يتم استخدامه لإعادة ترتيب العناصر في موتر الشكل (*,C×r2,H,W) إلى موتر الشكل (*,C,H×r,W,r)
2) torch.nn.Upsample يتم استخدامه لتجميع بيانات متعددة القنوات 1D أو 2D أو 3D.
3) torch.nn.upsamplingNearest2d يتم استخدامه لتطبيق تقريب أقرب جار ثنائي الأبعاد على إشارة الإدخال التي تتكون من قناة إدخال متعددة.
4) torch.nn.UpsamplingBilinear2d يتم استخدامه لتطبيق الاختزال ثنائي الأبعاد على إشارة الإدخال التي تتكون من قناة إدخال متعددة.
16. طبقات البيانات المتوازية (وحدة معالجة الرسومات المتعددة، الموزعة)
1) torch.nn.DataParallel يتم استخدامه لتنفيذ توازي البيانات على مستوى الوحدة.
2) torch.nn.DistributedDataParallel يتم استخدامه لتنفيذ توازي البيانات الموزعة، والذي يعتمد على حزمة torch.distributed على مستوى الوحدة.
3) torch.nn.DistributedDataParallelCPU يتم استخدامه لتنفيذ توازي البيانات الموزعة لوحدة المعالجة المركزية على مستوى الوحدة.
17. خدمات
1) torch.nn.clip_grad_norm_ يتم استخدامه لقص معيار التدرج للتكرار من المعلمات.
2) torch.nn.clip_grad_value_ يتم استخدامه لقص معيار التدرج للتكرار من المعلمات بالقيمة المحددة.
3) torch.nn.parameters_to_vector يتم استخدامه لتحويل المعلمات إلى متجه واحد.
4) torch.nn.vector_to_parameters يتم استخدامه لتحويل متجه واحد إلى المعلمات.
5) torch.nn.weight_norm يتم استخدامه لتطبيق تطبيع الوزن على معلمة في الوحدة المحددة.
6) torch.nn.remove_weight_norm يتم استخدامه لإزالة تطبيع الوزن وإعادة المعلمة من الوحدة النمطية.
7) torch.nn.spectral_norm يتم استخدامه لتطبيق التطبيع الطيفي على معلمة في الوحدة النمطية المحددة.
8) torch.nn.PackedSequence سيتم استخدامه للاحتفاظ بالبيانات وقائمة أحجام الدُفعات للتسلسل المعبأ.
9) torch.nn.pack_padded_sequence يتم استخدامه لحزم Tensor الذي يحتوي على تسلسلات مبطنة ذات طول متغير.
10) torch.nn.pad_packed_sequence يتم استخدامه لمنصات مجموعة معبأة من تسلسلات ذات أطوال متغيرة.
11) torch.nn.pad_sequence يتم استخدامه لحشو قائمة من Tensors ذات الطول المتغير بقيمة الحشو.
12) torch.nn.pack_sequence يتم استخدامه لحزم قائمة Tensors متغيرة الطول
13) torch.nn.remove_spectral_norm يتم استخدامه لإزالة التطبيع الطيفي وإعادة المعلمة من الوحدة النمطية.

مرجع:

https://pytorch.org/docs/stable/nn.html