原创 AT&T 彙編基礎

AT&T 彙編是一種和intel彙編在語法上完全不同的彙編語言,爲避免混淆intel語法,本文只介紹AT&T彙編,以下是所有的寄存器,AT&T的第一個特點就是每個寄存器名前必須加‘%’,立即數前必須加‘$’:(下面省略了%)8個32位寄存

原创 編譯軟件的一些參數(不定時更新)(多用於linux下)

gcc:(編譯器) -v 顯示gcc版本。 --h 顯示幫助。 -o 重命名文件。例:gcc test.c -o main.out -E 將源文件預處理但不編譯。例:gcc test.c -E -o test.i -c 將源文件編譯爲工程

原创 一個簡單的文件系統

此文件系統暫時命名爲lxfs。使用B+樹作爲管理結構,但是爲了可以容納更多信息,做了一定的修改。下面是傳統的B+樹,信息全部保存在葉結點中,通過內部節點進行索引,每一個父級節點的元素索引一個子節點。 以下是經過修改的B+樹,每個父節點可

原创 makefile中使用powershell

在makefile中使用shell命令,格式爲:$(shell 命令)。例如:$(shell pwd),用來獲取當前路徑。 但是只有在Linux下直接使用有效,在Windows下使用會出現錯誤,不過,GNU/make提供了指定shell的

原创 x86CPU中TSS

TSS爲intel爲了方便操作系統管理進程而加入的一種結構,用法也很簡單。TSS是一個段,即一塊內存,這裏保存要切換的進程的cpu信息,包括各種寄存器的值、局部描述表ldt的段選擇子等,切換時cpu會將這段內容存進各自對應的寄存器,然後就

原创 windows下使用make的一些方法(不定期更新)

在windows下可以使用MinGW的make,安裝方法網上有很多,不做闡述,一些按照linux下編寫makefile可能會在Windows下出錯,以下爲我遇到一些可以用來解決的方法: 1. process_begin: CreatePr

原创 嘗試做一個簡單的文件系統

使用B+樹作爲文件系統的主要數據結構,用來儲存文件描述符,文件描述符用來儲存文件的具體信息(在磁盤上的位置,大小,時間等)。 文件描述符參考了FAT32中用來描述文件信息的結構,但有較大的區別。每個文件描述符32佔用字節,分爲兩種:用於描

原创 在C語言中如何訪問堆棧

堆棧一般是用來保存變量之類的東西(靜態變量在內存中,雖然堆棧就是內存的一部分,但爲了防止歧義,還是分成兩部分來說),一般情況下沒必要去故意讀取堆棧的值,變量用變量名就可以直接訪問,但我曾經想要讀取函數返回後代碼繼續執行的地址,因此想到了來

原创 構建一個四層的人工神經網絡

2017-11-23 03:50  從下午推導公式到現在,成功完成了四層神經網絡的構建和相關代碼的編寫,用這個神經網絡和之前三層的神經網絡相比較,發現了一些比較有趣的現象(三層的和四層的神經網絡暫時簡寫爲T_rnn和F_rnn,)。 首先

原创 構建一個簡單的人工神經網絡

2017-11-22 01:28      人工神經網絡是進行機器學習的基礎,模仿生物神經元的工作方式構建神經網絡,讓計算機擁有“自我學習“的能力。人工神經網絡的誕生具有革命性的意義,”自我學習“是其最大的優點,通過適當的訓練,它語音識別

原创 構建一個六層的前饋神經網絡

2017-11-23 22:41  依據上篇文章的推導,設l(n)層的第x個神經元爲l(n)_(x),其誤差值爲delta_l(n)_(x),則有以下公式: delta_l(n)_(x) = delta_l(n+1) * w(n+1) *

原创 Python語言之numpy庫

2017-11-20 01:23  numpy庫是python中使用非常廣泛的一個數學庫,特別是在數組、矩陣方面的運算有非常強大的支持。 導入方法通常爲:import numpy as np  #很多人都習慣在導入時把numpy命名爲np

原创 接上一篇文章,邊緣檢測的源代碼

2017-11-18 00:59  '''原來寫的代碼太過凌亂,又花了5個小時重寫了代碼,把大部分功能定義成了函數,代碼總行數比原來少了10%。 幸好是python語言,如果用c語言,估計得寫三四百行,python的優點就是語法簡單,比其

原创 idx-ubyte文件解析

2017-11-19 02:19 Mnist手寫數字數據庫是著名的神經網絡入門級訓練集,它圖像文件的後綴名一般爲idx3-ubyte,圖像標籤文件後綴名爲idx1-ubyte。它分爲兩種圖像集,一個訓練集,一個測試集。它內置的圖像大小爲2

原创 接《構建一個簡單的人工神經網絡》——部分代碼

2017-11-22 01:49 前言:代碼爲python3,這是一個三層的神經網絡,有兩個輸入,兩個輸出。  import numpy as np def sigma(z):     return 1/(1+np.exp(-z))