2017/11/09

Python群集型態整理

常用的Python群集型態有list, tuple, set, dict,把它們的特性整理一下

ListTupleSetDict
element typeobjectobjectobjectkey-value
(object-object)
orderedYYNN
mutableYNYY
duplicableYYNN
(unique key)
example[1, 'b', 3, 3](1, 'b', 3, 3){1, 'b', 3}{'a': 1, 'b': 'hello', 'c': 'hello'}

2017/11/06

凡走過,必留下,痕跡

有位朋友的組織要擴編,邀請我加入他們的團隊,一個主管級的職缺。職稱與福利看起來都很有說服力,不過仔細思考後,因為那個產業別是我不熟悉的領域,也是個不容易短時間進入的領域,恐怕沒辦法在他預想的時間裡就能有所成果,加上這也不是很吸引我的領域,所以我婉拒了,但是答應他幫他找合適的人選,因為腦海中浮現了一位在這個領域耕耘多年的學生,他有很充實的技術與經驗,擔任那個主管職缺應該不是問題

過了幾天後跟朋友見面,向他推薦了這位學生,先描述了這位學生的經歷,用fb讓他看了這位學生的樣貌。朋友接過手機滑了一陣子,認真地看了好幾篇po文,然後把手機還給了我,說這位學生不合適。
我問朋友,這位學生在此領域有十年了,不管是學歷、domain knowledge或是軟體開發能力,應該都足以勝任,只看fb的資料就否決掉,會不會太武斷,要不要約談過後再下定論,或至少看過正式的履歷再說

這位朋友說,從fb, ig, twitter, blog上,比經過美化的履歷更能看到一個人的本質;他開出的職缺是要帶團隊做創新的東西,這個人必須不被自己的經驗、想法綁住,先要能夠接受來自部屬、長官、外界、競爭對手等的想法與作法,然後再去驗證,綜納出團隊要走的方向、該走的路徑
他說,從學生的言論中,他看出這學生是個行為很容易被主觀意識綁架的人。他認為每個人的學習、背景、價值觀都不同的,所以具有主觀意識是正常的;但是,他從這學生的言論中,常常能看到單一角度、欠缺驗證的主觀。如果行為表現是主觀意識至上,沒有求證或依不同角度來修正立場與原則,他覺得還不適合成為該職缺主管的人選,頂多只能成為技術面的工具人用用。

凡走過必留下痕跡!
這些年下來,你留下了怎樣的足跡?
這些足跡,是否將影響別人看你的方式?也影響著你日後的軌跡?

2017/11/02

TensorFlow的初體驗

TensorFlow在Linux下的問題似乎比較少,所以用VMware Workstation Player裝了一個Ubuntu 16.04_64,用一個乾淨單純的環境來學習TensorFlow

裝好Ubuntu後,接著要安裝Python、pip與TensorFlow。我是follow TensorFlow 基礎篇〈上〉這篇文章來進行安裝。要稍稍注意目前TensorFlow的版本是搭配Python 3.5.x,在3.6.x或以上可能會有問題(也許未來TensorFlow會釋出新的版本來支援3.6.x以上的版本)。

由於我所安裝的Ubuntu已經內含3.5.2,所以不需要再安裝Python 3 (可先執行python3即可知道現有的版本)。如果你的系統沒有Python 3,為確保安裝的是3.5.x,建議安裝的指令改用:
sudo apt-get install python3=3.5.*

執行step 6時,也許你會在執行tf.Session()時遇到印出一堆訊息,由於這個message的severity是I,代表只是information,所以可以不去理會。


安裝完成後,可以閱讀這一篇TensorFlow 基礎篇〈中〉來了解一下TensorFlow的資料型態與基本操作。逐步的玩過每個指令,熟悉一下TensorFlow的操作邏輯。

接下來就要進入機器學習的主菜了。還是跟隨著TensorFlow 基礎篇〈下〉這篇為學習的主軸。這一篇利用MNIST資料庫來進行手寫數字辨識。
不過這篇有一些說明不夠清楚,或是操作上會遇到問題之處,可以參考一下其他文章:

  • 如果想更清楚瞭解one-hot encoding/vector,可以看這裡
  • 對於MNIST 資料集,可以先看這篇說明,照這篇的介紹來學習應該可以更了解。不過這一篇會用到matplotlib,而這個又依賴了Tkinter,所以要先用下面兩個指令來安裝matplotlib與Tkinter:
    sudo python3 -mpip install matplotlib
    sudo apt-get install python3-tk
  • 接下來我透過這兩篇Softmax Regression 模型解說實作 MNIST Softmax 模型來了解Softmax
  • 很重要的是,官方文章絕對是最好的參考資源:TensorFlow官方教學
  • 這位前輩分享的學習筆記絕對要致敬一下!