Swift for TensorFlow: پلتفرمی برای کدنویسی مدل‌های یادگیری ماشینی با زبان سوئیفت

Swift for TensorFlow: پلتفرمی برای کدنویسی مدل‌های یادگیری ماشینی با زبان سوئیفت

Swift for TensorFlow پلتفرمی است که از آن طریق دولوپرها قادر خواهند بود تا با ترکیب ویژگی‌های زبان برنامه‌نویسی Swift و قابلیت‌های لایبرری TensorFlow، مدل‌های مبتنی بر یادگیری ماشینی توسعه دهند و این در حالی است که دستورات نوشته شده به صورت خودکار توسط کامپایلر سوئیفت به شکل یک گراف تنسورفلو تبدیل شده و به منزلۀ یک مرحله اضافی در کامپایلر است که از تحلیل استاتیک کدها برای مشخص کردن دستورات تنسور استفاده می‌کند و آن‌ها را در یک گراف TensorFlow تقسیم‌بندی می‌کند. در نهایت، کدها با استفاده از تمام توان TensorFlow Session API، روی حافظه‌های CPU، GPU و TPU اجرا خواهند شد.

این مدل برنامه‌نویسی انعطاف‌پذیر در یادگیری ماشینی، مدل اجرای Eager Execution در سوئیفت را با عملکرد بالای گراف‌ها و سِشِن‌ها در تنسورفلو ترکیب می‌کند (در اجرای برنامه به شیوۀ Eager Execution، دستورات در صورت فراخوانی از پایتون به سرعت اجرا خواهند شد؛ به عبارت دیگر، سوئیفت کدهای لایبرری تنسور را آنالیز کرده و به صورت خودکار گراف مد نظر را برای دولوپرها تولید می‌کند.)

همچنین تایپ ارورها و ناسازگاری‌های موجود در گراف را قبل از اجرای آن مشخص کرده و قابلیت ایمپورت کردن هرگونه لایبرری پایتون و همچنین قابلیت Automatic Differentiation را نیز دارا است (Automatic Differentiation راه‌حلی برای بهینه‌سازی محاسبات با گرادیانت بالا است و یکی از ویژگی‌های کلیدی لایبرری تنسورفلو است که بیشتر بر گراف برنامه‌های فانکشنال تنسور اعمال می‌شود.)



اکرم امراه‌نژاد