2017年2月16日 星期四

恆毅力 Grit : The power of passion and perseverance

Grit 這本書在台灣的書名翻譯作 恆毅力

這是作者Angela Lee Duckworth 在 TED 上的演講 Grit: The power of passion and perseverance

書中探討一個有趣的現象

就是關於成功的一個關鍵要素之一

猶記得羅胖在這集 怎樣成為一個高手  有提到

一個成長最簡單的方式就是,讓自己投身在一個你想要學習項目的環境

並且持續的做自己不會做的事情



提供一條道路給想要不斷升級自己心智作業系統的人

[MPI] MPI學習資源

MPI 的全名是 Message Passing Interface

它是一種 平行運算的通信協定

MPI is a communication protocol for programming parallel computers  
-- Message Passing Interface, wiki

網路上找到一個 MPI 的教學 (該網站的解說

雖然撰寫的文字是英文,但是使用的文字淺顯易懂,不會艱澀

而我所使用的軟體是這款  MPICH ,它是符合 MPI 標準通信協定的軟體

MPI 是 Messages Passing Interface 的縮寫,他本身是一個規格很嚴密的通訊標準,主要的功能是在處理平行運算之間各個 node 的資料交換,請注意, MPI 並不是一套軟體喔!而至於 MPICH 就是符合 MPI 這個標準通訊協定的一套軟體了!因此,我們可以經由 MPICH 這個軟體提供的 MPI 函式庫來達成平行運算的功能喔!也就是說,我們所寫的程式,只要能夠使用 MPICH 提供的函式庫,那麼該程式就可以進行平行運算時候所需要的功能了,這就可以避免程式開發者還要去處理通訊節點上面的問題,而可以將程式開發的重心著重在程式本身的問題上面! MPICH 是由 Mathematics and Computer Science Division的 Argonne 實驗室所發展 --- 鳥哥的Linux私房菜 簡易 Cluster 架設


同時也運行在中國超級電腦太湖之光上,顯見其效能與穩定性

在架構上面,MPI 是使用分散式記憶體


--- 圖片出自此文 OpenMP與MPI的差別


如果是中文影片教學的話,網路上剛好有 黃杰森 教授的線上課程 MPI 平行計算

有興趣的朋友可以參考

2017年2月13日 星期一

[Linux] 系統常用指令整理

切換資料夾

切換需要前往的資料夾
$cd /所要/前往/資料夾/路徑

切回上一個所在的資料夾(與電視兩個最後看的頻道兩個互相切換)

$ cd -

切回home目錄
$ cd
或是
$ cd ~



命令列視窗 - 以 Terminator 為例

單視窗分割


橫向分割  |

Ctrl + Shift + hOrizontal

縱向分割  —

Ctrl + Shift + vErtical

新增分頁

Ctrl + Shift + Tab

單視窗畫面內切換

Alt + 上/下/左/右鍵

不同分頁間切換

Ctrl + Page Up / Page Down鍵


關於權限

請進到擁有權限的資料夾進行操作

stackoverflow - fatal: could not create work tree dir 'kivy' : Permission denied 

[Linux] 關於資料路徑 $環境變數 的問題

最近在進行分散式學習的時候

犯了一個錯

所以今天我們就來把 路徑 的問題給釐清


在 Google Tensorflow 上的教學 Inception in TensorFlow 中

在 worker 0 的其中一個參數 data_dir =$HOME/imagenet-data \,如圖一所示

這邊是告訴負責運算的 worker,訓練用的資料是放在什麼位置


小知識 - 這邊的 \ 符號是指由於要輸入的內容太多,先以此作分隔

因此按下 [enter] 鍵之後,cmd的畫面會變成輸入下一行指令

當然,也可以將各項變數以 [space] 鍵隔開

圖一、分散式訓練

這邊的$HOME 這個是一個環境變數,其中,HOME一定是大寫

PATH 前面加的 $ 表示後面接的是變數,所以會顯示出目前的 PATH ! ---鳥哥的Linux私房菜  6.1.3 關於執行檔路徑的變數: $PATH
所以,在$符號後面輸入路徑位置的話,按下 [tab] 鍵

由於系統不知道你的變數是什麼

所以不會如我們所想的把路徑位置給自動填字的秀在 cmd 上





2017年2月11日 星期六

[Tensorflow] 權重更新機制 Parameter Server (參數服務器) 介紹

由於神經網路大小與訓練資料數量越來越龐大

所以分散式訓練已經成為機器學習的趨勢

其中 Tensorflow 的參數更新的方式是使用 parameter server 來作為權重更新的機制


不同框架的比較

以下是在知乎上很完整的介紹

最近比较火的parameter server是什么?

論文 Parameter Server for Distributed Machine Learning

論文作者本人李沐的介紹頁面


動畫解釋

另一篇【深度学习&分布式】Parameter Server 详解


看完這兩篇

對於參數服務器會有更深入的認識

[AI] MarI/O - Machine Learning for Video Games

MarI/O - Machine Learning for Video Games

MarI/O is a program made of neural networks and genetic algorithms that kicks butt at Super Mario World.

Source Code: http://pastebin.com/ZZmSNaHX

Paper: Evolving Neural Networks through Augmenting Topologies


/* 載入prettify的autoloader */ /* 載入JQuery */