読者です 読者をやめる 読者になる 読者になる

いつもの作業の備忘録

作業を忘れがちな自分のためのブログ

【Caffe】回帰問題を解く

0.課題 GoogLeNetを回帰問題に応用する方法を紹介する。その例として、以下の図に示すような円の回帰を考える。中心座標(x,y)、半径d、色b、g、rの6つをランダムに決定して円を描画した224x224ピクセルの画像を入力し、6つの値x、y、d、b、g、rを回帰する…

【Caffe】C++でのMemoryDataLayerの扱い方

0.課題 caffe-masterのサンプルとして提供されているcaffe.exeを利用するだけでは、Caffeを使ったアプリケーション開発には不便である。そのようなアプリケーション開発をする場合、画像データやラベルデータをプログラムの中で自由に読み込み、ネットワー…

【Python】Python Imaging Libraryインストール

0.課題 以前公開したWindowsへのCaffeインストールの環境でPIL(Python Imaging Library)をインストールする際に通常のインストーラーではエラーになる。具体的にはWindows7 64bitの環境でPILのインストーラーを実行するとPythonがレジストリに登録されて…

【C#】ウィンドウ内での画面遷移をコントロール切り替えで実装

c#

C#を初めて触って簡単なところにもかかわらず躓いたのでメモ。サンプルアプリはページ下部にGitHupへのリンクがあるのでそちらから。 0.作成するプログラム あるウィンドウ上のボタン操作によって表示画面が切り替わるプログラム。イメージ(完成品)は以…

【Caffe】C++でCaffeをAPI的に使う

前回の記事でWindows環境でCaffeを利用できるようにした。これを別プロジェクトからAPI的に利用したかったので実施した。実力不足で不恰好になっているため、改善方法は継続して調査。作成したプログラムは少し重いがGitHubで公開中なので、本ページの最後か…

【Caffe】Windows7にCaffeをインストール

Windows環境でCaffeを利用できるようにする。基本的にはダウンロードしたCaffeのREADME.mdをそのままなぞっている。面倒なライブラリ周りをあまり気にしなくてよくなっているのでUbuntuより簡単かもしれない。 1.Visual Studio 2013をインストール 今回は …

【Caffe】Faster RCNNを使ってみる

一般物体検出で有名なFaster RCNNのデモを動かす。基本的にはREADME.mdに沿って実施すれば問題ない。 1.Faster RCNNレポジトリのコピー gitでFaster RCNNのレポジトリをコピーする。コピーしたディレクトリを$FRCNNとする。 $ git clone --recursive http…

【Ubuntu】Opencv2.4.11をUbuntuにインストールする

CuDNNが入った環境でOpencvをインストールする際のメモ。 1.easydictのインストール Opencvを使うプログラム(Faster RCNNなど)を動かそうとするとImport Error: No module named easydictというエラーが出るのでpipでインストール $ pip install easydic…

【Ubuntu】ソフトウェアアップデート時のログインエラー対処

先日、apt-getでupgradeした後、Ubuntuにログインできなくなったため対処法を記録。GUIのログイン画面からパスワードを入れてEnterを押すと、再度ログイン画面に戻ってくるという現象です。.Xauthorityを消すなども試してみましたが効果がなく、どうもNvidia…

【Caffe】モデルをダウンロードして利用する

他の人が作成し、アップロードしているモデルを利用する。 今回は手始めにVGG16のネットワークとモデルをダウンロードし、Caltech101のデータをかけてみる 1.ネットワーク定義ファイルのダウンロード 多くの研究結果がModel Zooで公開されており、GitHub G…

【Caffe】Fine Tuningする

以下のサイトの後半に書かれているファインチューニングの手順を実行 Caffeで手軽に画像分類 - Yahoo! JAPAN Tech Blog 1.データ準備 学習時には3つのデータが必要。 train.txt:ネットワークのパラメタ(重み)を学習するデータ val.txt :学習時に定期的…

【Caffe】ネットワークを可視化する

前回(【Caffe】特徴量抽出を行いSVMで物体識別する - いつもの作業の備忘録)使用したネットワークを可視化する 1.描画用Pydotインストール 以下の二つのコマンドを実行したが、apt-getはなくても動くかもしれない $ sudo apt-get install python-pydot $…

【Caffe】特徴量抽出を行いSVMで物体識別する

下記サイトの中盤で紹介されている特徴量抽出部分を実行する Caffeで手軽に画像分類 - Yahoo! JAPAN Tech Blog 1.ネットワークの定義ファイルを作成 以下のコマンドでimagenet_deploy.prototxtをダウンロードし、名前をimagenet_feature.prototxtと変更。…

【Caffe】物体認識のサンプルを動かす

以下のサイトを元に物体識別のモデルを使ってみる (単純には行かなかったのでメモ) Caffeで手軽に画像分類 - Yahoo! JAPAN Tech Blog※以下、caffeフォルダは$CAFFE_HOMEとする(これまで~/work/dl_tools/としていたところ) 1.Caltech101をダウンロード…

【Caffe】Ubuntu 14.04へのインストール

インストールしたばかりのUbuntu 14.04にCaffeを導入し、Pythonでcaffeをimportできるのを確認するまでの過程 1.cuDNNのディベロッパ登録 以下のサイトからcuDNNディベロッパメンバーに登録 https://developer.nvidia.com/cudnn ※私の場合は翌日に登録完了…

【Ubuntu】CUIモードへの移行方法

Ubuntu 14.04でCUIモードに移行する GRUBの設定ファイルを編集する $ sudo vim /etc/default/grub 以下の行を変更する[変更前] ・・・ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" ・・・ #GRUB_TERMINAL=console ・・・[変更後] ・・・ GRUB_CMDLINE_LINUX_…

【awk】ファイルの各行を引数とした処理を実行する

a.txtが以下の形式だとする apple grape orange apple、grape、orangeごとに処理を変えたい場合、以下のようにする。 cat a.txt | while read -r f; do echo $f done 上のスクリプトの結果は単純に"cat a.txt"と同じだが、 catの部分でawkを使ったりするとい…

【awk】スクリプトの引数をawkで利用する

以下のa.txtとb.csvがあった場合を考える。a.txt apple grape orange b.txt apple 100 JPY apple 1 USD orange 98 JPY banana 50 JPY peach 268 JPY以下のスクリプトでa.txtに載っているアイテムだけ抽出する cat a.txt | while read -r f; do awk -v item="…

【C++】CSV形式を要素ごとに分割

CSVの行(文字列)を要素ごとに分割してvectorで受け取る。 vector<string> split(string str, char c){ vector<string> v; string buf = ""; stringstream ss; ss << str; while (getline(ss, buf, c)){ v.push_back(buf); } return v; } サンプルコード #include <iostream> #include <string></string></iostream></string></string>…