2016年3月19日 星期六

New Idea From Andrew Ng

 

Overfit is a big problem --> assuming too many parameter space and high variance learning (not high bias)

Solution A:  constraints: e.g. regularization, sparsity (L1-regularization), ???

 

Solution B: Use a lot of data (10x or 100x),  how?  

artificial synthesis of data,  adaboost, random forest ?

 

Are they (more data and regularization) equivalent or behavior similarly?

Raspberry Pi 3 記錄

 

繼上次買 Raspberry Pi 1, 這次又買了 RP 3.  

RP3 最大的好處: (1) 4 核且 1.2GHz, 是 CA53 ARM 64-bit processors; (2) 板上有 WiFi + BT (from Broadcom, too?).  其它和之前的 RP 應差異不大。

 

Step 1:  (MicroSD card)

I bought 32G Kingston microSD card (UHS ..   U3) 號稱 80MB/s write and 90M/s read speed.  不過我用 RP3 測試只有 20MB/s, 應該是 PR3 performance limitation.

Download NOOBS zip file, decompress to microSD card.   用此 boot 自動會 install Raspbian OS (derivative of Linux Debian).

 

Step 2: (installation Raspbian 4.1.18-v7+, based on Debian Jessie version); armv7l 32-bit instruction set!!!  

1. 設定 keyboard layout from UK to US.

2. 設定 WiFi AP

3. Update Raspbain to the latest update

$ sudo apt-get update  (update apt-get inself)

$ sudo apt-get upgrade  (upgrade all packages)

 

Step 3: (Install 中文顯示和輸入)

請參考葉難的 blog.

先更新一下套件清單。
$ sudo apt-get update

安裝中文字型,文泉驛微米黑、文泉驛正黑、文泉驛點陣宋體。
$ sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

然後將locale設定成繁體中文。
$ sudo dpkg-reconfigure locales

繁體中文的部份,我選了三個zh_TW BIG5、zh_TW.EUC_TW EUC-TW、zh_TW.UTF-8 UTF-8。

 

然後將zh_TW.UTF-8設定為預設的locale。

然後要安裝中文輸入法。
$ sudo apt-get install scim scim-tables-zh scim-chewing

其中scim-chewing是注音的輸入法,若是大陸用的拼音輸入法,請安裝scim-pinyin。

重開機後,以Ctrl-Space即可切換輸入法,輸入中文。

 

Step 3: (Remote Desktop)   Raspberry Pi 的 default username: pi   passwd: raspberry --> change to aluxxx4

可以用 VNC or microsoft remote desktop.  因為 mac 也可以在 app store download microsoft remote desktop.  因此先 install xrdp.

$ sudo apt-get install xrdp --> mac 端必須 download Microsoft remote desktop.  見 xxx blog.

--> mac 可以直接用 microsoft remote desktop, 不用 download any software!!

不過連 ping 都不 work, 上網卻 ok.   $ ping www.google.com --> icml open socket: operation not permitted

-->  $ sudo chmod u+s /bin/ping  --> ping ok and ssh ok and remote desktop ok!!!

ip addr:  192.168.1.245

 

Install VNC server 就先 delay. 

 

Install miniconda python (2016/?)

不知何時 install miniconda python.

 

Install Camera Module (2016/04/16)

主要想做一些 computer vision 有關的應用,從淘寶買了 Element 14 官方版的 camera module (RMB$95 + RMB$20 shipping).

Install camera module 可以參考葉難的 article.

硬體裝好後,軟體的設定及測試如下。 

$ sudo apt-get update 
$ sudo apt-get upgrade
然後執行raspi-config:
$ sudo raspi-config

進入裡頭的「camera」項目,啟用相機模組,再重開機。
 

接下來,便能使用一些準備好的程式與指令拍攝靜態照片與錄製動態影片。
以指令raspistill可拍照,如下
$ raspistill -o image.jpg -t 1000

-o指定輸出檔名,-t指定預覽時間(單位為千分之一秒),你會在螢幕上看到預覽畫面。如果你發現相片左右或上下顛倒,可加入參數-hf(horizontal flip)與-vf(vertical flip)調整。

這是我的手與我房間的天花板牆壁。
 


另外可利用指令raspivid進行錄影,如下:

$ raspivid  -o video.h264 -t 20000

-o指定輸出檔名,為H.264格式,-t指定錄製時間(單位為千分之一秒)。

可以用 omxplayer video.h264 來顯示 video. 

omxplayer 會利用 BRCM SoC 內的 BRCM GPU to play H.264 影片。

如果用 VLC player, 軟解無法正確顯示 video!!!

可利用ffmpeg轉成其他格式,例如:

$ ffmpeg -r 30 -i video.h264 -vcodec copy outputfile.mkv

或是

$ avconv -r 30 -i video.h264  outputfile.avi
 

 

Install Bluetooth (2016/04/16)

Follow the article in element 14.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo dpi-update --->  update the firmware

 

>> then reboot 

sudo apt-get install pi-bluetooth >> show it's already installed in the new firmware

sudo apt-get install blueman

>> then reboot and the bluetooth icon shows

 

>> then reboot and the bluetooth icon disappear!!

 

 

Install Camera Software Codec and OpenCV

$ sudo apt-get install -y picamera

$ sudo apt-get install -y vlc

$ sudo apt-get install -y gpac mplayer

$ sudo apt-get install -y mencoder  (# obsolete!!)

$ sudo apt-get install -y python-opencv

 

 

2016年3月16日 星期三

Jupyter Notebook with Octave Kernel

在學 machine learning 時常會用到兩種 languages.  一類是 matlab or octave (e.g. Andrew Ng).

另一類是 python (e.g. sckit-learn, etc., 林軒田; UC Washington ML classes).   少數用 R and maybe other languages.

 

Matlab/Octave 的好處是簡單清楚。處理 vector or matrix or plot 乾淨利落。缺點是 large scale ML 的速度太慢。另外 matlab/octave 沒有很好的 notebook UI.

Python 則相反。即使在用 ipython 的 vector, matrix, plot, 仍然處處有 python 的影子。但好處是速度快, scalable.  最重要的是 ipython notebook 是非常簡單好用的 math or engineering notebook UI.

是否能結合兩者?  Yes, Jupyter Noteook.   Jupyter notebook 是 ipython notebook 的下一代。把 UI 和 kernel 分開。 UI 就是 ipython notebook interface. 

Kernel 則可以是 python, octave, matlab, R, etc.

 

為了要 install Jupyster, 首先 install python. 

 

Step 1: Use Vmware to install Ubuntu 14.04.4 (TLS) version.  

Detailed refer to previous article.  

為了方便再 install Dropbox (ubuntu version) for .bashrc, and install kompare, kdiff3, emacs

Step 2: Install Anaconda python (3).   

-> Recommend to use Anaconda python 3.5 from the Jupyter website.

Download PYTHON 3.5 64-bit version (Anaconda3-2.5.0-Linux-x86_64.sh)

=>  bash ...

 

(1) Do "conda install jupyter  -> update jupyter related files

(2) Do "pip install bash_kernel"  -> No need for Octave kernel

 

Step 3: install octave:   sudo apt-get install octave

(3) Do "pip install octave_kernel" 

(4) Do "python -m octave_kernel.install"

 

--> Done.

 

You can either do on the web:

jupyter notebook -> choose new octave notebook

or 

jupyter qtconsole --kernel octave

jupyter console --kernel octave

 

It works now!

2016年3月15日 星期二

Anaconda Python

一般在做用 python 時,最常用到的三個 packages.

1. pip:  取代 easy_install.  是 python 最常用的 package manager

2. virtualenv: environment manager, 主要是自由切換 python2.x and python3.x.  不是很好用,也不常用。不過為了相容性,還是會 install.

3. Numerical packages (numpy, scipy, matplotlib, etc.), 或是用 Enthough, 或是 python(x,y).  

 

一個好消息是只要 install anaconda python, 可以集三者為一。不用再 install above!

 

TaskConda package and environment manager commandPip package manager commandVirtualenv environment manager command
Install a package conda install $PACKAGE_NAME pip install $PACKAGE_NAME X
Update a package conda update --name$ENVIRONMENT_NAME $PACKAGE_NAME pip install --upgrade $PACKAGE_NAME X
Update package manager conda update conda Linux/OSX: pip install -U pip Win: python -mpip install -U pip X
Uninstall a package conda remove --name$ENVIRONMENT_NAME $PACKAGE_NAME pip uninstall $PACKAGE_NAME X
Create an environment conda create --name$ENVIRONMENT_NAME python X cd $ENV_BASE_DIR; virtualenv$ENVIRONMENT_NAME
Activate an environment source activate $ENVIRONMENT_NAME X source$ENV_BASE_DIR/$ENVIRONMENT_NAME/bin/activate
Deactivate an environment source deactivate X deactivate
Search available packages conda search $SEARCH_TERM pip search $SEARCH_TERM X
Install package from specific source conda install --channel $URL$PACKAGE_NAME pip install --index-url $URL $PACKAGE_NAME X
List installed packages conda list --name $ENVIRONMENT_NAME pip list X
Create requirements file conda list --export pip freeze X
List all environments conda info --envs X Install virtualenv wrapper, then lsvirtualenv
Install other package manager conda install pip pip install conda X
Install Python conda install python=x.x X X
Update Python conda update python * X X
  • conda update python updates to the most recent in the series, so Python 2 to latest 2.x, Python 3 to latest 3.x, and so on.

追蹤者