原创 本地 spyder 連接 linux 遠程服務器

    如果你在服務器上面已經安裝了 anaconda,但是想在本地通過 spyder 調試 python 代碼,那麼就需要將本地的 spyder 遠程連接到服務器上面。其原理在於服務器上面開個 kernel,然後讓 spyder 連接到

原创 tensorflow restore 時報錯:ValueError: Can't load save_path when it is None.

    我用的是 tensorflow 1.9 GPU 版本,模型意外中斷後想繼續訓練模型。使用 restore 的時候出現瞭如題的報錯。經過檢查,發現是缺乏 checkpoint 文件。     tensorflow 在保存模型時,會產

原创 win10 用 Cecure CRT 遠程連接 CentOS7 linux報錯:The remote system refused the connection.

1 問題描述     初學者接觸服務器的第一步通常會實現服務器的遠程登錄功能。我最近在實現這個功能的時候也遇到了一些麻煩。     問題描述如下:     GPU 服務器裝了 CentOS7 linux,和裝了 win10 的筆記本連接同

原创 知識蒸餾(Distilling Knowledge )的核心思想

    我最近在閱讀 ICCV 關於神經網絡模型壓縮與加速的文章,順藤摸瓜閱讀了 Hinton 等大佬們在這方面的開山鉅作(Distilling the Knowledge in Neural Network)。文章很有創意,做點筆記。

原创 讀論文:Data-Free Learning of Student Networks

    ICCV 2019年總共有三篇文章講了模型壓縮與加速,這是其中一篇。文章9月份更新了最新版,網上關於文章的解讀也有了不少,我在此篇博客中簡單講下自己的理解。 1 文章解決的問題     這篇文章解決了下圖架構的一類問題,即: 已經

原创 深度學習訓練環境離線搭建:CentOS7 linux 服務器安裝 tensorflow_gpu1.9、cuda9、cudnn7、anaconda3-4.3、python3.6

1 簡述     最近需要在 CentOS7 linux 服務器上配置深度學習的訓練環境。     那麼,該怎麼做呢?     對於一臺服務器,首先得實現連網,然後進行遠程登陸。     其次,搞清楚安裝什麼軟件,如何安裝,有哪些依賴項需

原创 Opencv 踩坑記錄:Microsoft C++ 異常: cv::Exception

      在 win10 上安裝好了 vs2015 後,配置了 opencv3.4.2,測試圖片運行代碼的時候遇到了如下圖所示的問題,點擊‘繼續’還會遇到各種異常。                                   

原创 怎麼訓練 GAN 網絡

        我最近看的一些底層圖像算法的 paper 有很多用了各種變形的 GAN 來做。我就很好奇,GAN 到底有啥牛逼。網上關於 GAN 的介紹很多,我從 GAN 的訓練角度口頭解釋下其訓練機制。         GAN 的核心思

原创 讀論文:Unprocessing Images for Learned Raw Denoising

1 先講講文章幹啥的     深度學習降噪需要成對的圖像(噪點數據、對應的清晰數據)。     通常 raw 數據經過 isp 流程(我前面的博客介紹過什麼是 isp:圖像 ISP 處理流程以及新人學習圖像的注意點)後得到的 rgb 數據

原创 Python 實現圖的深度優先和廣度優先搜索

        在介紹 python 實現圖的深度優先和廣度優先搜索前,我們先來了解下什麼是“圖”。 1 一些定義 頂點     頂點(也稱爲“節點”)是圖的基本部分。它可以有一個名稱,我們將稱爲“鍵”。 邊     邊(也稱爲“弧”)是

原创 Python實現數組和鏈表的歸併排序

    歸併排序是一種穩定的排序,採用分而治之策略,可以用於順序儲存結構,也易於在鏈表上實現。其原理如下圖:     算法時間複雜度爲  O(nlogn),空間複雜度爲 O(n)。 1 在數組上實現 def mergesort(seq

原创 win7 安裝 anaconda2、anaconda3、CUDA、CuDnn、PyTorch

1. 定義說明 anaconda:是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項; CUDA:NVIDIA 推出的用於自家 GPU 並行計算的框架; CuDnn:NVIDIA打造的針對深度神

原创 Python 實現多線程和多進程(1)

    博主最近做一些深度學習模型,需要大批量處理圖片數據,這個時候單線程操作,數據預處理很耗時,因此粗略地學習了下多線程和多進程的知識,寫點簡單的學習小結,章節構建如下: 目錄   1 什麼是線程和進程 2 實現多線程 2.1 thre

原创 Python 中的堆 (heapq 模塊)應用:Merge K Sorted Lists

        堆是計算機科學中一類特殊的數據結構的統稱。堆通常是一個可以被看做一棵樹的數組對象。在隊列中,調度程序反覆提取隊列中第一個作業並運行,因爲實際情況中某些時間較短的任務將等待很長時間才能結束,或者某些不短小,但具有重要性的作業

原创 Python 實現二叉樹的前序、中序、後序、層次遍歷(遞歸和非遞歸版本)

    博主曾在之前的博客中用 python實現樹結構,此篇博客將專門用 Python 實現樹的各種遞歸和非遞歸的遍歷。 1. 構建樹     我們先構建一棵簡單的樹: class TreeNode: def __init__