Posts

Deep Learning 開發框架 Tensorflow vs Keras vs PyTorch 我應該學哪個?

Deep Learning 開發框架 Tensorflow vs Keras vs PyTorch 我應該學哪個? 簡答(2018-06-05) 基礎或入門:Keras。用 Keras 感覺一下 Deep Learning 的威力,Keras 的好處就是對於現成的架構、資料集可以很簡單幾十行程式碼就能實現,不過因為Keras是高層的API,無法方便的對架構微調、實驗新的架構,要做這些事請考慮用Pytorch或Tensorflow 研究與快速開發:Pytorch。 向人群靠攏:Tensorflow。因為開發的比PyTorch早,很多專案都是用Tensorflow寫的。 PyTorch與Tensorflow的設計原則差異 PyTorch與Tensorflow的設計原則上,就差在PyTorch是「Define-by-Run」而Tensorflow是「Define-and-Run」。 兩者各是什麼意思,而實驗寫作起來又會有什麼差呢?要回答這個問題,我們直接以有DL界Hello World的MNIST為範例。 PyTorch MNIST Tensorflow MNIST 在看PyTorch MNIST時,你可以用一般解讀Python程式的順序: Line 109 : main() Line 58 : def main () : Line 104 : model = Net().to(device) #定義模型,這時會呼叫class Net(nn.Module)的__init__函式,初始化網路架構 Line 104 : train(args, model, device, train_loader, optimizer, epoch) #把模型丟進train函式裡 Line 27 : def train (args, model, device, train_loader, optimizer, epoch) : Line 32 : output = model(data) #實際把data輸入模型當中,這時會呼叫class Net(nn.Module)的forward函式,計算完網路forward後回傳softmax結果 … 看完這個流程,你或許會認為,這樣的流程不是理所當然嗎? 我們再來看Tenso

(Research Note) Model-Aided Monocular Visual-Inertial State Estimation and Dense Mapping

Image
Qiu, Kejie, and Shaojie Shen. “Model-aided monocular visual-inertial state estimation and dense mapping.” Intelligent Robots and Systems (IROS), 2017 IEEE/RSJ International Conference on. IEEE, 2017. 簡介 (Sensor Fusion 感測器融合) 利用三維模型定位得到全域姿態(global pose),修正VIO累積誤差 ​

ROS - Implementing publisher / subscriber using RoboWare

Image
ROS 的開發流程,跟早期的Android開發一樣,開發工具很原始,瑣碎機械化的部驟又多,開發時非常消磨耐性。 讓Android開發流程更順暢的功臣是AndroidStudio,而讓ROS開發流程簡化的就是RoboWare了(開發軼聞 本来做ROS底盘最后做了个IDE:RoboWare Studio诞生记 ) 以下展示了使用RoboWare加速開發的實際過程: 詳細解釋可以參照 ROS Robot Programming (English) Yoonseok Pyo page.151~ Sample code: https://github.com/ROBOTIS-GIT/ros_tutorials/tree/master/ros_tutorials_topic ​

Ubuntu Chrome Remote Desktop Setting

Ubuntu Chrome 遠端桌面設定 Ubuntu16.04 下用 Chrome Remote Desktop 取代緩慢的 Teamviewer 由於在Ubuntu下有使用遠端桌面的需求,找了習慣的Teamviewer來用,發現Teamviewer在Windows下算順暢但在Ubuntu下的速度慢得難以忍受,找了其它的替代方案如X11 server等,畫面陽春又無法直接操作原桌面GUI,難道沒有好用的遠端桌面嗎? Chrome Remote Desktop(CRD) 或許是個最好的解決方案……才怪 CRD在以預設安裝好時,一樣會以X11 server一樣的方式,為遠端連入建立一個Session,因此連入時,你將會看到桌面的Menu bar不見了,滑鼠也怪怪的,總之怎麼用怎麼不順,但別絕望的太早,設定一下CRD會是Ubuntu下用得最順手的遠端桌面。 Chrome 安裝 到官網下載 google-chrome-stable_current_amd64.deb $ sudo dpkg -i google-chrome-stable_current_amd64.deb $ sudo apt-get -f install $ sudo dpkg -i google-chrome-stable_current_amd64.deb Settings => Sign in to Chrome 安裝 Chrome Remote Desktop Plugin Remote Assistance => Get started => Share => 下載 chrome-remote-desktop_current_amd64.deb $ sudo dpkg -i chrome-remote-desktop_current_amd64.deb # 安裝缺乏的套件 $ sudo apt-get -f install $ sudo dpkg -i chrome-remote-desktop_current_amd64.deb 完成上述安裝後,還需要進一步設定 Chrome remote desktop 設定 停止 Chrome Remote Desktop: /opt/google/chrome-re

Numpy入門資源

快速入門 Numpy的101個練習 Numpy小抄 (出處: DataCamp ) ​

Deep learning roadmap

Image
Preparation 先備知識&工具 Numpy ​