Darknet YOLOのハイパーパラメーター(学習率)

github.com 学習率が徐々に変化する仕様になっているらしい。 learning_rate=0.0001 policy=steps steps=100,25000,35000 scales=10,.1,.1 [0 - 100] iteration learning_rate will be 0.0001 [100 - 25000] iteration learning_rate will be 0.001 [25000 -…

Darknet YOLOの進化がとまらない

github.com YOLOで『densenet201』が使えるようになった。 pre-trained weights 『densenet201.300』をダウンロード cfg-file 『densenet201_yolo2.cfg』をダウンロード darknet.exe detector train obj.data densenet201_yolo2.cfg densenet201.300 (おま…

手っ取り早くWindowsでmxnet-ssdを使う方法(GPUあり)

環境 Windows10 Pro 64bit GeForce GTX 1080 (CUDA 8.0, cuDNN 6.0) Anaconda4.4.0(Python2.7version)をインストール openCVをインストール 『こちら』からopencv-2.4.13.2をダウンロード 解凍してパスを通す D:\ProgramFiles\opencv\build\x64\vc14\bin 『P…

YOLO学習のためのファイル操作もろもろ (2)

画像の左右反転 import glob import os from PIL import Image jpgfiles = glob.glob("./images/001/*.jpg") for f in jpgfiles: (dirname, filename) = os.path.split(f) (name,ext) = os.path.splitext(filename) new_img = "LR_" + filename new_txt = "L…

YOLO学習のためのファイル操作もろもろ

複数のファイルに連番をつける Windowsの場合にはコマンドプロンプト(あるいはPower Shell)を使えばできる。 新たに勉強するのが面倒くさいのでRで行う。 (例としてPASという名前がついたtifファイルに連番をつける) mypath <- getwd() setwd(choose.dir…

Python素人がWindowsでmxnet-ssdを使うまでの長い長い道のり

DarknetのYOLOを試してみたらどうしてもSSDも試したくなった そこで真剣にPythonに取り組もうと決めた 今後はRとPythonの両方を使っていく 環境 windows7 64bit GPUなし Pythonのインストール Python3.5を選択(Anacondaはよくわからないので選ばなかった!…

WindowsでDarknetのYOLO-v2を試してみる

Deep learningの世界ではLinux+Pythonが主流。 自分のようにWindows+Rでやっているのはおそらくかなりの少数派。 物体検出をmxnet-ssdでやろうと思ったが今のところPythonを使わないといけない。 そこでDarknetのYOLOに興味をもった。 参考にさせて頂いたサ…

RでMXNet(9)

vgg16モデルを使ったfinetune Kaggleの「Dogs vs. Cats」をやってみる 学習データ、テストデータの準備 学習データは犬の写真2000枚、猫の写真2000枚 テストデータは犬の写真1250枚、猫の写真1250枚 library(EBImage) #jpeg画像を配列に変換 x_train <- arra…

WindowsのRからGPU版MXNetを使う

環境 Windows 10 Professional GeForce GTX 1080 Microsoft R open 3.4.0 手順 Visual C++ 2015 Build Toolsをインストール CUDA Toolkit 8.0をインストールするためにはVisual Studio 2015が必要と書かれているが実はこれだけインストールしていれば問題な…

RでMXNet(8)

速報 Githubをなんとなくのぞいてみたら、 400 mx.model.FeedForward.create <- 401 function(symbol, X, y=NULL, ctx=NULL, begin.round=1, 402 num.round=10, optimizer="sgd", 403 initializer=mx.init.uniform(0.01), 404 eval.data=NULL, eval.metric=N…

RでMXNet(7)

Windows10 64bit Microsoft R Open 3.4.0 ネットワークモデルを変更する方法 Fine-tuneをするにあたって大事 いつの日かGPU搭載パソコンが手に入ることを夢見て簡単なモデルで練習(泣) 数年前に手に入れたノートパソコン(Intel第3世代 Ivy Bridge搭載)で…

RでMXNet(6)

Windows10 64bit Microsoft R Open 3.4.0 VGG16訓練後モデルを取得する方法 download.file("http://data.dmlc.ml/models/imagenet/vgg/vgg16-symbol.json","vgg16-symbol.json") download.file("http://data.dmlc.ml/models/imagenet/vgg/vgg16-0000.params"…

RでMXNet(5)

訓練後のモデルの保存(手動) mx.model.save(model, "mymodel", 5) 最後の数字は訓練の回数を表す。 同じモデルでも数字を変えればパラメータを別々に保存できる。 たとえば10エポック訓練した後のパラメータ、20エポック訓練した後のパラメータなどなど。 …

RでMXNet(4)

Kaggleの「Dogs vs. Cats」をやってみる。 こちらを参考にさせて頂いた。 train.zip(25000枚のjpeg画像)をダウンロードして解凍。 猫、犬の画像をそれぞれcatフォルダ、dogフォルダに分ける。 データの準備 library(EBImage) #jpeg画像を配列に変換 x_trai…

RでMXNet(3)

MNIST 99%以上を目指す! と言っても下記の本で紹介されているニューラルネットワークをMXNetで書いただけ。ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メ…

RでMXNet(2)

optimizerを変えて畳み込みNNを作ってみた。 library(mxnet) #訓練データの読み込み x_train <- array(t(readRDS("x_train")),c(28,28,1,60000)) / 255 t_train <- apply(readRDS("t_train"), 1, which.max) - 1 #テストデータの読み込み x_test <- array(t(…

RでMXNet(1)

ついにフレームワークに手を出した。 数ある中で「MXNet」を選択。(なんとなくRから使いやすそうなので)WindowsのCPU用のインストールは非常に簡単。 Rのコマンドラインに以下を入力。 install.packages("drat") drat::addRepo("dmlc") install.packages("…

RでDeep Learning(最終章)

Deep Learningフレームワークを使わずにRのみでMNIST 98%以上を目指す! デザイン Data →Conv(filter:30) →Relu →Pooling →Affine(Neuron:100) →Relu →Affine(Neuron:10) →Softmax Adamによる最適化 使用するパッケージは以下の二つのみ library(dplyr) libra…

Rで行列計算(行列の足し算)

R

sweepは速いと思っていたが違った。 (環境:Windows 10 64bit、R3.3.3) > system.time(test1 <- out + matrix(rep(b1,576000),nrow=576000,byrow=T)) ユーザ システム 経過 0.13 0.03 0.16 > system.time(test2 <- sweep(out,2,b1,FUN="+",check.margin=F)…

RでDeep Learning(10)

Convolutin層、Pooling層の実装 Convolution <- R6Class("Convolution", #stride=1 #pad=0 #filterサイズ=5×5 #filter数=30 public = list( W = NULL, b = NULL, x = NULL, col = NULL, dW = NULL, db = NULL, initialize = function(W,b){ self$W <- W self…

Rで行列計算(行列の積)

R

RjpWikiによると「crossprod」と「%*%」では前者のほうが計算が速いとのこと。 実際にやってみた。 (環境:Windows 7 64bit、R3.4.0) > x <- matrix(rnorm(25000000),c(5000,5000)) > y <- matrix(rnorm(25000000),c(5000,5000)) > system.time(a <- t(x) …

RでDeep Learning(9)

Rでim2colの実装(プーリング層はim2col_poolingとして別に実装) Rのdrop機能にはまった。 im2col <- function(input_data,filter_h,filter_w,stride=1,pad=0){ #imput_data:4次元配列からなるデータ #filter_h:フィルターの高さ #filter_w:フィルターの…

RでDeep Learning(8)

前回の続き。正解率はこの通り。 > test_acc [1] 0.9713 > train_acc [1] 0.9892667正解できなかった問題の一部。 y <- predict(x_test) y_1 <- apply(y,1,which.max) t <- apply(t_test,1,which.max) error <- t!=y_1 num_image <- x_test[error,] num_t <-…

RでDeep Learning(7)

前回の続き(テストデータで評価) library(dplyr) library(R6) #パラメータの初期化 W1 <- matrix(rnorm(784*50),nrow=784)*0.01 W2 <- matrix(rnorm(50*10),nrow=50)*0.01 b1 <- matrix(numeric(50),nrow=1) b2 <- matrix(numeric(10),nrow=1) #データの読…

RでDeep Learning(6)

環境はWindows10 & R-3.3.3ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る誤差逆伝播法…

RでDeep Learning(5)

環境はWindows10 & R-3.3.3ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る2層ニューラ…

RでDeep Learning(4)

環境はWindows10 & R-3.3.3ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る非常に良い本…

RでDeep Learning(3)

環境はWindows10 & R-3.3.3ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る非常に良い本…

RでDeep Learning(2)

環境はWindows10 & R-3.3.3ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る非常に良い本…

RでDeep Learning(1)

環境はWindows10 & R-3.3.3ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る非常に良い本…