آموزش Pytorch (قسمت دوم)

در قسمت اول آموزش با مفهوم pytorch و کاربرد آن آشنا شدین در این قسمت به ادامه مطالب خواهیم پرداخت.
اولین تنسور خود را بسازید
بیایید ببینیم چگونه می توانیم یک تنسور PyTorch ایجاد کنیم. ابتدا PyTorch را فراخوانی خواهیم کرد.
ما می توانیم به طور مشابه، تنسور را با مقادیر سفارشی ایجاد کنیم، همانطور که در زیر نشان داده شده است.
در تمام موارد فوق ، ما بردارها یا تنسورهای یک بُعدی ایجاد کردیم. اکنون ، بیایید چند تنسور از ابعاد بالاتر ایجاد کنیم.
ما همچنین می توانیم با استفاده از روش .shape شکل تنسور را پیدا کنیم.
دسترسی به یک عنصر در تنسور
اکنون که چند تنسور ایجاد کردیم ، بیایید ببینیم که چگونه می توانیم به یک عنصر در یک تنسور دسترسی پیدا کنیم. ابتدا بیایید ببینیم چگونه این کار را برای بردار تنسور یک بُعدی انجام می دهیم.
در مورد تنسور دو بُعدی یا سه بُعدی چطور؟ آنچه را که ما در قسمت قبلی در مورد بُعد یک تنسور ذکر کردیم را به یاد بیاورید. برای دسترسی به یک عنصر خاص در یک تنسور ، باید شاخص هایی مثل بُعد تنسور را مشخص کنیم. به همین دلیل برای تنسور c فقط باید یک شاخص را مشخص کنیم.
اما اگر بخواهید به یک ردیف کامل در یک تنسور دو بُعدی دسترسی پیدا کنید ، چه می کنید؟ ما می توانیم به همان نحوی که در آرایه های NumPy استفاده می کنیم استفاده کنیم.
تشیخص نوع داده از عناصر
هر زمان که یک تنسور ایجاد کنیم ، PyTorch نوع داده عناصر تنسور را به گونه ای تعیین می کند که نوع داده بتواند همه عناصر تنسور را پوشش دهد. ما می توانیم با ایجاد نوع داده هنگام ایجاد تنسور ، این مورد را نادیده بگیریم.
تنسور به / از آرایه NumPy
هر زمان که یک تنسور ایجاد کنیم ، PyTorch نوع داده عناصر تنسور را به گونه ای تعیین می کند که نوع داده بتواند همه عناصر تنسور را پوشش دهد. ما می توانیم با ایجاد نوع داده هنگام ایجاد تنسور ، این مورد را نادیده بگیریم.
ما بارها اشاره کردیم که آرایه های PyTorch Tensors و NumPy کاملاً شبیه به هم هستند. این سوال زمانی ایجاد می شود که امکان تبدیل یک ساختار داده به ساختار دیگر وجود داشته باشد. بیایید ببینیم که چگونه می توانیم این کار را انجام دهیم.
عملیات حسابی روی تنسورها
اکنون زمان گام بعدی است. بیایید ببینیم که چگونه می توانیم روی تنسور های PyTorch عملیات حسابی انجام دهیم.
تنسور CPU و GPU
PyTorch برای CPU و GPU ، اجرای متفاوتی از تنسور دارد. برای انجام محاسبات سنگین موازی و سریع می توان هر تنسوری را به GPU تبدیل کرد. تمام عملیاتی که روی تنسور انجام می شود با استفاده از روال های خاص GPU از طریق PyTorch انجام می شود.
اگر به GPU دسترسی ندارید ، می توانید این مثال ها را در Google Colab انجام دهید و زمان اجرا را روی GPU انتخاب کنید.
ابتدا بیایید ببینیم که چگونه می توان یک تنسور برای GPU ایجاد کرد.
اگر از Google Colab استفاده می کنید ، در گوشه بالا سمت راست روی RAM consumption meter کلیک کنید و به محض ایجاد tensor_gpu ، شاهد افزایش مصرف GPU RAM خواهید بود.
درست مانند عملیات ایجاد تنسور ، عملیات انجام شده برای تنسورهای CPU و GPU نیز متفاوت است و RAM را مطابق با دستگاه مشخص شده مصرف می کند.
نکته کلیدی که در اینجا باید به آن توجه شود این است که هیچ اطلاعاتی در عملیات تنسور GPU به CPU منتقل نمی شود (مگر اینکه ما تنسور را چاپ کنیم یا به آن دسترسی پیدا کنیم).
همانطور که در زیر نشان داده شده است ، می توانیم تنسور GPU را به CPU و بالعکس منتقل کنیم.
و تمام !
به عنوان یک جمع بندی سریع ، در این آموزش ما در مورد PyTorch ، منحصر به فرد بودن آن و اینکه چرا باید آن را یاد بگیرید بحث کردیم. همچنین بطور مفصل به روند کار PyTorch و نوع داده تنسور PyTorch پرداختیم.
در پست آموزشی بعدی خواهیم دید که چگونه می توان با کمک TorchVision از مدل های از قبل آموزش دیده استفاده کرد.
دیدگاهتان را بنویسید