پردازش متن در پایتون
اگر پروژهای در زمینه پردازش زبان طبیعی انجام داده باشید، میدانید که مراحل پیشپردازش چقدر خستهکننده است. قبل از شروع آموزش مدل باید:
• دادهها را از دیسک بخوانید.
• جملات را Tokenize کنید.
• یک نگاشت از هر کلمه به یک عدد صحیح و منحصربهفرد ایجاد کنید.
• متن را به لیستی از اعداد صحیح تبدیل کنید.
• دادهها را به هر شکلی که فریمورک یادگیری عمیق شما نیاز دارد load کنید.
• متن را pad کنید تا تمامی دنبالهها به یک اندازه باشند، تا بتوانید آنها را به صورت یک batch پردازش کنید.
Torchtext در پایتورچ، کتابخانهای است که پروسههای بالا را بسیار سادهتر میکند. اگرچه این کتابخانه نسبتا جدید است. اما عملکرد آسان آن، خصوصاً در Batching و Loading، آن را به کتابخانهای ارزشمند تبدیل کردهاست.
#nlp
#python
@datalook_ir
اگر پروژهای در زمینه پردازش زبان طبیعی انجام داده باشید، میدانید که مراحل پیشپردازش چقدر خستهکننده است. قبل از شروع آموزش مدل باید:
• دادهها را از دیسک بخوانید.
• جملات را Tokenize کنید.
• یک نگاشت از هر کلمه به یک عدد صحیح و منحصربهفرد ایجاد کنید.
• متن را به لیستی از اعداد صحیح تبدیل کنید.
• دادهها را به هر شکلی که فریمورک یادگیری عمیق شما نیاز دارد load کنید.
• متن را pad کنید تا تمامی دنبالهها به یک اندازه باشند، تا بتوانید آنها را به صورت یک batch پردازش کنید.
Torchtext در پایتورچ، کتابخانهای است که پروسههای بالا را بسیار سادهتر میکند. اگرچه این کتابخانه نسبتا جدید است. اما عملکرد آسان آن، خصوصاً در Batching و Loading، آن را به کتابخانهای ارزشمند تبدیل کردهاست.
#nlp
#python
@datalook_ir
PyTorch
PyTorch Foundation
PyTorch Foundation is the deep learning community home for the open source PyTorch framework and ecosystem.
👍9❤4🔥1👌1
Forwarded from Data world with Mina (Mina Ra)
پردازش متن در پایتون
اگر پروژهای در زمینه پردازش زبان طبیعی انجام داده باشید، میدانید که مراحل پیشپردازش چقدر خستهکننده است. قبل از شروع آموزش مدل باید:
• دادهها را از دیسک بخوانید.
• جملات را Tokenize کنید.
• یک نگاشت از هر کلمه به یک عدد صحیح و منحصربهفرد ایجاد کنید.
• متن را به لیستی از اعداد صحیح تبدیل کنید.
• دادهها را به هر شکلی که فریمورک یادگیری عمیق شما نیاز دارد load کنید.
• متن را pad کنید تا تمامی دنبالهها به یک اندازه باشند، تا بتوانید آنها را به صورت یک batch پردازش کنید.
Torchtext در پایتورچ، کتابخانهای است که پروسههای بالا را بسیار سادهتر میکند. اگرچه این کتابخانه نسبتا جدید است. اما عملکرد آسان آن، خصوصاً در Batching و Loading، آن را به کتابخانهای ارزشمند تبدیل کردهاست.
#nlp
#python
@datalook_ir
اگر پروژهای در زمینه پردازش زبان طبیعی انجام داده باشید، میدانید که مراحل پیشپردازش چقدر خستهکننده است. قبل از شروع آموزش مدل باید:
• دادهها را از دیسک بخوانید.
• جملات را Tokenize کنید.
• یک نگاشت از هر کلمه به یک عدد صحیح و منحصربهفرد ایجاد کنید.
• متن را به لیستی از اعداد صحیح تبدیل کنید.
• دادهها را به هر شکلی که فریمورک یادگیری عمیق شما نیاز دارد load کنید.
• متن را pad کنید تا تمامی دنبالهها به یک اندازه باشند، تا بتوانید آنها را به صورت یک batch پردازش کنید.
Torchtext در پایتورچ، کتابخانهای است که پروسههای بالا را بسیار سادهتر میکند. اگرچه این کتابخانه نسبتا جدید است. اما عملکرد آسان آن، خصوصاً در Batching و Loading، آن را به کتابخانهای ارزشمند تبدیل کردهاست.
#nlp
#python
@datalook_ir
PyTorch
PyTorch Foundation
PyTorch Foundation is the deep learning community home for the open source PyTorch framework and ecosystem.
👍9🤩2
👇✅معرفی یک API رایگان OCR برای نوشتن فرمول ها و معادلات ریاضی
mathPixSnip
🔶 ابزاری برای روشی آسان و سریع برای ایجاد معادلات ریاضی با استفاده از لاتکس. Mathpix Snip رایگان است (حداکثر 50 قطعه در ماه) معادلات اصلی را می توان تایپ یا دست نویس کرد و در برنامه هایی مانند Canvas و Microsoft Office قرار داد.
✔️محتوای اسناد STEM چاپ شده و دستنویس، از جمله مباحث ریاضی، متن ساده، جداول و نمودارها را از روی یک تصویر، دادههای استروک یا یک فایل PDF تشخیص میدهد.
در این وب سایت کار با این Api در پایتون را مطالعه کنید:
https://docs.mathpix.com/#introduction
https://www.youtube.com/watch?v=Pc_6aKPYBwQ&t=24s
#nlp
#python
#هوش_مصنوعی
#Api
mathPixSnip
🔶 ابزاری برای روشی آسان و سریع برای ایجاد معادلات ریاضی با استفاده از لاتکس. Mathpix Snip رایگان است (حداکثر 50 قطعه در ماه) معادلات اصلی را می توان تایپ یا دست نویس کرد و در برنامه هایی مانند Canvas و Microsoft Office قرار داد.
✔️محتوای اسناد STEM چاپ شده و دستنویس، از جمله مباحث ریاضی، متن ساده، جداول و نمودارها را از روی یک تصویر، دادههای استروک یا یک فایل PDF تشخیص میدهد.
در این وب سایت کار با این Api در پایتون را مطالعه کنید:
https://docs.mathpix.com/#introduction
https://www.youtube.com/watch?v=Pc_6aKPYBwQ&t=24s
#nlp
#python
#هوش_مصنوعی
#Api
YouTube
Mathpix API Demo
Demo of the Mathpix API capabilities including recognition of printed math, handwritten math, printed text, tables, and strokes.
mathpix.com
mathpix.com
👍7🙏1
علاقه مندان #هوش_مصنوعی و #علم_داده
بسیار خوشحالم که فرصتی به وجود آمد مجددا یک کارگاه پروژه محور دیگه این بار با پایتون با نام:
دوره پروژه محور کارشناس هوش مصنوعی پایتون
با محوریت Nlp+یادگیری عمیق را برای تابستان (اواخر آبان ماه) داشته باشیم.
🎥فیلم کارگاه ضبط خواهد شد🎙
👇🏻پروژه هایی که کار می کنیم؟
مدلهای زبانی خلاصه سازی متن اخبار فارسی با ترنسفورمرها و Bert
مدل زبانی ترجمه متن
تحلیل احساسات زبان فارسی
تشخیص اسپم در زبان انگلیسی
خوشه بندی متون خبری
🔹👉🏻 امکان ارتباط با مدرس و مشاوره رایگان بعد از کلاس👈🏾
❌دوستان خارج از کشوربا توجه به مشکلات پرداخت می توانند برای ثبت نام به دایرکت مراجعه کنند.❌
📌🔎 پایتون مقدماتی پیش نیاز این دوره است و مباحث پایه یادگیری ماشین✅
صفحه ثبت نام ایوند:
https://evnd.co/2ZH8j
#علم_داده #یادگیری_عمیق #یادگیری_عمیق_با_پایتون #علم_داده_با_پایتون #داده_کاوی #پردازش_متن #شبکه_عصبی #شبکه_عصبی_عمیق#کارگاه_علم_داده #دیتالوک#دوره_یادگیری_عمیق#مینا_
#deeplearning #neuralnetworks #convolutionalneuralnetwork #python #pythonprogramming #pythoncode #datalook
بسیار خوشحالم که فرصتی به وجود آمد مجددا یک کارگاه پروژه محور دیگه این بار با پایتون با نام:
دوره پروژه محور کارشناس هوش مصنوعی پایتون
با محوریت Nlp+یادگیری عمیق را برای تابستان (اواخر آبان ماه) داشته باشیم.
🎥فیلم کارگاه ضبط خواهد شد🎙
👇🏻پروژه هایی که کار می کنیم؟
مدلهای زبانی خلاصه سازی متن اخبار فارسی با ترنسفورمرها و Bert
مدل زبانی ترجمه متن
تحلیل احساسات زبان فارسی
تشخیص اسپم در زبان انگلیسی
خوشه بندی متون خبری
🔹👉🏻 امکان ارتباط با مدرس و مشاوره رایگان بعد از کلاس👈🏾
❌دوستان خارج از کشوربا توجه به مشکلات پرداخت می توانند برای ثبت نام به دایرکت مراجعه کنند.❌
📌🔎 پایتون مقدماتی پیش نیاز این دوره است و مباحث پایه یادگیری ماشین✅
صفحه ثبت نام ایوند:
https://evnd.co/2ZH8j
#علم_داده #یادگیری_عمیق #یادگیری_عمیق_با_پایتون #علم_داده_با_پایتون #داده_کاوی #پردازش_متن #شبکه_عصبی #شبکه_عصبی_عمیق#کارگاه_علم_داده #دیتالوک#دوره_یادگیری_عمیق#مینا_
#deeplearning #neuralnetworks #convolutionalneuralnetwork #python #pythonprogramming #pythoncode #datalook
👏9👍1👎1
یادگیری عمیق یک زمینه مطالعه جذاب است . شروع #یادگیری_عمیق ممکن است سخت باشد.
اینکه از کدام کتابخانه باید استفاده کنید و روی کدام تکنیک ها تمرکز کنید؟
در این دوره آموزشی 9 قسمتی، یادگیری عمیق کاربردی در #پایتون را با استفاده آسان و کتابخانه قدرتمند PyTorch کشف خواهید کرد. این دوره کوتاه برای تمرینکنندگانی در نظر گرفته شده است که از قبل با برنامهنویسی در پایتون راحت هستند و مفهوم اصلی یادگیری ماشین را میدانند.
لینک دوره
#یادگیری_عمیق
#پایتون
#deeplearning
#pythonprogramming
#python
اینکه از کدام کتابخانه باید استفاده کنید و روی کدام تکنیک ها تمرکز کنید؟
در این دوره آموزشی 9 قسمتی، یادگیری عمیق کاربردی در #پایتون را با استفاده آسان و کتابخانه قدرتمند PyTorch کشف خواهید کرد. این دوره کوتاه برای تمرینکنندگانی در نظر گرفته شده است که از قبل با برنامهنویسی در پایتون راحت هستند و مفهوم اصلی یادگیری ماشین را میدانند.
لینک دوره
#یادگیری_عمیق
#پایتون
#deeplearning
#pythonprogramming
#python
🔥6🙏2👍1
✏️ آشنایی سریع با Numba و شتابدهی به کدها!
🔹 کتابخانه Numba یک کتابخانه پایتون برای افزایش سرعت محاسبات عددی است.
با یک دکوراتور ساده مثل @jit، کدهای پایتون و NumPy رو به کد ماشین بسیار سریع تبدیل میکنه! 🚀
📌 کاربردها:
پردازش سریع دادههای علمی
شتابدهی به یادگیری ماشین
تسریع محاسبات سنگین عددی بدون نیاز به C/C++
🌟 استفاده روی CPU:
from numba import jit
import numpy as np
@jit
def compute(x):
total = 0
for i in range(x.shape[0]):
total += np.sin(x[i]) * np.cos(x[i])
return total
✅ اجرای سریعتر فقط با اضافه کردن @jit!
---
🔥 استفاده از Numba روی GPU با CUDA:
با دکوراتور @cuda.jit میتونی توابعی بنویسی که مستقیم روی کارت گرافیک اجرا بشن:
from numba import cuda
@cuda.jit
def add_arrays_gpu(a, b, result):
i = cuda.grid(1)
if i < a.size:
result[i] = a[i] + b[i]
👩💻 فقط کافیه آرایهها رو به GPU بفرستی
#Python #Numba #GPU #CUDA #شتابدهی_کد #آموزش
🔹 کتابخانه Numba یک کتابخانه پایتون برای افزایش سرعت محاسبات عددی است.
با یک دکوراتور ساده مثل @jit، کدهای پایتون و NumPy رو به کد ماشین بسیار سریع تبدیل میکنه! 🚀
📌 کاربردها:
پردازش سریع دادههای علمی
شتابدهی به یادگیری ماشین
تسریع محاسبات سنگین عددی بدون نیاز به C/C++
🌟 استفاده روی CPU:
from numba import jit
import numpy as np
@jit
def compute(x):
total = 0
for i in range(x.shape[0]):
total += np.sin(x[i]) * np.cos(x[i])
return total
✅ اجرای سریعتر فقط با اضافه کردن @jit!
---
🔥 استفاده از Numba روی GPU با CUDA:
با دکوراتور @cuda.jit میتونی توابعی بنویسی که مستقیم روی کارت گرافیک اجرا بشن:
from numba import cuda
@cuda.jit
def add_arrays_gpu(a, b, result):
i = cuda.grid(1)
if i < a.size:
result[i] = a[i] + b[i]
👩💻 فقط کافیه آرایهها رو به GPU بفرستی
#Python #Numba #GPU #CUDA #شتابدهی_کد #آموزش
👍7
🧠 راهنمای تنظیم Hyperparameterهای مدل LSTM
اگر برای پروژههای Time Series از LSTM استفاده میکنید، انتخاب درست Hyperparameterها میتواند تأثیر زیادی روی سرعت آموزش، دقت و تعمیمپذیری مدل داشته باشد.
در ادامه، مهمترین پارامترها و محدودههای مناسب برای شروع را مرور میکنیم 👇
━━━━━━━━━━━━━━━━━━
🟢 1. پارامترLearning Rate | نرخ یادگیری
مشخص میکند وزنهای مدل در هر مرحله از بهینهسازی چقدر تغییر کنند.
🔸 خیلی زیاد → آموزش ناپایدار و عبور از نقاط کمینه
🔸 خیلی کم → همگرایی بسیار آهسته
✅ مقدار مناسب برای شروع: 0.001
البته بهتر است با توجه به روند تغییرات Loss تنظیم شود.
━━━━━━━━━━━━━━━━━━
🟢 2. پارامتر مهم Number of Layers | تعداد لایهها
عمق شبکه LSTM را مشخص میکند.
🔸 لایههای کم، مثلاً 1 → ممکن است برای الگوهای پیچیده کافی نباشد.
🔸 لایههای زیاد، مثلاً 4+ → افزایش ریسک Overfitting و مشکلاتی مانند Vanishing Gradient
✅ مقدار مناسب برای شروع: 2 تا 3 لایه
━━━━━━━━━━━━━━━━━━
🟢 3. پارامتر Number of LSTM Units | تعداد واحدهای LSTM
هر LSTM Unit شامل مکانیزمهایی برای Input، Forget و Output Gate است و به مدل کمک میکند وابستگیهای زمانی را یاد بگیرد.
🔸 Units بیشتر → ظرفیت یادگیری بالاتر
🔸 Units بیش از حد → افزایش Overfitting و هزینه محاسباتی
✅ محدوده مناسب برای شروع: 50 تا 200 واحد
━━━━━━━━━━━━━━━━━━
🟢 4. پارامتر Dropout Rate | نرخ Dropout
این نرخ Dropout یک تکنیک Regularization است که در زمان آموزش، بهصورت تصادفی بخشی از نورونها را غیرفعال میکند.
🔸 خیلی کم → اثر ناچیز در کنترل Overfitting
🔸 خیلی زیاد → ممکن است مدل نتواند الگوهای مفید را بهخوبی یاد بگیرد.
✅ محدوده مناسب: 0.2 تا 0.5
━━━━━━━━━━━━━━━━━━
🟢 5.پارامتر Sequence Length | طول توالی
مشخص میکند مدل چه تعداد از گامهای زمانی گذشته را برای پیشبینی مشاهده کند.
🔸 خیلی کوتاه → از دست رفتن بخشی از وابستگیهای زمانی
🔸 خیلی بلند → مصرف حافظه بیشتر و احتمال ورود نویز بیشتر
✅ محدوده مناسب برای شروع: 10 تا 100 Time Step
📌 البته این پارامتر باید با توجه به ماهیت سری زمانی و Seasonality داده انتخاب شود.
━━━━━━━━━━━━━━━━━━
🟢 6. پارامتر مهم L2 Regularization | منظمسازی L2
با اعمال جریمه روی وزنهای بزرگ، به کنترل پیچیدگی مدل و کاهش Overfitting کمک میکند.
🔸 خیلی کم → Regularization ضعیف
🔸 خیلی زیاد → احتمال Underfitting
✅ محدوده مناسب برای شروع: 0.001 تا 0.01
━━━━━━━━━━━━━━━━━━
🟢 7. و پارامتر Batch Size | اندازه Batch
تعداد نمونههایی است که مدل قبل از هر بار بهروزرسانی وزنها پردازش میکند.
🔸 Batch کوچک (16–32)
→ بهروزرسانیهای تصادفیتر، معمولاً Generalization بهتر، اما نیاز احتمالی به Epoch بیشتر
🔸 Batch بزرگ (256+)
→ آموزش سریعتر، اما ممکن است Generalization ضعیفتری داشته باشد.
✅ محدوده مناسب برای شروع: 32 تا 256
━━━━━━━━━━━━━━━━━━
🎯 جمعبندی برای شروع Tuning
اگر بخواهیم یک نقطه شروع ساده برای یک مدل LSTM داشته باشیم:
📌 Learning Rate → 0.001
📌 LSTM Layers → 2–3
📌 LSTM Units → 50–200
📌 Dropout → 0.2–0.5
📌 Sequence Length → 10–100
📌 L2 → 0.001–0.01
📌 Batch Size → 32–256
⚠️ این مقادیر قانون ثابت نیستند. بهترین Hyperparameterها به اندازه دیتاست، نویز، طول وابستگیهای زمانی، Seasonality و پیچیدگی مسئله بستگی دارند.
💡 نکته مهم: بهجای تغییر همزمان همه پارامترها، بهتر است Hyperparameter Tuning را با یک Search Space منطقی و روشهایی مثل Random Search، Bayesian Optimization یا Optuna انجام دهید.
#LSTM #DeepLearning #TimeSeries #MachineLearning #HyperparameterTuning #Python #DataScience
اگر برای پروژههای Time Series از LSTM استفاده میکنید، انتخاب درست Hyperparameterها میتواند تأثیر زیادی روی سرعت آموزش، دقت و تعمیمپذیری مدل داشته باشد.
در ادامه، مهمترین پارامترها و محدودههای مناسب برای شروع را مرور میکنیم 👇
━━━━━━━━━━━━━━━━━━
🟢 1. پارامترLearning Rate | نرخ یادگیری
مشخص میکند وزنهای مدل در هر مرحله از بهینهسازی چقدر تغییر کنند.
🔸 خیلی زیاد → آموزش ناپایدار و عبور از نقاط کمینه
🔸 خیلی کم → همگرایی بسیار آهسته
✅ مقدار مناسب برای شروع: 0.001
البته بهتر است با توجه به روند تغییرات Loss تنظیم شود.
━━━━━━━━━━━━━━━━━━
🟢 2. پارامتر مهم Number of Layers | تعداد لایهها
عمق شبکه LSTM را مشخص میکند.
🔸 لایههای کم، مثلاً 1 → ممکن است برای الگوهای پیچیده کافی نباشد.
🔸 لایههای زیاد، مثلاً 4+ → افزایش ریسک Overfitting و مشکلاتی مانند Vanishing Gradient
✅ مقدار مناسب برای شروع: 2 تا 3 لایه
━━━━━━━━━━━━━━━━━━
🟢 3. پارامتر Number of LSTM Units | تعداد واحدهای LSTM
هر LSTM Unit شامل مکانیزمهایی برای Input، Forget و Output Gate است و به مدل کمک میکند وابستگیهای زمانی را یاد بگیرد.
🔸 Units بیشتر → ظرفیت یادگیری بالاتر
🔸 Units بیش از حد → افزایش Overfitting و هزینه محاسباتی
✅ محدوده مناسب برای شروع: 50 تا 200 واحد
━━━━━━━━━━━━━━━━━━
🟢 4. پارامتر Dropout Rate | نرخ Dropout
این نرخ Dropout یک تکنیک Regularization است که در زمان آموزش، بهصورت تصادفی بخشی از نورونها را غیرفعال میکند.
🔸 خیلی کم → اثر ناچیز در کنترل Overfitting
🔸 خیلی زیاد → ممکن است مدل نتواند الگوهای مفید را بهخوبی یاد بگیرد.
✅ محدوده مناسب: 0.2 تا 0.5
━━━━━━━━━━━━━━━━━━
🟢 5.پارامتر Sequence Length | طول توالی
مشخص میکند مدل چه تعداد از گامهای زمانی گذشته را برای پیشبینی مشاهده کند.
🔸 خیلی کوتاه → از دست رفتن بخشی از وابستگیهای زمانی
🔸 خیلی بلند → مصرف حافظه بیشتر و احتمال ورود نویز بیشتر
✅ محدوده مناسب برای شروع: 10 تا 100 Time Step
📌 البته این پارامتر باید با توجه به ماهیت سری زمانی و Seasonality داده انتخاب شود.
━━━━━━━━━━━━━━━━━━
🟢 6. پارامتر مهم L2 Regularization | منظمسازی L2
با اعمال جریمه روی وزنهای بزرگ، به کنترل پیچیدگی مدل و کاهش Overfitting کمک میکند.
🔸 خیلی کم → Regularization ضعیف
🔸 خیلی زیاد → احتمال Underfitting
✅ محدوده مناسب برای شروع: 0.001 تا 0.01
━━━━━━━━━━━━━━━━━━
🟢 7. و پارامتر Batch Size | اندازه Batch
تعداد نمونههایی است که مدل قبل از هر بار بهروزرسانی وزنها پردازش میکند.
🔸 Batch کوچک (16–32)
→ بهروزرسانیهای تصادفیتر، معمولاً Generalization بهتر، اما نیاز احتمالی به Epoch بیشتر
🔸 Batch بزرگ (256+)
→ آموزش سریعتر، اما ممکن است Generalization ضعیفتری داشته باشد.
✅ محدوده مناسب برای شروع: 32 تا 256
━━━━━━━━━━━━━━━━━━
🎯 جمعبندی برای شروع Tuning
اگر بخواهیم یک نقطه شروع ساده برای یک مدل LSTM داشته باشیم:
📌 Learning Rate → 0.001
📌 LSTM Layers → 2–3
📌 LSTM Units → 50–200
📌 Dropout → 0.2–0.5
📌 Sequence Length → 10–100
📌 L2 → 0.001–0.01
📌 Batch Size → 32–256
⚠️ این مقادیر قانون ثابت نیستند. بهترین Hyperparameterها به اندازه دیتاست، نویز، طول وابستگیهای زمانی، Seasonality و پیچیدگی مسئله بستگی دارند.
💡 نکته مهم: بهجای تغییر همزمان همه پارامترها، بهتر است Hyperparameter Tuning را با یک Search Space منطقی و روشهایی مثل Random Search، Bayesian Optimization یا Optuna انجام دهید.
#LSTM #DeepLearning #TimeSeries #MachineLearning #HyperparameterTuning #Python #DataScience
❤15👍4🔥1