顯示具有 Machine Learning 標籤的文章。 顯示所有文章
顯示具有 Machine Learning 標籤的文章。 顯示所有文章

2019年3月9日 星期六

Berry Conda

不過是深度學或是機器學習,不少人建立了model之後,選擇佈署(deploy)在raspberry pi上,不過現在就算是最新的raspberry pi 3 B+,多數符合能執行的套件仍是32bit,其ARM硬體架構也常常跟訓練模型時的不一樣,這導致佈署十困難重重。
例如大家很喜歡的conda,可以把本來很難裝的套件一個指令就裝好了,但在raspberry pi上Anaconda是不支持的,網路上不少人推薦miniconda,當然也是很好的選擇,不過python3的版本是3.4,甚至比官方的python3.5還低,總是有點不舒服的感覺。
現在除了miniconda之外,有個更棒的選擇了: berryconda!!!!

Github連結在此: https://github.com/jjhelmus/berryconda

以raspberry pi 3 B為例來看看怎麼裝:
先下載檔案:
$ wget https://github.com/jjhelmus/berryconda/releases/download/v2.0.0/Berryconda3-2.0.0-Linux-armv7l.sh
之後安裝:
$ bash Berryconda3-2.0.0-Linux-armv7l.sh
最後加入路徑:
$ export PATH="/home/xxxxxx/berryconda3/bin:$PATH"
注意上面xxxxxx只是舉例,看看您是裝到哪個路徑要記得改。

最後輸入以下指令,使conda馬上生效。
$ source ~/.bashrc
應該完成了,可以試試conda的版本:
$ conda --version
conda 4.3.22
含有最重要的python版本
$ python --version
Python 3.6.1
是3.6.1喔.....

還真不錯,之後就可以在raspberry pi中使用conda囉~~~


參考網站:
https://www.jianshu.com/p/ccad38dbb897




python 2 or 3?

現在是2019年了
各位沒有看錯文章標題.........
或許答案顯而易見
我想多數人一定是回答python3,特別是對新手而言
不過真的有時還是會有無奈的選擇時候
像我最近寫了個machine learning的code,但依賴的包實在不好裝
偏偏這個函式庫非常重要,無替代方案
搞了快一個星期只好放棄
所以只好回去使用python2
沒辦法,自己功力不夠從最基本的開始寫
所以有時看別人使用python2不要覺得是old school,實在還是有不得已的時候啊

2018年10月20日 星期六

Pytorch Install


裝Pythorch很簡單不囉嗦!!!

到Pytorch官網
https://pytorch.org/

到官網上很清楚可以按照你的系統選擇如何install
例如我的系統是windows,Package習慣使用Conda,Language為 Python 3.6,不使用Cuda
官網就會給建議的Command (Run this Command):

conda install pytorch-cpu -c pytorch
pip install torchvision

檔案不大
一下就裝完了

2018年6月18日 星期一

Machine Learning: Polynomial Regression 多項式迴歸

線性迴歸(Linear Regression)是機器學習(Machine Learning)中常用且基本的model之一,但Sckit-Learn中線性迴歸不僅僅只是能處理線性資料,也能以簡單的方式以多項式迴歸(Polynomial Regression)對資料做擬合(fitting)。換句話說,也就是不儘是線性函數:
y = ax + b

也能以多項式擬合(fitting):
y = ax + bx^2 + cx^3+ ........

怎麼做呢? 基本上就是山不轉路轉,動不了特徵值,換個x值總可以吧。

來看看實際例子:
先import會用到的module:
其中PolynomialFeatures就是轉換座標的關鍵函式(Polynomial basis functions)。

舉例來說,若我本來輸入的x值是2,4,6,此函式就會幫我們轉成2次、3次等等。
只要利用.fit_transform就可以輕鬆達成!!!

看一下實際例子吧,假如我們有下列的資料:
這一看就明顯不是"線性",反而像正弦之類的函數,我們這邊嚐試利用多項式來解,
利用剛才的工具:

我們調用了sklearn.linear_model的LinearRegression,並用較高階的語法make_pipeline直接把x值轉換與模型建立一次完成了。注意在PolynomialFeatures中,我們使用到六次項(6)。

接著擬合剛建立的模型(poly_model)poly_model.fit(),其中xfit是我們自己建立的x值:
得到yfit後,再畫出本來的資料與得到的model,看來結果還不錯囉!!!

參考資料:https://jakevdp.github.io/PythonDataScienceHandbook/