原创 Android圖形顯示系統——概述

序 Android的圖形顯示系統,雖然感覺自己基本瞭解了,有問題基本都能解決,但要寫時,一是覺得千頭萬緒無從下筆,一是發現還有很多並沒有真正搞懂。開工寫這套體系,也順便查漏補缺下。 Android圖形顯示系統的剖分 圖形顯示系統就

原创 快速矩陣乘法的研究——下

快速矩陣乘法的研究 本文我們只看一個算法,就是 Coppersmith 和 Winograd 提出的O(2.37)O(2.37)O(2.37)的矩陣乘法。請確保前兩篇內容已經掌握理解。 https://blog.csdn.net/

原创 快速矩陣乘法的研究——中

快速矩陣乘法的研究 漸近和不等式(Asymptotic sum inequality) 有了APA之後,我們突破了Strassen 算法的閾值,但希望進一步往下降時,總是構造不出來,遇到了瓶頸。這個時候,人們發現了一條新的道路。 同時

原创 從軟件工程的角度寫機器學習6——深度學習之卷積神經網絡(CNN)實現

卷積神經網絡(CNN)實現 背景 卷積神經網絡廣泛用於圖像檢測,它的實現原理與傳統神經網絡基本上是一樣的,因此將普遍意義的神經網絡和卷積神經網絡的實現合成一篇。 神經網絡實現思路 “扔掉神經元” 儘管所有教程在介紹神經網絡時都會把一大堆神

原创 OpenGL的替代者——Vulkan

OpenGL的替代者——Vulkan Vulkan是一個跨平臺的2D和3D繪圖應用程序接口(API),最早由科納斯(Khronos)組織在2015年遊戲開發者大會(GDC)上發表。旨在替代OpenGL,提高圖形性能。 基於OpenGL的圖

原创 從軟件工程的角度寫機器學習7——-LSTM網絡實現

LSTM網絡實現 問題描述 影片評價問題: 輸入一個英文句子,輸出好/壞的二元評價,比如 The movie is very bad -> 0 Wonderful -> 1 算法思路 本圖中的數字僅爲示例,並非真實數據 Em

原创 從軟件工程的角度寫機器學習5——SVM(支持向量機)實現

SVM實現 SVM在淺層學習時代是主流監督學習算法,在深度學習時代也往往作爲最後一個預測層使用(說深度學習擊敗了SVM的純屬扯淡)。 SVM算法總體流程 本系列文章旨在講解機器學習算法的工程實現方法,不在於推導數學原理。因此想深入瞭解原理

原创 圖像轉置的Neon優化代碼

圖像轉置的Neon優化代碼 原理 圖像轉置 圖像轉置和矩陣轉置是一樣的,其公式爲: dst.getPixels(y, x) = src.getPixels(x, y) dst.w = src.h dst.h = src.w 效果如下:

原创 Android圖形顯示系統——一張圖片的顯示流程

Android設備上一張圖片的顯示過程 應用示例 假如我們現在有一張這樣的風景照 想在Android設備(比如一個小米pad)上顯示出來。首先想到的是寫一個應用,用一個ImageView,把這張照片附到ImageView上顯示,如下

原创 3D文件壓縮庫——Draco簡析

3D文件壓縮庫——Draco簡析 今年1月份時,google發佈了名爲“Draco”的3D圖形開源壓縮庫,下載了其代碼來看了下,感覺雖然暫時用不到,但還是有前途的,故簡單做下分析。 注:Draco 代碼地址: https://githu

原创 適用於OpenGL離屏渲染上下文的初始化代碼

說明 最近做圖像算法,需要用到shader對圖像進行處理,用glut會有窗口,不適合寫成UT測試用例,需要創建一個無窗口的OpenGL上下文。 代碼 這部分代碼其實是參考 Android的Skia 模塊相關代碼寫的,適用於 Mac、EGL

原创 移動端深度學習框架——絕影簡介

絕影(Prestissimo) 絕影是九言科技開發的高性能移動端深度學習框架,其項目地址見 https://github.com/in66-dev/In-Prestissimo 背景 絕影前身是一個GPU方案:http://blog.cs

原创 從軟件工程的角度寫機器學習3——主要監督學習算法的工程性分析

主要機器學習算法的工程適用性分析 前段時間AlphaGo跟李世石的大戰及相關的深度學習的新聞刷了一遍又一遍的朋友圈。不過這件事情,也只是在機器學習的深度上進一步拓展,而機器學習的廣度(也即工程化實踐)上,仍然沒有什麼突破性的理論或實踐,用

原创 從軟件工程的角度寫機器學習4——-C4.5決策樹的工程實現

C4.5決策樹的工程實現 這篇文章開始,將講述一系列機器學習算法的工程實現方案。出於常用且簡單的考慮,選擇了C4.5決策樹作爲第一個算法。 工程框架 鑑於本篇是第一個算法實現,應此需要把整個工程框架介紹一下。 出於最優性能考慮,本框架是

原创 GPU與GPGPU泛淡

GPU與GPGPU泛淡 GPU(Graphics Processing Unit),也即顯卡,是一種專門在個人電腦、工作站、遊戲機和一些移動設備(如平板電腦、智能手機等)上作圖像運算工作的微處理器。它已經是個人PC和移動設備上不可或缺的芯