Time of Update: 2018-08-16
GLM和MVP矩陣操作速記 連續工作15小時,累了,睡覺。 include “glm/glm.hpp” include “glm/gtc/matrix_transform.hpp” 若未特別說明,以下樣本均假設矩陣/向量為四維 glm::mat4 mat; glm::vec4 vec; 對於vec來說,第四位為1代表座標,0代表方向 平移矩陣 | 1 0 0 X | | 0 1 0 Y | | 0 0 1 Z | | 0 0 0 1 | 構造平移矩陣
Time of Update: 2018-08-16
最近alphazero都已經出來了,貌似比alphago zero更厲害,在alphazero和alphago zero中使用了比較 新的策略,將價值網路和策略網路進行了融合,即同一個網路,產生兩個不同的輸出,讓兩個網路的權重進行 共用,同時進行更新,為了加深理解,在最簡單的遊戲cartpole上進行了嘗試.實際上將價值網路和策略網路 進行融合,實現起來應該是比較簡單的,需要注意的一個小問題是,在之前的價值網路和策略網路,其學習率
Time of Update: 2018-08-16
攝像機矩陣由P由內參矩陣和外參矩陣組成,對攝像機矩陣進行QR分解可以得到內參矩陣和外參矩陣 在opencv的3D重建中(opencv中文網站中:照相機定標與三維情境重建),對攝像機的內參外參有講解: 外參:攝像機的旋轉平移屬於外參,用於描述相機在靜態情境下相機的運動,或者在相機固定時,運動物體的剛性運動。因此,在映像拼接或者三維重建中,就需要使用外參來求幾幅映像之間的相對運動,從而將其註冊到同一個座標系下面來
Time of Update: 2018-08-16
堆排序 堆排序是利用堆的性質進行的一種選擇排序。下面先討論一下堆。 1.堆 堆實際上是一棵完全二叉樹,其任何一非分葉節點滿足性質: Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]或者Key[i]>=Key[2i+1]&&key>=key[2i+2]
Time of Update: 2018-08-16
1 批處理 tf在進行批處理時,會需要用到均值與方差資料,而在批處理中使用的均值與方差不是單純的使用當前批資料的均值與方差,而是對會根據當前批均值方差和上一批維護的均值方差進行指數衰減求一個新的均值方差,而對slim中的batch_norm,需要注意以下幾點: slim
Time of Update: 2018-08-16
caffe Convolution層的convolution_param參數字典中有一個group參數,其意思是將對應的輸入通道與輸出通道數進行分組,比如輸入資料大小為 90x100x100x32 90是資料批大小 100x100是映像資料shape,32是通道數,要經過一個3x3x48的卷積,group預設是1,就是全串連的卷積層,
Time of Update: 2018-08-16
http://www.pdosgk.com/index.php/home/news/show/id/70159.html 將 protocol 的方法聲明為 mutating Swift 的 protocol 不僅可以被 class 類型實現,也適用於 struct 和 enum。因為這個原因,我們在寫給別人用的協議時需要多考慮是否使用 mutating 來修飾方法,比如定義為 mutating func myMethod()。Swift 的 mutating
Time of Update: 2018-08-16
各種卷積與反卷積動態圖 反卷積: 詳細文字連結:https://www.zhihu.com/question/43609045/answer/132235276(該連結中並沒有下面的動態圖) Deconvolution大致可以分為以下幾個方面:(1)unsupervised learning,其實就是covolutional sparse coding[1][2]:這裡的deconv只是觀念上和傳統的conv反向,傳統的conv是從圖片產生feature
Time of Update: 2018-08-16
泛型代碼讓你能夠根據自訂的需求,編寫出適用於任意類型、靈活可重用的函數及類型。它能讓你避免代碼的重複,用一種清晰和抽象的方式來表達代碼的意圖。 泛型是 Swift 最強大的特性之一,許多 Swift 標準庫是通過泛型代碼構建的。事實上,泛型的使用貫穿了整本語言手冊,只是你可能沒有發現而已。例如,Swift
Time of Update: 2018-08-16
1.新版本的opencv3.X系列在提升穩定性的同時也砍掉了一些常用的函數庫,例如opencv2\contrib\contrib.hpp ,這個庫在opencv2.X版本中就有,到opencv3.x版本之後發現被砍掉了,還好opencv是開源的,可以直接將需要的源碼部分包含到工程檔案中編譯就行了,一般相容性還是不錯的。 例如:在 contrib.hpp中包含了一種可以直接擷取當前檔案夾下檔案的類 class
Time of Update: 2018-08-16
Paxos是能夠基於一大堆完全不可靠的網路條件下卻能可靠確定地實現共識一致性的演算法。也就是說:它允許一組不一定可靠的處理器(伺服器)在某些條件得到滿足情況下就能達成確定的安全的共識,如果條件不能滿足也確保這組處理器(伺服器)保持一致。 什麼是共識。 具體來說是這樣:分布式系統中由於網路之間通訊可能會中斷,雖然機率很低,但是沒有100%完美的網路因此,依靠網路通訊的電腦之間要達成共識就比較困難,假設有X,
Time of Update: 2018-08-16
過去, Paxos一直是分布式協議的標準,但是Paxos難於理解,更難以實現,Google的分布式鎖系統Chubby作為Paxos實現曾經遭遇到很多坑。 來自Stanford的新的分布式協議研究稱為Raft,它是一個為真實世界應用建立的協議,主要注重協議的落地性和可理解性。
Time of Update: 2018-08-16
那麼到底什麼是挖礦呢。礦工又如何通過挖礦獲得比特幣的呢。這就需要從比特幣區塊鏈系統採用的PoW(工作量證明)共識機制說起了。 PoW(工作量證明)共識機制 先講一個故事:
Time of Update: 2018-08-16
“區塊鏈是實現無中心分布式總賬的一種技術。除了採用塊、鏈結構的典型區塊鏈以外,還有其他的方式實現分布式總賬這個需求。總賬技術的基本單元是‘交易’,整個賬本是由一條條的交易構成。‘塊’類似於賬本中的頁,每頁都記錄了若干條交易,把一頁一頁的賬頁按照時間順序裝訂起來,就形成了一個完整的賬本——‘區塊鏈’。‘塊’是交易的容器,‘塊’通過密碼學演算法相串連,形成了按照時間序列的‘鏈’。這種組織賬本的好處是由密碼學演算法保證了無法篡改鏈上的單獨交易,除非整體性的篡改。”
Time of Update: 2018-08-16
比特幣的數位簽章是什麼。 比特幣的數位簽章,就是只有比特幣轉賬的轉出方產生的,一段防偽造的字串。通過驗證該數字串,一方面證明該交易是轉出方發起的,另一方面證明交易資訊在傳輸中沒有被更改。
Time of Update: 2018-08-16
一、fabric網路結構(暫時不包括CA) 如上圖所示,在fabric網路中,O表示Orderer,P代表Peer,EP代表Endorsing Peer(endorser),CC代表Chaincode以及Client、Channel、Ledger、Transaction,由它們組成了整個網路,下面對每種元素進行介紹:
Time of Update: 2018-08-16
一、發起transaction 當client想要發起一個transaction時,它會首先發送一個PROPOSE訊息到它選擇的一組endorser節點,訊息模式有以下兩種,節點可以自由選擇(可能有更多種): client首先將<PROPOSE, tx>訊息發送給某個單個的endorser,該endorser會產生相應的版本依賴(anchor),以供client稍後作為PROPOSE訊息的參數發送給其它endorser節點;
Time of Update: 2018-08-16
Kafka解析 www.jasongj.com/2015/01/02/Kafka深度解析 Terminology: Broker Kafka叢集包含一個或多個伺服器,這種伺服器被稱為broker Topic
Time of Update: 2018-08-16
第0章 引言 比特幣是一套軟體,對軟體代碼進行修改升級就經常會涉及到兩個概念,一個叫硬分叉,一個叫軟分叉。這到底是什麼意思呢。社區裡最常見的定義說是對共識的修改。但“共識”具體指的是什麼,很難理解。我們還是多實際的修改代碼層面來看下它們的定義吧。 第1章 比特幣的交易格式和交易記錄 在理解什麼是硬分叉和軟分叉之前,我們先要知道這兩者要修改的東西是什麼。 比特幣交易在漢語中有雙重意思,這是硬分叉和軟分叉經常被誤解的一個關鍵。
Time of Update: 2018-08-16
在開發過程中,我遇到了關於子目錄資源或代碼無法訪問的問題. 這個跟FileUtils的查詢路徑的設定有關,在我們預設建立的項目中 會進行如下設定: cc.FileUtils:getInstance():addSearchResolutionsOrder("src");cc.FileUtils:getInstance():addSearchResolutionsOrder("res");