跳到主要內容

簡介

我們是 BoBo & PonPon

我們會在這裡分享關於 ML,DL的相關文章

以及一些日常生活點滴。

歡迎大家留言、分享🙇

這個網誌中的熱門文章

春美harumi,文山區平價日式丼飯

身為文山區在地住民,我竟然不知道興隆路上開了一家平價又好吃的春美日式料理,這家讓我想起公館的靜壽司,兩家店有一點像,都有賣壽司丼飯,但春美除了丼飯還有賣炒飯、煎蛋跟其他小菜,菜單比較多元一點,喜歡平價日式料理的朋友絕對不能錯過。 要提醒大家的是,店內的位子不多、生意很好,若想早點吃到美食建議早一點到場。 春美-鮭魚丼 春美-菜單 本 來想點 google 評論上很推的秋葵(不在菜單上)與水蓮,但很可惜當日沒有賣,想吃這兩樣的朋友可能要碰碰運氣了。 春美-鮭魚炒飯 春美-塔香蝦卵煎蛋 我們各自點了鮭魚炒飯跟鮪魚丼,還有 google 評論很推的塔香蝦卵煎蛋,老闆先送了剛煮好的炒飯跟煎蛋,上來的菜還熱騰騰,煎蛋很濕潤很香,炒飯有我很喜歡的大鍋快炒的一種焦味(?),是真的蠻好吃的。 鮭魚丼上面的鮪魚卵我很喜歡,吃起來很像真的(?),但鮭魚本人我覺得還好,值得一提的是,他給了一大坨"真實"的山葵,吃得出來不是化學做的,飯上的小菜也都很好吃。 我們去的時候老闆只有一人,因此炒飯跟煎蛋上菜會等久一點,老闆都先煮好後才後續上大家丼飯。 [整體心得]: 好吃,適合學生族,吃習慣超頂級生魚片的人可能不適合,例如我爸。 生意很好,不適合趕時間的人。 [春美-harumi] 地址:11649台北市文山區興隆路四段71號 營業時間: 週一~週六 17:00~23:00 週日 17:00~22:30

netron 好用的模型可視化工具

 深度學習模型可視化 深度學習的框架越來越多,從最多人用的 Tensorflow, Pytorch, 已經被併入 Tenserflow 的 Keras, 或是工業部署會用到的 Tensorflow lite 等等,當你今天拿到一個模型,想要知道模型架構是如何設計,使用可視化工具是一種方便且簡單的方式。 然而,不同的框架對模型可視化的支援度不一樣,因此 netron  的出現可以省去許多麻煩。自從我去公司上班後才發現這個好用的工具,真是相見恨晚啊~ netron 簡介 netron 的 github 頁面列出了所有支援的模型檔案,真的是林林總總,學都學不完啊,如果每次拿到一個新框架的模型,為了看懂模型架構而從頭開始學習,實在是太浪費時間了。netron 就可以幫助你快速的理解模型架構,netron對不同框架的支援度不太一樣,有些已經非常完整,有些可能會有一點小問題,大家可以自行嘗試。 netron 可以安裝在 macOS, Windows, Linux, 也可以直接使用網頁板,非常的方便,我平常使用時都直接用網頁版的。netron 的操作非常直觀,滑鼠滾輪放大縮小,按住左鍵可以上下移動。 netron 可視化結果 netron 的 github 已經提供許多範例了,這邊放個比較不一樣的: tensorflow lite 的 quantize model,quantize(量化) 可以有效減少模型大小,是部署深度學習模型常用的方法。這邊從 tensorflow hub 下載的 mobilenet_v1_0.25_128_quantized  ,用 netron 來看看模型的架構和參數。 下圖是選取第一個 Conv2D 的結果,可以看到 netron 把 Conv2D 的參數,input, weight, bias, 和 output 全都包了,提供了許多有用的資訊。比如說這個模型的輸入是大小 128 * 128 的彩色圖片,第一個 Conv2D 的 bias 實際的數值是多少等等。有關 quantize 的參數若想知道可以在底下告訴我。 netron 視覺化範例 Pytorch 呢,怎麼畫出來這麼奇怪 很可惜,如果你今天只有 pytorch 的 model weight 檔 (.pth) ,是沒有辦法知道模型是怎麼相連的,這是因為 pytor...

RepVGG 論文解讀,新的模型架構設計,CVPR 2021

簡介 RepVGG: Making VGG-style ConvNets Great Again  將會收錄在 CVPR 2021,在現在深度學習模型越來越複雜的,或是各種NAS(neural architecture serach) 動輒幾千GPU小時找出的模型架構的時代中令人眼睛一亮的論文,在視覺相關任務的模型設計上可以提供很大的啟發。 建議讀者先有下列的知識,在閱讀此文章或論文時會好理解許多:     1. 深度學習常見模型的架構: VGG 、 ResNet , Densenet, Inception 等,理解 CNN 模型演變史  2. 熟悉將 BN (batch norm) 的參數合併進 convolution 的方法。因 BN 和 convolution 實際上都是矩陣乘法和加法的運算,因此模型在推論 (inference) 時可以將 BN 合併進 convolution 來減少模型的參數和計算量,詳細的計算可以參考 這邊 。 背景 近年來深度學習模型的發展,多分支(multi-branch) 模型逐漸成為主流,例如 ResNet 的殘差連結(residual connect) 讓訓練較深的模型變容易,Inception 則藉由多分支來獲得不同感受野(receptive fileld)的特徵。多分支模型往往可以達到較高的效益,但也有一個很明顯地缺點: 記憶體使用量,多分支的模型比須保存中間結果直到分支合併,導致推論時速度變慢或是需要更多的記憶體,不利於工業界做模型的部署與加速。 為了解決這個問題,作者設計了 RepVGG,  在多分支的狀況下訓練模型,並用結構重新參數化的方法將分支合併,讓模型在推論時只有單一分支,藉此達到高準確率又能維持記憶體使用量。   多分支的記憶體使用量較多示意圖 模型設計 論文首先解釋為何模型骨架要使用 VGG,主要因為下列三個原因: 1. 速度快: RepVGG 只使用 3*3 convolution , NVIDIA cuDNN 或是 Intel MKL 都有對 3*3 convolution 做加速,而且未來如果某個硬體想對 RepVGG 的部署做優化,就只需要針對 3*3 convolution 的計算特別優化,不必考慮其他操作。 2. 節省記憶體: ...