原创 vivado中各個文件的含義

    在Xilinx ISE中不同的操作都有不同的文件類型對應,例如綜合、佈局、佈線、生成比特流等都會產生特定格式的文件,在vivado中也是一樣,只不過在vivado中,文件的格式相比於ISE中更加同一。     1,.dcp文件,在

原创 batch learning和stochastic learning

    在深度學習網絡中,有兩種主要的學習方式,batching learning 和 stochastic learning,下面就來對這兩種學習方式做以下總結:     batch learing:批量學習,這是一種離線的學習方法,大

原创 Regularization正則化

    這裏只是簡單說一下regularization的作用,內部的原理現在還沒有完全弄懂,等把內部原理弄懂再回來補充。     在深度學習網絡上,經常會遇到一個問題就是當我們利用樣本對網絡進行訓練的時候,我們可以用很多層在訓練樣本上做到

原创 tiny_cnn程序總結2----網絡的訓練過程

    在網絡的整體架構搭建好之後,剩下的最重要的部分就是該怎麼訓練網絡,如何更新各層網絡的weight和bias參數,LeNet網絡採用的optimization的方式是Stochastic Diagonal Levenberg-Mar

原创 caffe中網絡參數更新總結

    前面已經總結了caffe中的foward和backward的過程,最後可以得到代價函數相對於網絡中的每一個參數的梯度,接下來就要利用梯度對網絡參數進行更新。     網絡參數的更新就是網絡學習罪關鍵的一個過程,怎麼利用梯度對參數更

原创 linux重新編譯內核

    在寫驅動程序的過程中,單純用printk進行前期調試,很是複雜,很難定位錯誤在什麼地方,而內核層的代碼是不能像普通程序那樣直接利用gdb進行調試的,但是這裏說的只是在一臺計算機上不能一邊運行驅動,一邊運行gdb;但是如果有兩臺計算

原创 GoogLenet

面臨問題 1,當前深度學習網絡規模越來越大,網絡規模越來越大,網絡中的參數也就也來越多,這就很有可能在訓練中造成過擬合的問題。 2,當前的大規模網絡涉及的計算量也是非常高,特別對於卷積層,卷積層的增加帶來的就是計算量幾何級別的上升。 問

原创 verilog中讀寫文件操作

簡述 在verilog設計驗證中,我們經常需要從文件中讀取驗證數據,有些數據是文本文件,有些數據是二進制文件。但是verilog讀寫文件的操作和軟件語言還是有不同的,下面就具體總結一下verilog中的讀寫文件的操作。 讀寫二進制文件 不

原创 caffe loss以及正則項反向傳播過程

概述 以前一直以爲反向傳播的過程是這樣的,由Softmax計算得出分類loss,然後在加上L2正則項得出總的total_loss,然後再利用total_loss進行反向梯度的計算,而正則項會在每層的Forward函數中計算並返回,表面上感

原创 gdb遠程調試過程

    在另一篇文章裏已經介紹過如何編譯安裝可以遠程gdb調試的內核,在這裏我們就來詳細介紹一下圖和利用gdb遠程調試內核和驅動。     網上有很多關於gdb遠程調試內核的文章,但是很多文章都說得很雜,而且很多都是利用主機來調試嵌入式的

原创 VCS中verilog和C語言混合仿真

面臨問題 寫verilog的時候,最麻煩就是對寫好的程序進行驗證,而單純用verilog語言進行驗證有非常不方便,因爲verilog語言能提供的操作太少太少了,而如果能用其他語言對程序進行驗證對於verilog的驗證會有着巨大的幫助。ve

原创 Inception module的演化

概述 Inception module中突出強調了卷積單元特徵提取能力的強化對最後的分類效果有着很大的幫助,但是GoogLenet中的Inception module面臨一個問題就是卷積模塊太多,造成的計算量很大,特別是對於5x5這種大的

原创 feature_in_reg

feature_in_reg_matrix中如何解決讀取RAM和DDR時數據移位方式不同的位置 簡述 在輸入feature map寄存器組中,由於想用移位的方式接受來自RAM或者DDR的數據,這樣可以避免使用MUX帶來的邏輯電路的複雜性

原创 cnn_AVS_proj中的文件數據讀寫

簡述 在verilog中讀寫數據是,數據存儲的順序非常重要,即,對於單個數據,high significant的byte是放在存儲器的高地址還是低地址上,就是通常所說的big endian和little endian的問題。 不論是在硬

原创 OUTRAGEOUSLY LARGE NEURAL NETWORKS

概述 現在的CNN網絡普遍都是做成通用分類網絡,即一個網絡要做很多種事物的分類和識別,但是仔細想想這樣是不是真的合理,能不能設計一種網絡,對一種輸入用一種子網絡去做,對另外一種輸入就用另外一種子網絡去做,這樣做的好處就很明顯,首先可以在顯