علی شکیبا

دفتر یادداشت دیجیتال برای هر چیز مفید!

۶ مطلب با کلمه‌ی کلیدی «پایتون» ثبت شده است

جمعه؛ ۲۹ بهمن ۹۵

به دلیل عدم حضور دانشجویان؛ تشکیل نشد.

جمعه؛ ۶ اسفند ۹۵

معرفی درس؛ چهارچوب Map-Reduce و شیوه‌ی محاسبه در این قالب؛ حل مثال محاسبه‌ی فرکانس لغات در یک فایل متنی بزرگ (تا پایان اسلاید ۴۲)

جمعه؛ ۱۳ اسفند

به دلیل عدم حضور دانشجویان؛ تشکیل نشد. جبرانی آن در جلسات بعد برگزار می‌شود.

۰ نظر موافقین ۰ مخالفین ۰ ۲۹ بهمن ۹۵ ، ۱۳:۵۸
علی شکیبا

پنج‌شنبه؛ ۲۸ بهمن ۹۵

معرفی درس؛ قاعده‌ی Boneferroni به همراه یک مثال؛ معرفی طرح Map-Reduce و مشخصات مربوطه؛ حل یک مثال شمارش کلمات در یک فایل متنی حجیم با پیاده‌سازی Map و Reduce. (تا پایان اسلاید ۳۸)

پنج‌شنبه؛ ۵ اسفند ۹۵

تا پایان اسلاید ۴۹ - ضرب ماتریس در چهارجوب Map-Reduce به عنوان تمرین واگذار شد.

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ بهمن ۹۵ ، ۲۰:۵۰
علی شکیبا

دوشنبه؛ ۱۸ بهمن ۹۵

به دلیل عدم حضور دانشجویان تشکیل نشد.

چهارشنبه؛ ۲۰ بهمن ۹۵

به دلیل عدم حضور دانشجویان تشکیل نشد.

دوشنبه؛ ۲۵ بهمن ۹۵

تدریس فصل اول کتاب هان؛ ارائه‌ی تصویر کلی درس و مباحثی که قرار است دریاره‌ی آن‌ها بحث و بررسی کنیم.

چهارشنبه؛ ۲۷ بهمن ۹۵

معرفی مفاهیم داده؛ دادگان؛ ویژگی؛ نمونه. معرفی و بحث درباره‌ی انواع ویژگی‌ها (عددی (نسبتی؛ بازه‌ای)؛ ترتیبی؛ اسمی؛ دودویی). معرفی شاخص‌های مرکزی (میانگین؛ میانگین‌های وزن‌دار؛ trimmed)؛ میانه (عددی و اسمی)؛ مد و چند مدی. معرفی شهود داده‌های متقارن و اریب مثبت و منفی. (مباحث از فصل ۲ کتاب هان).

۰ نظر موافقین ۰ مخالفین ۰ ۱۸ بهمن ۹۵ ، ۲۲:۰۹
علی شکیبا

یکی از بهترین و مجهزترین کتابخانه‌های پردازش تصویر که متن باز هم باشد، Open CV است. این کتابخانه که به زبان ++C/C نوشته شده است، دارای یک رابط برای زبان Python نیز هست که کار با آن را بسیار ساده‌تر می‌کند و البته سرعت پردازشی بالایی را نیز به نسبت بسیاری از کتابخانه‌هایی که به صورت خالص در Python نوشته شده اند، فراهم می‌کند!

اما نصب آن یک دردسر بسیار بزرگ برای من بود! اما بالاخره موفق شدم تا آن را به صورتی کامل نصب کنم (مثال‌ها به درستی اجرا می‌شدند! :) ). مراحل نصب در ذیل می‌آیند.

اما قبل از نصب، من از موتور تک‌لایو 2012 که به شیوه این پست آن را نصب کرده ام و از توزیع Anaconda Python استفاده می‌کنم که به صورت دستی و نه با استفاده از مخازن Ubuntu نصب شده اند. شاید یکی از مهمترین دلایل سخت بودن این فرایند برای من، همین دو موضوع بود! بگذریم ...

ابتدا لازم است تا به سایت رسمی OpenCV به آدرس http://opencv.org/downloads.html رفته و از آنجا نسخه مورد نظر خود را دریافت کنیم. در زمانی که این متن را می‌نویسم، نسخه 3 در مرحله Release Candidate 1 قرار داشت. من از نسخه 2.4.11 استفاده کردم!

سپس نوبت به نصب پیش‌نیازها می‌رسد. برای نصب موفق این بسته، این بسته‌ها را نصب کردم:

sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev qt5-default libqt5x11* libx11-xcb1* pkg-config libxcb1-dev libxcb1 xcb

البته به احتمال خیلی زیاد، تعدادی از این بسته‌ها لازم نیستند، اما این تمام بسته‌هایی است که نصب شدند (در مراحل مختلف که خطایابی نصب انجام می‌شد) تا مثال‌ها به درستی نصب شدند.

پس از آن، فایل دانلود شده در مرحله اول را از حالت فشرده باز کرده 

unzip opencv-2.4.11.zip

و سپس پوشه‌ای برای نگهداری اطلاعات build به نام build می‌سازیم (نام پوشه اصلا مهم نیست!)

cd opencv-2.4.11
mkdir build

پس از آن به پوشه مربوطه رفته

cd build

و دستور زیر را اجرا می‌کنیم. دقت کنید که مسیر‌های مربوط به پایتون را در این دستور مطابق شرایط نصب خود تغییر دهید

cmake -D CMAKE_BUILD_TYPE=RELEASE -D PYTHON_LIBRARY=/opt/anaconda/lib/python2.7/ -D PYTHON_INCLUDE_DIR=/opt/anaconda/include/python2.7/ -D PYTHON_PACKAGES_PATH=/opt/anaconda/lib/python2.7/site-packages/ -D BUILD_EXAMPLES=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON ..

پس از اینکه خروجی را کنترل کرده و مطمئن شدیم همه چیز درست است (یعنی رابط پایتون نصب می‌شود :) )، آنگاه نوبت به فرایند build و سپس نصب می‌رسد

make -j 4
sudo make install

پس از آن، در فایل (ممکن است فایل وجود نداشت باشد، اگر نبود، یکی بسازید)

/etc/ld.so.conf.d/opencv.conf

آدرس

/usr/local/lib

را درج کرده و فایل را ذخیره می‌کنیم. سپس، برای پیکربندی کتابخانه‌ها دستور

sudo ldconfig

را اجرا کرده و در فایل bashrc. موارد زیر را قرار می‌دهیم

export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

با بازکردن یک کنسول جدید، یا خارج و وارد شدن مجدد به محیط کاربری، می‌توانیم از صحت نصب با مراجعه به پوشه samples در پوشه opencv-2.4.11 و اجرای موفق مثال‌ها، مطمئن شویم که نصب به درستی صورت پذیرفته است!

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ خرداد ۹۴ ، ۱۷:۳۹
علی شکیبا

یکی از امکانات جالبی که در Windows داشتم، این بود که با انتخاب چند فایل ویدیویی، جمع زمان آن فایل‌ها را نمایش می‌داد، اما در لینوکس این‌گونه نبود! به همین خاطر دست به کار شدم و یک اسکریپت به صورت زیر نوشتم

find . -iname "*.mp4" -exec mplayer -vo null -ao null -frames 0 -identify -msglevel all=0 {} \; | grep ^ID_LENGTH | python -c "import sys; print sum(float(l.split('=')[1])/60.0 for l in sys.stdin), ' minutes.'"

البته اگر پایتون نداشته باشیم، این دستورات bash مجموع زمان فیلم‌ها را به واحد ثانیه نشان می‌دهد

find . -iname "*.mp4" -exec mplayer -vo null -ao null -frames 0 -identify -msglevel all=0 {} \; | grep ^ID_LENGTH | tr -d "ID_LENGTH=" | paste -s -d+ | bc
۰ نظر موافقین ۰ مخالفین ۰ ۱۲ فروردين ۹۴ ، ۲۳:۵۵
علی شکیبا

برای نصب خیلی ساده می توانید از دستورات استاندارد Python برای نصب استفاده کنید! اما اگر ابزاری مانند apt-get در دبیان می خواهید، conda در خدمت شما است. البته برای نصب برخی از بسته ها مجبور(!) می شوید از pip یا easy_install استفاده کنید، اما هر چه باشد، نصب از روی کد منبع کابوس است و کابوس! علی الخصوص هنگامی که سرتان هم درد می کند! بگذریم ...

برای نصب کتابخانه textblob برای anaconda، می توانید از یکی از دو راه زیر استفاده کنید. اولی برای افرادی است که از MacOS استفاده می کنند (ما که کاری به MacOS نداریم!) و دومی برای بنده و امثال بنده است که عمده وقتشان را با ترمینال لینوکس پر می کنند و شاید هم ویندوز (رو سیاهم خجالتی )!

خوب، اول اولی را می گویم که ساده است!

$ conda config --add channels https://conda.binstar.org/sloria
$ conda install textblob
$ python -m textblob.download_corpora

حال نوبت به دومی می رسد که بازهم ساده است! فقط یک نکته! اگر مثل بنده از چندین توزیع مختلف پایتون مثل anaconda و python.org یا نسخه های مختلف استفاده می کنید، لازم است تا به جای استفاده از دستور pip، مسیر کامل توزیع مورد نظر را بدهید و یا با استفاده از دستور update-alternatives توزیع مورد نظر را در اولویت قرار دهید (بیان بهتر است ویرایشگر متن خود را به auto-completion مجهز کند!). بقیه ساده است:

$ pip install -U textblob
$ python -m textblob.download_corpora

پس از نصب، لازم است پیکره مورد استفاده این بسته را نیز دریافت کنید و خط دوم به همین دلیل است. اگر سرعت اینترنت یا حجم محدودی دارید، می توانید به جای خط دوم از این دستور استفاده کنید:

$ python -m textblob.download_corpora lite

تمام است! از پایتون خود لذت ببرید!

۰ نظر موافقین ۰ مخالفین ۰ ۲۱ آذر ۹۳ ، ۰۰:۲۹
علی شکیبا