2018年7月16日 星期一

FEDC 2018 小記

這次是第一次參加 FEDC,主要是參與前端的議程。

Path of web design modularization

模式化從我離開學校後,一直從別人口中聽到的字眼,總是說如果你的軟體可以快速的簡單的更換功能,就像樂高一樣,那就 bla bla bla

原本對這個議程有多的期待的,但是總覺得的是空談。
到底是先有頁面再切元件,還是有規劃元件再來組成頁面。

我想只有賣套裝軟體的才能賣元件給客戶組畫面吧(笑)。就像 MS office

在  Q&A 中,有人提出依 Atomic Design 當所有元素被拆細的時候,要再組出第二個元件的時候很可能缺漏部份 CSS 這時候該怎麼辦?如果說以魔鬼藏在細節中來說的話 Atomic Design 就像製造出了很多的魔鬼,可惜講者沒有明確的 Solution

結論:要怎麼拆不是問題,怎麼再組合才是問題 

10F - PureScript for JavaScript Developers

第一次接觸 PureScript ,果然跟事先在網路查的一樣,是數學阿.....
概念很不錯,但是覺得很難實作阿.....

Learn Tensorflow.js in 30 minutes

之前就有了解過一些 Tensorflow 內容大概如預期的一樣。

The (Finite) State of Reactive Animations

透過 State + Event 來規劃整個 UI 設計,蠻同講者的概念,把所有的狀態列出並透過事件的串聯,完成完整的操作流程。
不過這東西常常是聽別人說簡單套用到實作時到就遇到了太複雜的困難。
 講者提供了很不錯的工具
https://github.com/davidkpiano/xstate



2018年2月12日 星期一

fast.ai 學習筆記 - mnist 篇

簡單筆記

搭配資料:https://github.com/fastai/courses/blob/master/deeplearning1/nbs/mnist.ipynb

MNIST

手寫數字資料集,每個數字解析度都相同,固定為 28 x 28 的大小,ML界中的"Hello World!"
在 keras 中的匯入方式很簡單
```
from keras.datasets import mnist
```

np.expand_dims (numpy.expand_dims)

增加"一個"指定的維度在傳入的資料上,指定維度的範圍為被操作資料維度(n)的 n+1 中
例如:傳為的資料為 2 維資料,所以可以增度的維度為 0, 1, 2
在 mnist.ipynb 中,增加第二個維度,用以代表字體的灰階
Test code: http://ec2-35-163-5-73.us-west-2.compute.amazonaws.com:8888/notebooks/workspace/%5Btest%5D%20expand_dims%20.ipynb#

```
# 參數1:被操作的資料(不一定要是 Array )
# 參數2:增加在那一個維度
X_test = np.expand_dims(X_test,1)
```

onehot (OneHotEncoder)

簡化資料的一種手段,類似把填空變成選擇題
例如:原本的有[白天]、[晚上]兩種資料,經過 on hot encoder 後就會變為 [1,0] [0,1]
又例如,[眼睛][鼻子][嘴巴][耳朵]會轉換為[1,0,0,0][0,1,0,0][0,0,1,0][0,0,0,1]
在 mnist.ipynb 中用來轉換 0-9 的數字,數字5 就變成 [ 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.]

pn.mean

求取均值,義意不明

pn.std

求標準差,義意不明

Sequential

Linear stack of layers

Flatten

把Array 從多維變單維
Test code: http://ec2-35-163-5-73.us-west-2.compute.amazonaws.com:8888/notebooks/workspace/%5Btest%5D%20Flatten.ipynb


Linear model

第一層:Lambda - normalize 圖檔,每張圖的資訊為 彩度灰階 1,  寬 28, 高 28px
第二層:Flatten - 攤平圖檔資訊 1x28x28
第三層:Dense - 歸類為 10 類 ( 數字 0-9)


2017年7月14日 星期五

上課後記 [Raspberry Pi 3樹莓派寵物小車]

起因:
某日公司同事傳了一個連結問要不要去上課,課程內容就是 [Raspberry Pi 3樹莓派寵物小車] 因為原本就在想能不能做到 Raspberry Pi + opencv + Bluetooth 做到看臉播歌
所以就報名啦,雖然找我的同事後來去生增產報國了....

上課心得:
有老師還是比自已土炮好,雖然講解的不深但還是說明了很多原本在網路上
看資料看的似懂非懂的觀念。
因為之前就用過 ESP-8266 做過類似的小車,所以組裝及程式基本上都沒什麼問題
但是 opencv 就離我十分遙遠....
最後的成果,因為上課現場網路混亂其實效果不好
回到家裡也改做手機遙控車(這不是上次8266做過了嗎==),不過這次加上了視訊串流(好棒棒?)

待整理資料
開機自動執行 script
web server
streaming server
remote car code


相關連結
https://www.techbang.com/posts/51579-course-raspberry-raspberry-pi-3-real-pet-car-workshops-gpio-displays-camera-image-identification-pets-car-implementations-application-entry-to-the-institute