タグ

gdbに関するxiangzeのブックマーク (4)

  • 勾配ブースティング落穂拾い - 木の構築について - お勉強メモ

    このシリーズについて XGBoost芸人を自称してちょこちょこ活動をしてきたのですが、最近になって自分の理解の甘さを痛感するようになりました。 気になった箇所を散発的に復習しているのですが、その成果を備忘録として残しておこうと思います。 今のところ体系的にまとめるつもりはないので、これを読んでも勾配ブースティングの全体像はつかめませんので悪しからず。 今回のテーマ以外にはマルチクラス分類の際の挙動等に関心を持っています。 木の構築について 勾配ブースティングでは 回目のイテレーションで誤差 の勾配を上手く表現した木を構築します。 この部分の処理についてscikit-learnとXGBoostでの違いを確認します。 scikit-learn カステラに準拠した処理になっています。 勾配の計算は となり、これを各サンプルのラベル扱いにして DecisionTreeRegressor に投げま

  • FastBDTでの高速化 - Negative/Positive Thinking

    はじめに 勾配ブースティング木の高速化はどうすればいいだろうと調べていたら、arxivで流れているのを見かけたのでメモ。 FastBDT: A speed-optimized and cache-friendly implementation of stochastic gradient-boosted decision trees for multivariate classification https://arxiv.org/abs/1609.06119 https://github.com/thomaskeck/FastBDT Stochastic Gradient Boosted Decision Tree(SGBDT) 勾配ブースティングの各イテレーションで、学習データから非復元抽出でサンプリングしたデータを用いる https://statweb.stanford.edu/~j

    FastBDTでの高速化 - Negative/Positive Thinking
  • gdbでアセンブルしてSEGVしている箇所を特定するTips - I am Cruby!

    gdbこれは-gでコンパイルされていない所でSEGVが発生するときにどの行で落ちているのか見当を付ける方法。 こんなコードを用意してみた。特徴三つのSEGVの可能性がある関数呼び出しありもちろん-gでコンパイルしていない前の記事の使いまわし  #Include #include struct hoge { int id; char *comment; }; void throw_segv(char *comment) { int test[1000]; if(!strcmp(comment, "Hellow!")) test[-100000] = 9; } int main(void) { struct hoge *hg; hg = malloc(sizeof(struct hoge)); hg->id = 2565; hg->comment = "Hellow!"; throw_se

    xiangze
    xiangze 2015/08/30
  • gdb の使い方・デバッグ方法まとめ

    たとえば、変数 var の値を2進数で表示したい場合は、次のように指定します。 (gdb) p/t var 一覧表示 whatis 変数の型を調べる。 info b 今設定しているブレークポイントの一覧を表示 セグメントフォルトをした後に利用すれば、どの関数で発生したか確認できます。 info stack 関数の呼び出しスタックの一覧を表示 info Thread 存在しているスレッドの一覧を表示 異なるアドレスにおける処理継続 以下のコマンドを使用することで、ユーザが選択したアドレスにおいて実行を継続させることができます jump linespec linespecで指定される行において、実行を再開 jump *address addressで指定されるアドレスにある命令から、実行を再開 アドレスが分かっている場合のメモリリーク出力 xはhexの意味です。 (gdb) p (char*)

    gdb の使い方・デバッグ方法まとめ
  • 1