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

R

複数のファイルに連番をつける 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件) を見る非常に良い本…

RでEutilsを使ってみる

library(dplyr) library(rvest) pubmedID <- "25517282" address <- "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&mode=XML&id=" myXML <- read_xml(paste(address,pubmedID,sep="")) #雑誌名 myXML %>% xml_nodes(xpath="//Journa…

Rのパイプ処理が使えない?

R

環境はWindows10 & R-3.3.3 原因は Help on topic 'filter' was found in the following packages: Return rows with matching conditions. (in package dplyr in library C:/R-3.3.3/library) Linear Filtering on a Time Series (in package stats in libr…

ExcelからWord内の単語を置換する

環境はWindows10 & Office 2013 Dim wdObj As Object Dim wdDoc As Object Set wdObj = CreateObject("Word.Application") wdObj.Visible = True wdObj.Activate Set wdDoc = wdObj.Documents.Open(ThisWorkbook.Path & "\test.docx") With wdDoc.Content.Fi…

Windows7にTensorFlowを入れてみた

Python 3.5.3をインストールその後Windowsのコマンドプロンプトに下記のコマンドを入力 pip3 install --upgrade tensorflow これだけでPythonでTensorFlowが使えるようになった。うまくいかない人はこちら windowsにネイティブサポートしたTensorflowを動か…

Pythonでフォルダ内のファイル一覧をパス無しで取得する

import glob import os files = glob.glob('D:/CEN_list/CEN_list/bin/Debug/file/*.txt') for f in files: (dirname,filename)=os.path.split(f) print(filename) ちなみにRでは path <- "D:/CEN_list/CEN_list/bin/Debug/file/" list.files(path)

Journalのタイトルをリストアップする

c#

using System.Text; using System.IO; namespace html { class Program { static void Main(string[] args) { StreamWriter writer = new StreamWriter("article.html", true, Encoding.UTF8); writer.WriteLine("<ol>"); for (int volume = 1; volume < 6; volu</ol>…

Journalのタイトルを一括ダウンロード

c#

namespace download { class Program { static void Main(string[] args) { for (int volume = 1; volume < 6; volume++) { for (int issue = 1; issue < 3; issue++) { for (int page = 1; page < 3; page++) { string url = "http://link.springer.com/jou…

英語学習のためのアプリを作る

c#

MainWindow.xaml <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="英語問題" Height="350" Width="816" Initialized="Window_Initialized"> <Grid> </grid></window>

Rの結果をPDFに出力する(文字化け対応)

R

Rの結果をテキストファイルとpngファイルに出力する。 それらをWordで受け取ってPDFファイルに出力する。 Rのコード data(iris) mydata <- iris 比較 <- c("Sepal.Length","Sepal.Width","Petal.Length","Petal.Width") counter=1 for (hikaku in 1:length(…

Excelのコマンドボタンの右クリックを有効にする方法

以下の二つは共存可能。 Private Sub CommandButton1_Click() MsgBox ("左クリック") End Sub Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button = 2 Then MsgBox ("…

ExcelVBAでカレンダーコントロールを自作する

簡単にコピペで再現できるようにボタンなどのコントロールの配置やそのプロパティはすべてコードに記述。フォームやモジュールを追加して下記をコピペするだけで完成。①カレンダーフォーム「Calender」を追加する Option Explicit Private Sub UserForm_Init…

Excelユーザーフォームに動的にコマンドボタンを追加する

クラスモジュール「Button_Setting」をあらかじめ追加しておく Option Explicit Public WithEvents original_button As CommandButton Private Sub original_button_Click() 'クリックイベントをここに記載 End Sub Option Explicit Sub ユーザーフォームを…

数独を解く(別解:バックトラック法)

c#

Form1.cs using System; using System.Linq; using System.Windows.Forms; namespace 数独バックトラック法 { public partial class Form1 : Form { Button[] IDbutton = new Button[81]; Button kensyo = new Button(); Button zikko = new Button(); Butto…

数独を解く(6日目)

c#

実行ボタンのClickイベントハンドラを記述する。 private void zikko_Click(object sender, EventArgs e) { Stopwatch sw = new Stopwatch(); sw.Start(); //////////////////////////////////////////////////////////////////////////////////////////////…

数独を解く(5日目)

c#

新規ボタンのClickイベントハンドラを記述する。 private void newGame_Click(object sender, EventArgs e) { foreach (Button a in IDbutton) { a.Text = ""; a.Enabled = true; } kensyo.Enabled = true; zikko.Enabled = false; }

数独を解く(4日目)

c#

検証ボタンのClickイベントハンドラを記述。 private void kensyo_Click(object sender, EventArgs e) { //数字の拾い出し int d; for (int i = 0; i < 81; i++) { int.TryParse(IDbutton[i].Text, out d); kazu[i] = d; } //検証を実行 if (kensyo_do()) { …

数独を解く(3日目)

c#

以下のプログラムをコンソールアプリケーションとして実行する。 「resource.txt」というファイルが作られる。 出来たファイルをおおもとのプログラムにリソースとして取り込む。 using System.Collections.Generic; namespace 下準備 { class Program { sta…

数独を解く(2日目)

c#

ユーザーフォームを追加する (input.cs) Loadのイベントハンドラを作成する必要あり。 using System; using System.Drawing; using System.Windows.Forms; namespace 数独をとく { public partial class input : Form { Button[] button = new Button[9]; pu…

数独を解く(1日目)

c#

まずはGUIまわりから(GUI.cs) メインフォーム(Form1)のLoadのイベントハンドラーを作成する必要あり。 using System; using System.Drawing; using System.Windows.Forms; namespace 数独ソルバー { public partial class Form1 : Form { private void Form1…

例外処理

c#

try { } catch(Exception ex) { MessageBox.Show(ex.Message, Application.ProductName , MessageBoxButtons.OK, MessageBoxIcon.Error); }

フォームを閉じるときの終了確認

c#

private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { DialogResult reply; reply = MessageBox.Show("このアプリケーションを終了します" , Application.ProductName, MessageBoxButtons.OKCancel , MessageBoxIcon.Information); …

Rの計算結果を新たなwindowに出力する方法

コンソールに文字として結果が出力される統計解析結果などを他のwindowに出力する方法。 以下の関数を定義しておく。 original_output <- function(){ x <- winDialogString("output to a new window","") filename <- tempfile() capture.output(eval(parse…

ExcelファイルをRに読み込む

R

クリップボード経由でファイルを読み込む方法 read.table(file="clipboard",header=T,sep="\t")

プロットのマーカーをきれいに表示する方法

R

plot(0, 0, xlim=c(0,3), ylim = c(0, 8), type = "n", axes = F, xlab = "", ylab = "") a<-rep(0:2,c(9,9,8)) b<-c(8:0,8:0,8:1) points(a,b,pch=0:25,cex=3) text(a+0.45,b,0:25)