Posts

If I didn't write it down, I'll forget eventually.

Use PyTorch to solve FizzBuzz

FizzBuzz 是一個常見的程式考題,題目很簡單,就是給一個整數,如果可以被 15 整除就回傳 FizzBuzz;可以被 3 整除就回傳 Fizz;被 5 整除就回傳 Buzz;都不能整除就回傳原本的數字。

用 Python 可以簡單幾行就寫出來:

1
2
3
4
5
6
7
8
9
def fizz_buzz(num):
if num % 15 == 0:
return 'FizzBuzz'
elif num % 3 == 0:
return 'Fizz'
elif num % 5 == 0:
return 'Buzz'
else:
return str(num)

不過有狂人就把這當作分類問題,用 tensorflow 來解這個問題,原文在此,是篇很有趣的文章 XD

Read More...

搞懂 JavaScript 原型鍊

最近突然看到許多關於 js 原型鍊的介紹,這東西我從來沒搞懂過也沒認真想要搞懂過 XD
說真的好像不懂也不會影響甚麼,畢竟實戰上基本用不到這些比較底層的東西…
但是當作是邊緣冷知識來看看也是挺不錯的~

Read More...

Deep CORAL: Correlation Alignment for Deep Domain Adaptation

雖然現在可以透過 Deep neural networks 來訓練出非常強大的能力,但卻難以學到比較通用的知識,通常最後訓練出的 model 會只適合處理類似於 training data 的資料。
Domain adaption 是目前在 machine learning 比較新的問題,是希望可以讓 network 學到比較跨領域的 features ,進而使訓練出來的模型可以應用在不同 domain 的資料上。

這篇論文[1] (Deep CORAL: Correlation Alignment for Deep Domain Adaptation, B Sun, K Saenko, ECCV 2016) 提出一個 CORAL loss,通過對 source domain 和 target domain 進行線性變換來將他們各自的的二階統計量對齊 (minimizing the difference between source/target correlations).

Read More...

Using PyTorch in Windows 10

最近開始在使用 PyTorch 寫些東東,他支援 MacOS/Linux 使用,唯獨 Windows 不支援…
所以我一直都是使用 Mac 寫相關的東西。

但是我的桌機都是 Windows,在可以用桌機的環境下卻必須使用小小的 Mac 打字真的不是很高興…
正好最近從學長那邊得知有個方法可以讓 Windows 使用 PyTorch ,就趕緊來試試!

Read More...

Multi-server GPU status monitor

隨著實驗室 GPU 資源日益增加,
有越來越多人在抱怨搶不到 GPU、不知道哪台有空的 GPU 、有人佔用太多 GPU 資源等等問題,
這些問題似乎跟沒有一個方法可以「一目瞭然的知道所有 GPU 的狀況」有關。

對,就像是 cml-status 一樣,
假設有個 GPU 版的 cml-status,應該就可以讓大家更輕易地找到閒置的 GPU,如果有人佔用過多運算資源也容易發現。

於是 CMLab GPU Status 就誕生拉~

Read More...

接案三兩事

最近終於結束了一個搞了很久的 case 。
我其實沒什麼接案經驗,這次也是剛好算是學校單位找我做個活動的宣傳網站,我心想既然是學校的應該也不太容易被騙,就來試試看所謂的接案。
在這次經驗中其實也是學到不少東西、踩了很多雷,大部份都是因為沒什麼經驗導致踩到的很多很多算專案管理相關的雷。
如果還有下次的話,一定要注意一些事情才可以讓整個案子的進行更加順利。

Read More...

Coherent Line Drawing

線條藝術畫(line drawing) 是最簡單的一種視覺呈現圖畫的方式,僅僅是幾條線條即能清楚的表示出圖片中的物件。
這篇論文(Coherent Line Drawing’ by Kang et al, Proc. NPAR 2007)提出一個全自動的方法,可以將相片轉換成簡單、高品質的線條畫風格圖片。

輸入一張影像,即可產生出一張線條藝術風格畫。 輸入一張影像,即可產生出一張線條藝術風格畫。
Read More...

Panorama image stitching

全景照(panorama) 現在已普遍存在手機的相機軟體中,是一種可以拍攝數張照片然後接在一起使整個視野變更大的方法,全景照常比較常見的是往同一方向拍攝的,但也是有上下左右都全景的那種(Photo Sphere)。
以一般往同方向拍攝的一系列照片來說,要合出一張完整的全景照理論上就是將這一系列的照片重疊的部分對齊就可以了。
但實際上還是需要經過一系列的方法,才能接合出比較良好的全景照。

Read More...

Migrate mail server to Gmail - migration strategy

上一篇講了如何使用 google 提供的 migration tool 來遷移郵件,但需要知道大家的密碼才能用 IMAP 存取郵件資料。
一般來說即使是 root 也是看不到密碼的,就算能也只是看到加密過後的密碼。
而本篇要紀錄的就是我們遷移策略,包含我們怎麼繞過(?)密碼這關。

Read More...

Migrate mail server to Gmail - using migration tool

最近 CMLab 終於申請到 G Suite for Education 了~
也就是我們不用再維護自己的 mail server 了~灑花~

但這也就又多了一件事:Migration…
我們要做的事情有以下幾件:

  1. 讓 MX record 指到新的位置
  2. 遷移群組
  3. 遷移舊信

其中 2, 3 並非必須做的,但為了讓大家可以無痛轉移,我們才決定要搬信以及同步群組。
1, 2 十分容易,就照著說明就可以完成,真的不會的話還可以打給 Google 救援 XD
而本篇要紀錄的是 遷移舊信 的部分,這是其中最麻煩也最繁瑣的部分…

Read More...