کتابخانه Rust Burn برای یادگیری عمیق - KDnuggets

کتابخانه Rust Burn برای یادگیری عمیق – KDnuggets

گره منبع: 2326057

کتابخانه Rust Burn برای یادگیری عمیق
تصویر توسط نویسنده

Rust Burn یک چارچوب یادگیری عمیق جدید است که به طور کامل در زبان برنامه نویسی Rust نوشته شده است. انگیزه ایجاد یک چارچوب جدید به جای استفاده از چارچوب های موجود مانند PyTorch یا TensorFlow، ساختن یک چارچوب همه کاره است که به خوبی برای کاربران مختلف از جمله محققان، مهندسان یادگیری ماشین و مهندسان نرم افزار سطح پایین ارائه می شود.

اصول اصلی طراحی پشت Rust Burn انعطاف پذیری، عملکرد و سهولت استفاده است. 

انعطاف پذیری از توانایی اجرای سریع ایده های تحقیقاتی پیشرفته و اجرای آزمایشات ناشی می شود. 

عملکرد از طریق بهینه‌سازی‌هایی مانند استفاده از ویژگی‌های خاص سخت‌افزار مانند هسته‌های Tensor در پردازنده‌های گرافیکی Nvidia به دست می‌آید. 

سهولت استفاده از ساده‌سازی گردش کار آموزش، استقرار و اجرای مدل‌ها در تولید سرچشمه می‌گیرد.

ویژگی های کلیدی نرم افزار:

  • نمودار محاسباتی قابل انعطاف و پویا
  • ساختارهای داده ایمن موضوعی
  • انتزاعات بصری برای فرآیند توسعه ساده
  • عملکرد فوق العاده سریع در طول تمرین و استنتاج
  • پشتیبانی از پیاده سازی های پشتیبان متعدد برای هر دو CPU و GPU
  • پشتیبانی کامل از ورود به سیستم، متریک، و چک پوینت در طول آموزش
  • جامعه توسعه دهندگان کوچک اما فعال

نصب Rust

Burn یک چارچوب یادگیری عمیق قدرتمند است که بر اساس زبان برنامه نویسی Rust ساخته شده است. این نیاز به درک پایه ای از Rust دارد، اما هنگامی که آن را به پایان رساندید، می توانید از تمام ویژگی هایی که Burn ارائه می دهد استفاده کنید.

برای نصب آن با استفاده از یک رسمی راهنمایی. همچنین می توانید مراجعه کنید geeksforgeeks راهنمای نصب Rust در ویندوز و لینوکس با اسکرین شات. 

 

کتابخانه Rust Burn برای یادگیری عمیق
تصویر از Rust را نصب کنید

نصب Burn

برای استفاده از Rust Burn ابتدا باید Rust را روی سیستم خود نصب کنید. هنگامی که Rust به درستی راه اندازی شد، می توانید یک برنامه Rust جدید با استفاده از آن ایجاد کنید بار، مدیر بسته Rust.

دستور زیر را در دایرکتوری فعلی خود اجرا کنید: 

cargo new new_burn_app

 

به این دایرکتوری جدید بروید:

cd new_burn_app

 

در مرحله بعد، Burn را به عنوان یک وابستگی به همراه ویژگی باطن WGPU اضافه کنید که عملیات GPU را فعال می کند:

cargo add burn --features wgpu

 

در پایان پروژه را برای نصب Burn کامپایل کنید:

cargo build

 

این فریم ورک Burn را به همراه باطن WGPU نصب می کند. WGPU به Burn اجازه می دهد تا عملیات GPU سطح پایین را اجرا کند.

عنصر جمع عاقلانه

برای اجرای کد زیر باید محتوا را باز و جایگزین کنید src/main.rs

use burn::tensor::Tensor;
use burn::backend::WgpuBackend; // Type alias for the backend to use.
type Backend = WgpuBackend; fn main() { // Creation of two tensors, the first with explicit values and the second one with ones, with the same shape as the first let tensor_1 = Tensor::::from_data([[2., 3.], [4., 5.]]); let tensor_2 = Tensor::::ones_like(&tensor_1); // Print the element-wise addition (done with the WGPU backend) of the two tensors. println!("{}", tensor_1 + tensor_2);
}

 

در تابع اصلی، دو تانسور با باطن WGPU ایجاد کرده‌ایم و جمع را انجام داده‌ایم. 

برای اجرای کد باید اجرا کنید cargo run در ترمینال 

خروجی:

اکنون باید بتوانید نتیجه اضافه شدن را مشاهده کنید.

Tensor { data: [[3.0, 4.0], [5.0, 6.0]], shape: [2, 2], device: BestAvailable, backend: "wgpu", kind: "Float", dtype: "f32",
}

 

توجه داشته باشید: کد زیر نمونه ای از Burn Book است: شروع.

موقعیت ماژول Wise Feed Forward

در اینجا مثالی از آسان بودن استفاده از فریمورک آورده شده است. با استفاده از این قطعه کد، یک ماژول فید فوروارد مبتنی بر موقعیت و پاس رو به جلو آن را اعلام می کنیم.

use burn::nn;
use burn::module::Module;
use burn::tensor::backend::Backend; #[derive(Module, Debug)]
pub struct PositionWiseFeedForward<B: Backend> { linear_inner: Linear<B>, linear_outer: Linear<B>, dropout: Dropout, gelu: GELU,
} impl PositionWiseFeedForward<B> { pub fn forward(&self, input: Tensor<B, D>) -> Tensor<B, D> { let x = self.linear_inner.forward(input); let x = self.gelu.forward(x); let x = self.dropout.forward(x); self.linear_outer.forward(x) }
}

 

کد بالا از GitHub است مخزن.

پروژه های نمونه

برای آشنایی با نمونه‌های بیشتر و اجرای آن‌ها، آن را شبیه‌سازی کنید https://github.com/burn-rs/burn مخزن و پروژه های زیر را اجرا کنید:

مدل های از پیش آموزش دیده

برای ساخت اپلیکیشن هوش مصنوعی خود، می توانید از مدل های از پیش آموزش دیده زیر استفاده کنید و آنها را با مجموعه داده خود تنظیم کنید. 

Rust Burn یک گزینه جدید هیجان انگیز را در چشم انداز چارچوب یادگیری عمیق نشان می دهد. اگر قبلاً توسعه‌دهنده Rust هستید، می‌توانید از سرعت، ایمنی و همزمانی Rust استفاده کنید تا مرزهای امکان‌پذیر در تحقیق و تولید یادگیری عمیق را افزایش دهید. Burn به دنبال یافتن سازش های مناسب در انعطاف پذیری، عملکرد و قابلیت استفاده برای ایجاد یک چارچوب منحصر به فرد همه کاره مناسب برای موارد استفاده متنوع است. 

در حالی که هنوز در مراحل اولیه خود است، Burn در مقابله با نقاط دردناک چارچوب های موجود و پاسخگویی به نیازهای پزشکان مختلف در این زمینه نویدبخش است. همانطور که چارچوب بالغ می شود و جامعه اطراف آن رشد می کند، این پتانسیل را دارد که به یک چارچوب آماده تولید همتراز با گزینه های موجود تبدیل شود. طراحی جدید و انتخاب زبان آن، امکانات جدیدی را برای جامعه یادگیری عمیق ارائه می دهد.

منابع

 
 

عابد علی اعوان (@1abidaliawan) یک متخصص دانشمند داده معتبر است که عاشق ساخت مدل های یادگیری ماشینی است. در حال حاضر، او بر تولید محتوا و نوشتن وبلاگ های فنی در زمینه یادگیری ماشین و فناوری های علم داده تمرکز دارد. عابد دارای مدرک کارشناسی ارشد در رشته مدیریت فناوری و مدرک کارشناسی در رشته مهندسی مخابرات است. چشم انداز او ساخت یک محصول هوش مصنوعی با استفاده از یک شبکه عصبی نمودار برای دانش آموزانی است که با بیماری های روانی دست و پنجه نرم می کنند.

تمبر زمان:

بیشتر از kdnuggets