Developing Realsense Application on UP Squared Board

Install Ubuntu 16.04:

Flash the image on a USB stick and install on Up2 Board.

Update the system:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

At this point I received some errors like:

W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

I installed the missing firmware files which I downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915.

sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915 
sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915

 

sudo update-grub && sudo reboot

# verify that you have a supported kernel version (4.4.0-.., 4.8.0-.., 4.10.0-.. , 4.13.0-..or 4.15.0-.. as of May 2018)
uname -r

 

Install CMake

Download the source code from https://cmake.org/download/.

./bootstrap
make
make install

 

Install OpenCV

# To build
sudo apt-get install build-essential 
sudo apt-get install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

# To process images:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

# To process videos:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

# For GUI:
sudo apt-get install libgtk-3-dev

# For optimization
sudo apt-get install libatlas-base-dev gfortran pylint

# To build for Python2 and Python3
sudo apt-get install python2.7-dev python3.5-dev
wget https://github.com/opencv/opencv/archive/3.4.0.zip -O opencv-3.4.0.zip

wget https://github.com/opencv/opencv_contrib/archive/3.4.0.zip -O opencv_contrib-3.4.0.zip

sudo apt-get install unzip
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip

cd  opencv-3.4.0
mkdir build
cd build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules -DOPENCV_ENABLE_NONFREE=True ..


# Build
# Up2 Board has 2 cores
make -j2

# Install in the location /usr/local using command
sudo make install

# Reinitialize static libs using the following command
sudo ldconfig

Build librealsense

sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev

git clone https://github.com/IntelRealSense/librealsense

cd librealsense
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ 
sudo udevadm control --reload-rules && udevadm trigger 

# patch the kernel
./scripts/patch-realsense-ubuntu-lts.sh

# Build
mkdir build && cd build
cmake ../ -DBUILD_EXAMPLES=true -DBUILD_CV_EXAMPLES=true

sudo make uninstall
make clean
make -j2
sudo make install

Install QtCreator:

wget http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7.0.run

chmod +x qt-opensource-linux-x64-5.7.0.run
./qt-opensource-linux-x64-5.7.0.run

sudo apt-get install libfontconfig1

Launch Qt Creator

 

Resources:

 

TODO:

  • Check why OpenCV was not built for Python3.
  • Configure QtCreator

Intel IoT Gateway Developer Hub

/var/www/www-repo-gui/python/server.py

 

Source: https://software.intel.com/en-us/node/734944

Word Dosyasındaki Bütün Resimleri Küçültmek

Bir Word dosyasındaki bütün resimleri aynı boyutta küçültmek/büyütmek için aşağıdaki makro kullanılabilir.

Bir makro oluşturmak için ise Görünüm menüsünden Makrolar’a tıklamak gerekiyor.

 

Sub resize_images()
'
' resize_images Macro
'
'
Dim i As Long
With ActiveDocument
    For i = 1 To .InlineShapes.Count
        If .InlineShapes(i).Type <> wdInlineShapeHorizontalLine Then
            With .InlineShapes(i)
                .ScaleHeight = 30
                .ScaleWidth = 30
            End With
        End If
    Next i
End With

End Sub

 

Python Shell’de Otomatik Tamamlama

~/.pythonrc adında yeni bir dosya oluşturun:

# ~/.pythonrc
# enable syntax completion
try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

~/.bashrc dosyasının sonuna da şunu ekleyin:

export PYTHONSTARTUP=~/.pythonrc

Ubuntu 16.04’te OpenCV Derlemek

Anaconda’nın içindeki Python’ı kullanmak istediğimde hata aldım. Ubuntu ile gelen Python’ı kullandım.

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local  \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=ON \
    -D PYTHON_INCLUDE_DIR=~/anaconda3/include/python3.6m \
    -D PYTHON_LIBRARY=~/anaconda3/lib/libpython3.6m.so \
    -D PYTHON2_EXECUTABLE=/usr/bin/python2.7 \
    -D PYTHON2_INCLUDE_PATH=/usr/lib/python2.7/dist-packages \
    -D PYTHON2_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ../

make -j4
sudo make install
sudo ldconfig

Kaynak: http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

Intel CPU’lar için Optimize Tensorflow Derlemek

Makine Öğrenmesi, Derin Öğrenme çalışmalarımı Linux (Ubuntu 16.04) dizüstü bilgisayarımda Anaconda üzerinde Python ile yapıyorum. Intel ve Google’ın yakın zamanda yayınladıkları güncellemeler sayesinde Tensorflow CPU’lar üzerinde çok daha hızlı çalışabiliyor. (bkz. https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture) Tensorflow’un güncel kodlarını çekip derlemek için aşağıdaki adımları uyguladım.

 

 

 

 

Öncelikle yeni bir Anaconda’yı güncelledim:

$conda create -n

Yeni bir Anaconda ortamı yarattım:

$conda create -n tensorflow35cpu python=3.5 anaconda

Yeni yarattığım ortama geçiş yaptım:

$source activate tensorflow35cpu

Tensorflow’u derlerken kullanacağım Bazel yüklü olmadığı için öncelikle onu yüklemem gerekti

echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -

sudo apt-get update && sudo apt-get install bazel

sudo apt-get upgrade bazel

Github’dan Tensorflow’un kaynak kodlarını indirdim:

$git clone https://github.com/tensorflow/tensorflow

Bu klasöre girip ayarları başlattım. Bu aşamada Intel MKL kullanma seçeneği seçilmeli, configure betiği güncel Makine Öğrenmesi için Intel MKL kütüphanesini tensorflow/third_party/mkl/mklml klasörüne indirecek. Diğer seçenekleri ön tanımlı halleriyle bıraktım:

$cd tensorflow
$ ./configure

Optimize Tensorflow pip paketini oluşturdum:

$bazel build --config=mkl --copt="-DEIGEN_USE_VML" -c opt //tensorflow/tools/pip_package:build_pip_package

Ve son olarak bu paketi yükledim:

$bazel-bin/tensorflow/tools/pip_package/build_pip_package ~/path_to_save_wheel
pip install --upgrade --user ~/path_to_save_wheel /wheel_name.whl
Tagged

Bütün Docker Container’larını Durdurmak ve Kaldırmak

List all containers (only IDs)

docker ps -aq

Stop all running containers

docker stop $(docker ps -aq)

Remove all containers

docker rm $(docker ps -aq)

Remove all images

docker rmi $(docker images -q)
Tagged

Makine Öğrenmesi Deneyleri İçin İlginç Veri Setleri

Makine Öğrenmesi, Derin Öğrenme vs ile ilgilenenler için en önemli zorluklardan birisi uygun veri setleri bulabilmektir. İşinize yarayabilecek birkaç kaynağı paylaşmak istedim.

 

Jeremy Singer-Vine her hafta Çarşamba günü 5 veri setini abonelerine gönderiyor. Abone olmak için: http://tinyletter.com/data-is-plural

Github’da caesar0301 kullanıcısı pek çok ilginç veri setini bir araya toplamış: https://github.com/caesar0301/awesome-public-datasets

Tabii ki her veri bilimcisi için Kaggle yarışmaları müthiş bir kaynak: https://www.kaggle.com/datasets

AWS Büyük Veri (Big Data) ile ilgilenenlere önemli bazı veri setlerini sunuyor: https://aws.amazon.com/public-datasets/

Başka birkaç tane daha:

Tagged , , ,

Windows’ta Python için OpenCV Yüklemek

Şu an itibariyle opencv.org’daki Windows için OpenCV binary’sinde Python3 için gerekli pyd dosyası yokmuş. Bu nedenle ya sonradan bu dosyayı bulup yükleme klasörüne kopyalayabilirsiniz, ya da daha kolayı http://www.lfd.uci.edu/~gohlke/pythonlibs/ adresinden indireceğiniz wheel paketi ile yükleyebilirsiniz.

Ben Anaconda 3 ile yüklediğim Python 3.6’yı kullandığım için bu adresten opencv_python-3.2.0-cp36-cp36m-win_amd64.whl dosyasını indirdim ve

pip install opencv_python-3.2.0-cp36-cp36m-win_amd64.whl

komutu ile yükledim.

Yüklemenin doğru yapıldığını anlamak için `python` komutu ile Python interpreter’i başlattıktan sonra

import cv2

komutunu yazıp Enter’a basın. Eğer bir hata mesajı almıyorsanız yükleme doğru yapılmış demektir.

Windows 10’da Tensorflow Yüklemek

Tensorflow Windows’ta 2 yükleme yöntemi sunuyor. Birincisi pip ile yükleme, ikincisi Anaconda içinde yükleme.

Tensorflow pip ile yüklendiğinde sanal bir ortam oluşturulmadan yüklenir, bu nedenle diğer Python modülleriyle karışıp diğer işlerinizin çalışmasını engelleyebilirler. Bu yüzden Anaconda ile yüklemek daha güvenli bir yöntem.

Ancak, Tensorflow Windows’ta şu an için Python 3.6 versiyonunu desteklemiyor. Bu yüzden Tensorflow’da sanal bir ortam oluşturmak, bunu da Python 3.5 versiyonuyla yapmak gerekiyor.

NVIDIA ekran kartı varsa Tensorflow’un GPU’lu versiyonu yüklenebilir, yoksa sadece CPU üzerinde çalışan versiyon yüklenebilir.

conda create --name tensorflow python=3.5
activate tensorflow
conda install jupyter
conda install scipy
pip install tensorflow
# veya
# pip install tensorflow-gpu

Kurulumun doğru yapılıp yapılamadığını anlamak için:
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
print('TensorFlow version: {0}'.format(tf.__version__))
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

Not: Tensorflow 1.0.1’deki bir hatadan dolayı bazı uyarı ve hata mesajları gösteriliyor. Bunların gösterilmemesini sağlamak için os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘3’ komutuyla log seviyesini 3’e çekmek gerekiyor.

http://stackoverflow.com/questions/42217532/tensorflow-version-1-0-0-rc2-on-windows-opkernel-op-bestsplits-device-typ