深度學習
keineahnung2345
这个作者很懒,什么都没留下…
展开
-
為何說L1正則化會使得權重變得稀疏?
本文是筆者在學習吳恩達的深度學習課程時,在課程討論區看到的相關討論,加上筆者自己的理解整理而成。權重的稀疏與否其實是相對的概念,與其說使用L1正則化使得權重變得稀疏,筆者更喜歡說成**L2正則化防止權重變得稀疏!**原创 2018-10-31 23:10:46 · 252 阅读 · 0 评论 -
為何說邏輯回歸是線性模型?
邏輯回歸的公式中有使用到sigmoid函數,為何仍說邏輯回歸是線性模型呢?本篇會從數學的角度來看邏輯回歸模型。我們在最後會發現,這跟邏輯回歸模型的決策邊界有關。原创 2018-11-01 22:42:10 · 276 阅读 · 0 评论 -
Ubuntu下安裝h5check
筆者照著h5check官網上給出的安裝說明實作,卻還是踩了一些坑,本篇詳細紀錄了h5check從下載、解壓縮、建構、安裝到測試的詳細流程,希望能幫到有需要的同學。原创 2018-11-09 15:11:39 · 516 阅读 · 0 评论 -
Mask_RCNN代碼研讀(matterport版本)系列文(一)- ResNet部份
在開始閱讀這近三千行的代碼之前,先對模型整體架構有基本的認識會比較好。以下先說說閱讀代碼時需注意的幾個地方:Mask R-CNN的發展歷程是由R-CNN到Fast R-CNN到Faster R-CNN再到Mask R-CNN。它們使用ResNet當backbone來抽取特徵,並且用到了Feature Pyramid Network來解決所謂多尺度目標檢測的問題。這個repo是用Keras+TensorFlow寫成。經筆者實測,使用Keras2.2.2或TensorFlow1.8原创 2018-12-26 17:27:19 · 2293 阅读 · 5 评论 -
為何邏輯回歸可以使用0來初始化,而神經網路不行?
本文是筆者在學習吳恩達的深度學習課程時所碰到的問題。在課程中僅概述了此問題的發生原因,藉此引導出隨機初始化神經網路權重的必要性,並沒有給出嚴謹的數學推導。筆者試著把中間缺少的數學推導過程補上,並將之記錄於此。為何不能用0來初始化神經網路?這個問題的答案簡單來說,是因為這樣做的話,會造成weight symmetry的問題。也就是說網路同一層中的每個神經元都發揮一樣的功能,而這個問題在訓練過程中是會持續存在的。那為什麼邏輯回歸模型可以用0來初始化呢?答案就在於兩者模型原创 2018-11-24 15:35:29 · 610 阅读 · 0 评论 -
InternalError: Failed to create session.錯誤及解決方式
這個錯誤是在一開始訓練keras(使用tensorflow當backend)模型的時候就出現。到命令行使用`nvidia-smi`查看GPU memory的使用情況:發現GPU memory己被其它的程序佔滿,試著將這些程序關掉。然後再重新運行剛剛那段代碼,發現問題成功解決!原创 2018-11-27 14:23:41 · 8435 阅读 · 0 评论 -
InternalError (see above for traceback): Blas GEMM launch failed : a.shape=(x, x), b.shape=(x,x)錯誤
這個錯誤是在一開始訓練Keras(使用TensorFlow當backend)模型的時候就出現。Python版本:3.5.2 Keras版本:2.1.2 TensorFlow版本:1.3.0使用`nvidia-smi`查看GPU memory的使用情況:發現己被其它程序佔滿。試著將這些程序關掉,然後再重新運行剛剛那段代碼(不必重啟kernel),問題即可成功解決!原创 2018-11-27 14:39:21 · 7517 阅读 · 0 评论 -
Feature Pyramid Networks for Object Detection論文研讀與問題討論
本篇文章講述論文Feature Pyramid Networks for Object Detection。本文除了介紹論文本身外,還加入了筆者研讀論文時的碰到的問題及個人的想法。將之記錄於問題討論章節中該論文著重於解決多尺度目標檢測的問題。它使用CNN固有的多尺度,金字塔狀的結構,加上top-down pathway以及lateral connection,來建立feature pyramid。這種做法僅額外多了一點計算量就能提升CNN對小物體檢測的效果。並且FPN還能當作通用的特徵提取器來使用原创 2018-12-26 17:25:41 · 1464 阅读 · 2 评论 -
docker: Error response from daemon: OCI runtime create failed
這個錯誤是筆者在使用nvidia-docker run時發生的.錯誤訊息中提到cuda>=9.0,去TensorFlow - GPU support查詢,發現果然是TensorFlow 1.9要求CUDA版本需高於9.0。接著查詢cuda與nvidia driver相容性的表格,發現CUDA 9.0需要的nvidia driver版本必須大於等於384版。查詢一下機器上的nvidia driver版本結果顯示為375.26版,低於要求的384版。這代表我們必須要重裝nvid原创 2018-12-18 11:51:58 · 3477 阅读 · 0 评论 -
Mask_RCNN代碼研讀(matterport版本)系列文(二)- Feature Pyramid Network部份
在本系列的第一篇Mask_RCNN代碼研讀(matterport版本)系列文(一)- ResNet部份中,我們了解到ResNet在Mask RCNN的大架構裡扮演的是特徵抽取器(backbone)的角色,而這些feature maps將被Feature Pyramid Network(以下簡稱FPN)用來進一步構建在更層語義訊息皆很強的特徵。在本篇中將會接著對FPN進行探討。對FPN還不了解的同學可以先看看Feature Pyramid Networks for Object Detection論文研讀。原创 2018-12-28 13:57:04 · 900 阅读 · 0 评论 -
Pyinstaller打包Keras程序
要在Linux系統上將Python檔案打包成可執行檔,參考Freezing Your Code這篇文章,可以使用PyInstaller及bbfreeze這兩個套件。但是bbfreeze的GitHub官網說明該項目己無人維護,所以這裡選擇PyInstaller。筆者在Ubuntu 16.04,CUDA V9.0.176的docker環境中將keras的mnist範例打包。把打包好的執行檔拿到其它機器上,相同環境的docker內,發現可以執行成功,GPU也會被調用。原创 2019-01-17 11:57:27 · 2848 阅读 · 6 评论 -
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks論文研讀與問題討論
Faster R-CNN改良自Fast R-CNN,它將Selective Search改為RPN。本篇介紹Faster R-CNN的架構及實作細節。在研讀過程中碰到不太了解的地方,筆者有做了一些研究,將它們整理到問題討論章節中。問題包括了:ZF Net及VGG 16最後一層卷積層的感受野是如何計算出來的?為何classifier head要輸出2*k個值,而非k個值就好?ConvNet backbone輸出的feature map長x寬約為2400?原创 2019-01-18 17:48:43 · 893 阅读 · 0 评论 -
Fully-Convolutional Siamese Networks for Object Tracking論文研讀與問題討論
本篇是目標跟蹤領域SiamRPN系列的首篇論文。本篇的作法為線下similarity learning+線上目標跟蹤。線下:訓練一個孿生網路,用來從一張大的search image裡找出exemplar image。線上:“在search image上使用滑動視窗尋找exemplar image”的步驟被“一個計算兩輸入間互相關(cross-correlation)的雙線性層(bilinear layer)”所取代。原创 2019-09-03 20:35:10 · 652 阅读 · 0 评论