原创 使用c++和cuda寫深度學習框架:Grape簡介

前言 看過我之前的博客就知道,我曾經用java寫了一個深度神經網絡[CupDnn](https://github.com/sunnythree/CupDnn),但是,java寫的深度神經網絡真的非常慢。由於這個原因,我打算使用c++和cu

原创 java實現rnn

github地址: CupDnn地址(給個小星星唄^~^) RNN的原理? 。。。。嗯。。。不想多說,很多介紹起原理的文章,所以這裏就不囉嗦了。 爲什麼推薦CupDnn中實現的rnn? 足夠簡單,可能是最簡單的實現吧,很容易學習。 有例子

原创 CupCnn的最近的一些更新情況

CupCnn是一個用java寫的卷積神經網絡。 支持L1、L2正則化 正則化的理論非常複雜,推導過程也比較繁瑣,但是實現確實異常的容易,主要體現在權重的衰減。通俗的講,就是我們每次在更新權重w的時候,可以的讓他比應該的大小減小一點。

原创 計算圖(graph)的遍歷

很久沒有寫博客了,忙並不是藉口,懶纔是理由。 一直想重構CupCnn,寫成一個通用的計算圖,能隨意搭建各種神經網絡(CupCnn只能搭建有一個鏈路的有序的神經網絡),然後把名字也改了,叫CupDnn好了。所以,今天先寫着試下遍歷一個計

原创 caffe lstm訓練mnist手寫數字

我們可以把深度學習能做的事情分爲兩類:時間無關的事情和時間相關的事情。時間無關的話,比如人臉識別,給神經網絡一張照片,神經網絡就能告訴你這是誰,這是和時間無關的。時間相關的話,比如,我要知道一段視頻裏的人是在吃飯還是在打哈欠,這個可能

原创 Android neon 學習筆記

搭建實驗環境 首先新建一個包含native代碼的項目: 然後在gradle中添加對neon的支持: externalNativeBuild { cmake {

原创 vmware 虛擬機損壞後的修復辦法

爲了給虛擬機調整分區的大小,使用fdisk命令新建了一個分區,還沒搞明白問題出在了什麼地方,總之,fdisk把原來的文件系統給搞壞了。重啓之後,虛擬機無法啓動了,進入了grub rescure模式。裏面還有很多重要的文件啊,最近一段時間的

原创 java寫卷積神經網絡---卷積神經網絡(CupCnn)的數據結構

前言 我在寫CupCnn的時候,一個困擾我很久的問題,就是如何組織卷積神經網絡的數據結構。尤其是卷積層和全連接層之間的銜接問題。卷積層至少需要四維的數據結構(batch+channel+height+width),而全連接層則只需一個二維

原创 自己製作機器學習訓練和測試使用的二進制數據集(C++)

本文主要分享筆者仿照Cifar-10二進制數據庫的格式,自己製作機器學習使用的二進制數據庫。經過封裝後,非常方便使用。代碼可用Github下載:BinaryDataset 關於Cifar-10 CIFAR-10數據集由10個類的60000

原创 使用卷積神經網絡(CupCnn)訓練人臉檢測模型

結果展示 最近嘗試做了下人臉檢測,先上兩張效果圖吧: 這已經是跳出來的效果比較好的圖片了,表現的確是有點差。 我用了4000(19*19)多張人臉圖片和8000(19*19)多張非人臉圖片訓練出了這個卷積模型。這個數據量確實有點少

原创 python 計算並繪製灰度直方圖

其灰度直方圖爲: 其灰度直方圖爲: 代碼如下: def calHistogram(img): if(len(img.shape) != 2): print("img size error")

原创 python 計算聯通區域

對於這樣的圖片: 摳出其中的黑色區域,效果如下: import cv2 import numpy as np import matplotlib.pyplot as plt import time def findUnico

原创 python 計算積分圖和haar特徵

下面的代碼通過積分圖計算一張圖片的一種hear特徵的所有可能的值。初步學習圖像處理並嘗試寫代碼,如有錯誤,歡迎指出。 import cv2 import numpy as np import matplotlib.pyplot as pl

原创 python 樸素貝葉斯

這裏的代碼應該是學習《統計學習方法》的實驗練習吧。代碼實現的是《統計學習方法》中第四章樸素貝葉斯法的一個實例,實例如下: 、 實現的步驟也是按照書中的步驟,如有問題,謝謝指正。 import numpy as np import p

原创 python K-Means聚類算法的實現

K-Means 簡介 聚類算法有很多種(幾十種),K-Means是聚類算法中的最常用的一種,算法最大的特點是簡單,好理解,運算速度快,但是一定要在聚類前需要手工指定要分成幾類。 具體實現步驟如下: 給定n個訓練樣本{x1,x2,x3,