C++

[C++]deep learningのC++11実装を良い感じにした+解説文つけた

C++

以前CNN(畳み込みニューラルネット)の実装を公開して放置していたら、じわじわstarが溜まってきた。(みんなCaffe使ったほうがいいんじゃ…)と思いつつも、少し前からコードを整理して少し良い感じにしたので、改めて宣伝。 nyanp/tiny-cnngithub.com 良い感じ…

ウィンドウサイズに依存しないMin-Max Filterの実装

C++

背景 1次元のデータ列に対して、近傍Wでの最大値/最小値を求めたい。たとえばW=3で以下のようなmin3,max3を計算したい。 input: 9,2,8,3,1,3,2,0 max3: 9,8,8,3,3,3 min3: 2,2,1,1,1,0画像処理では膨張収縮、オープンクローズフィルタなんかによく使われてい…

「C++のためのAPIデザイン」読んだ+ちょっとした補足

C++のためのAPIデザイン作者: マーティン・レディ,Martin Reddy,三宅陽一郎,ホジソンますみ出版社/メーカー: ソフトバンククリエイティブ発売日: 2012/11/02メディア: 大型本購入: 4人 クリック: 106回この商品を含むブログ (9件) を見る どんな本か この本…

たたみ込みニューラルネットをC++11とTBBで実装

C++

動機 PRMLと参考文献読んで、たたみ込みニューラルネットが気になった。世の中の実装を探してみたんだけど、CUDAが必要だったり実装が怪しかったりしたので、勉強がてら自分で書いてみた。 たたみ込みニューラルネットとは PRML5.5.6に出てくるアレ。1998年…

ヘッダ1つでgoogle testっぽくテストが書けるpicotest書いた

C++

以下に修正BSDライセンスで公開しておきます:nyanp/picotest · GitHub一応VC10/VC11(Win7),gcc4.6.2(Ubuntu)で動作確認。 これは何? C++向けのユニットテスティングフレームワークです。ちょっとしたコードに対してテストを書きたいなー、でもわざわざテス…

doxygenのソースコードに手を加えて自前のフォーマットで簡易データ出力

C++

今更説明するまでも無いような気もするけど,doxygenは多言語に対応しているソースコードのドキュメンテーションツール.出力フォーマットはhtml,LATEX,RTF等に対応しており,コード中のコメントを元にいい感じのドキュメントを生成してくれる. しかし高機…

p-Stable LSHをC++11でさっくり実装

C++

高次元の特徴量を持ったベクトルの集合に対して,与えられたクエリベクトルに似ているものを探し出すという問題を,近傍探索とかいう.旧来のkd-treeあたりを使った探索ではなく,近似的に近いベクトルを探す近似近傍探索が流行っている(らしい).近似近傍…

メンバ関数の戻り値に対応したアニメーションを描画

オブジェクトの状態をOpenCVのウィンドウ上に色々な方法で表示させたい.たとえば, class Foo { public: int foo() const; const std::string& bar() const; double buzz() const; private: int foo; std::string bar; double buzz; }; こういうクラスが有…

Boost.勉強会に参加してきた

資料はここに全て上がってる. Boost.勉強会 #5 名古屋 - boostjpBoostはごく一部しか使ったことがなかったけど,MSMとSpiritは使ってみたいなー.

はてなダイアリ見出しのlt,gtが消える?

先日書いたこの記事.vector<bool>を使ってはいけない - Lagrangian point L2ページ内ではタイトルが意図したとおり表示されているけど, 記事一覧で見ると… "vectorを使ってはいけない"ひー,めっちゃ大胆なタイトルになっとる…! iPhone版,Web版と…

vectorを使ってはいけない

Effective STL 第18項より. vectorがSTLのコンテナとして悪い点は2つしかない.第1に,STLのコンテナではない.第2に,boolの値が格納されない.この2つを除けば,異議を唱える理由はない.(中略) vectorは疑似コンテナであり,実際にbool型の値を格納して…

お手軽線形補間クラスの実装

うちの研究室では組み込み開発の占める割合がすごく大きいので,自分も含めてメンバはSTLだったりboostだったりC++0xだったりに馴染んでいない.それが研究室全体の生産性を妨げている部分があるなーと感じていたので,修論が終わってから研究室内でC++講座…

LokiのGenScatterHierarchyを継承して使う

Lokiのタイプリストを使ったGenScatterHierarchyというやつは結構面白いんですが,それを継承したクラスでFieldヘルパを使おうとすると(VS2010では)コンパイルが通らない. template <class T> struct Foo { std::vector<T> value_; }; template <class TList> class Bar : public Lok</class></t></class>…

クラスの継承関係をコンパイル時に検出する

Modern C++ Designから. template<class T, class U> class Conversion { typedef char Small; class Big{ char dummy[2]; }; static Small Test(U); static Big Test(...); static T MakeT(); public: enum { exists = sizeof(Test(MakeT())) == sizeof(Small) }; }; int mai</class>…

引数を参照とポインタのどちらで渡すか

C++

暫く触っていないとすぐ忘れるのでメモ.クラスを関数の引数に取るとき,参照で渡すかポインタで渡すか?結論をさっさと書くと,constなら参照,非constならポインタをデフォルトとする.constポインタはconst参照の使用が合理的でない場合に使える.非const…