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

分散システム 7章「フォールトトレラント性」

部分的な障害の発生は単体システムでは起こらない分散システムの問題である フォールトトレラント性の導入 基本概念 高信頼性とは: 可用性 (availability)・・・ある瞬間に正常に稼働している確率 信頼性 (reliability)・・・障害を起こすことなくジョブが…

BLAS, LINPACK, LAPACK

BLAS とは ベクトルと行列に関する積や和などの基本的な操作を提供するライブラリのことっぽい。機能はレベルに分類されるらしい。 Level 1:ベクトル演算 Level 2:行列ベクトル演算 Level 3:行列同士の演算 有名な操作として GEMM (ジェム)がある。GEMM…

C++ を Python から呼ぶ方法まとめ

C API ctypes cffi Cython pybind11 Boost.Python SWIG

空のプロジェクトを PyPI に登録するまで

プロジェクトの名前を決めたらまずは PyPI で名前を予約しましょう。 PyPI にユーザ登録する TestPyPI というお試しサイトにも登録しよう。 https://pypi.python.org/pypi https://testpypi.python.org/pypi ~/.pypirc を作る パスワードを書かないでおくと…

apt パッケージ探偵をするときに使うコマンド

会社のバイアリアン(?)の人の問題解決が僕の10倍ぐらい速い。僕も少しずつでもコマンドを覚えていきたい。apt-cache show cuda-drivers apt-cache depends cuda-driversdpkg -l | grep nvidia dpkg -l | grep cudaapt-get changelog cuda-8-0 apt-get dow…

CNN による画像分類で使われる前処理・テスト時処理まとめ

とりあえず ImageNet 系の論文で、目に入ったものから順々にまとめていきます。情報・ツッコミ歓迎。 前処理・Data Augmentation Mean Subtraction 入力画像から平均を引く。[103.939, 116.779, 123.68] を各ピクセルから引く。VGG はこれ。 Per-pixel Mean …

スヌープモードを設定して QPI を爆速で超える

スヌープモードの影響 マルチ CPU のマシンでメモリ帯域を測ると、別ソケット側のメモリとの帯域が死ぬほど遅いという現象がある。これは、CPU のスヌープモードがデフォルトの「Early Snoop」になっているからである。BIOS からこれを「Home Snoop」に変更…

数列の和を計算するアルゴリズム

数列の和の計算にアルゴリズムなんて考える余地はあるのか?と思ったが、誤差についても考える場合、単純な方法以外にも複数のアルゴリズムが存在し使われているということを教えてもらった。 Kahan summation algorithm - Wikipedia Pairwise summation - W…

Cython の落とし穴

ポインタを使ってあれこれしたいときの落とし穴を会社で教えてもらった。 numpy の ndarray.data の挙動が型を指定するかによって変わる tutorials NumpyPointerToC · cython/cython Wiki · GitHubここに書かれた方法2でポインタを取り出したい時、引数の型…

Regularized Greedy Forest (RGF) のロス関数をカスタマイズする

Regularized greedy forest (RGF) in C++RGF の公式実装のロス関数をカスタマイズするには、C++ のコードを直接書き換えることになる。とはいえそんなに難しくない。以下の方法がお手軽。 src/comm/AzLoss.cpp を開く AzLoss::getLosses 関数に loss_type ==…

malloc にわざと失敗させる

#define _GNU_SOURCE #include <dlfcn.h> #include <stddef.h> #include <stdlib.h> #include <stdio.h> #include <assert.h> typedef void* (*malloc_t)(size_t); static malloc_t libc_malloc = NULL; static unsigned long malloc_max_called = 1000 * 1000; void initialize() { libc_malloc = (malloc_t)</assert.h></stdio.h></stdlib.h></stddef.h></dlfcn.h>…

機械学習アルゴリズムの直感を養えるデモ・記事

発見次第更新予定 デモ Neural Network A Neural Network Playground Classification with NEAT Gradient Boosting Gradient Boosting explained [demonstration] Gradient Boosting Interactive Playground t-SNE How to Use t-SNE Effectively — Distill …

NIPS のヤバいプロモーションビデオ

www.youtube.com音を出して観るべき。

Python の処理系

2016-10-20 13:00:05 +0900 pic.twitter.com/0ZMU4A2Fu4— 今日のひとことbot (@hitokoto_lab) 2016年10月20日 Pysco Pyjion Nuitka Skulpt

Chainerを明示的にCUDA無しを指定してインストールする

python setup.py --cupy-no-cuda install github.comnvvp とか使いたさに中途半端に手元のマシンに CUDA を入れているとこういう指定が必要になる。

Deep Learning のデバッグ

ミニバッチ化時にミスることが多いので、以下のようなことをすると良いらしい。 データごとの計算を書いてみて、1 つずつ計算したものと照合する ミニバッチサイズを 1 にして計算したものの和or平均とミニバッチで計算したものを比較する

numpy の行列乗算:matmul, dot, @

stackoverflow.com dot と matmul 2 次元では完全に同一。3 次元以上では異なる挙動をする。 dot は a の最後の軸と b の最後から 2 番目の軸を掛け合わせる matmul は行列の配列だとみなして行列積を計算する @ 演算子 Python 3.5 以降では @ 演算子や @= …

t-SNE の実装はどれを使うべきなのか?

scikit-learn の問題点 scikit-learn 信者としてはとりあえず scikit-learn の実装を使いたくなるが、scikit-learn の実装はおすすめできないらしい。 -https://www.red dit.com/r/MachineLearning/comments/47kf7w/scikitlearn_tsne_implementation/ (はて…

バイナリ探偵をする時に使うコマンド

共有ライブラリ編 env | grep LD md5sum 一致してるものを調べる ls -l シンボリックリンクを調べる readelf -a hogehoge.so readelf -a hogehoge.so | grep SONAME SONAME を調べる find build/ -name '*so' | xargs ldd | less 依存関係を調べる ldd `whic…

Python のデータ並列な処理を早くするやつ

numexpr github.com numba Numba — Numba

CPU でいい感じと噂の NN フレームワーク

autograd(微分可能 numpy) github.com pyCNN github.comCNN とは convolutional neural network ではなく C++ neural network

NN フレームワークのベンチマーク

convnet benchmarks github.comconvnet (CNN) の実行速度のベンチマーク比較表。これを見ると意外と chainer はかなり良い位置につけている。cuDNN が速い。 DeepMark github.com

iperfでネットワークの速度を測る

サーバ起動$ iperf -sクライアント$ iperf -c

PyCharmを使いこなしたい

shift 2回押し:search everywhere alt+enter:警告が出ているところで修復(自動import、initでself.hogeにコピー) command+shift+A:ランチャー的なモノ起動 F1:quick documentation Shift+F1:external documentation(ブラウザ) Command+B:定義に飛…

MSR Initialization

wscaleに√2を与える

Python でのデータ処理パイプライン

統計的処理、特徴量抽出、機械学習の訓練・予測のパイプラインを上手く扱いたい。 scikit-learn:パイプラインがあるが、キャッシュしたりできない。 joblib:scikit learn と仲良し(バンドル)。キャッシュしたりする機能がある。 maf:求めているものに近…

Batch normalization でゼロ割りが出て NaN になる

batch_normalization.py:65: RuntimeWarning: divide by zero encountered in true_divide self.x_hat = x_mu / self.std[expander] train/test のフラグを間違えて設定しているとなってしまう。

リバーストンネル + autossh で ssh 開通

状況 マシン A に ssh したい でも,マシン A はネットワークの内側にあって,外から ssh できない マシン B は外から ssh できる マシン B からマシン A に ssh できない マシン A からマシン B に ssh できる 解決法 マシン A の crontab に以下を書いてお…

CTF for ビギナーズ 2015

社長から資料を貸してもらったのでメモだけ取って返す. バイナリ file, strings コマンド IDA Pro x86 アセンブリ 書籍など たのしいバイナリの歩き方 アセンブリ言語の教科書 解析魔法少女美咲ちゃん IDA Pro book リバースエンジニアリング IPA セキュア…

東海道新幹線を予約したい

どうやって予約するのが良いのだろう? インターネット予約 何らかのカードが必要らしい.どっちを選択しても,登録後カードが届いてようやく利用できる.カードが届くまで 2~3 週間.今予約したい場合困る. プラスEX UFJ-VISA カードを持っているので,そ…

google perftool を使う

リンクする これが意外と難しい。https://code.google.com/p/gperftools/wiki/GooglePerformanceToolsこれを読むと、-lprofiler をつけてコンパイルするだけで、あとは環境変数でプロファイリングを行えるようになると書かれている。しかし、実際にはそうな…

大塚家具に椅子を見に行った → バロンにしようかな?

話題の大塚家具に行って,椅子を試させてもらった. http://hacks.beck1240.com/stationary-goods/2540/ http://tamkai.com/blog/2013/01/11/2962/ アーロン,バロン,コンテッサ,エルゴヒューマンあたりのよく聞くオフィスチェアを候補として試した.結論…

Finding the Hierarchy of Dense Subgraphs using Nucleus Decompositions (WWW'15)

概要 たくさんの密グラフの包括的・階層的表現 沢山の密部分グラフが欲しい 密度や大きさの分布が欲しい 構造的関係(入れ子)が知りたい いかした図を出力する グラフを「核の森」で表す (Nucleus Decomposition) 定義 k-(r,s)-nucleus パラメータ k, r, s …

Ubuntu 14.04 に nvidia の最新ドライバを入れる

カーネルをアップデートする度に画面が真っ黒になってしまう.nvidia のドライバを更新すると治る.面倒くさい. 1. 画面が映るように起動する nolapic nomodeset を引数につけて Linux を起動 2. コンソールに入る Ctrl+Alt+F1.Ctrl が Caps の場所ではな…

C++

reinterpret_cast は rvalue reference を扱ってくれない http://en.cppreference.com/w/cpp/language/reinterpret_cast C++11 の union が超便利 http://www.kmc.gr.jp/advent-calendar/2013/12/23/union.html https://ideone.com/JDTqKH (reinterpret_cas…

築地の寿司屋でお寿司を食べる

中高時代の部活の友人たちと築地で最も有名な「寿司大」というお店にお寿司を食べに行きました.忘れないようにメモ.平日(火曜日朝). 始発では無理と判断し,前日からカラオケボックスで夜を明かした 築地は銀座から歩いてすぐ,銀座にはカラオケがいっ…

映画「トランセンデンス」

映画「トランセンデンス」を見ました.シンギュラリティ(技術的特異点)を扱った映画です.以下ネタバレ.

静的ライブラリ,共有ライブラリ,動的リンク,静的リンク

静的ライブラリとは 静的ライブラリ (static library) は ar コマンドで .o をまとめて作った .a ファイル. libhoge.a が有る時,gcc に -lhoge オプションを与えるとリンクされる. データが全て含まれるので .a ファイルはコンパイル時のみ必要 .a ファイ…

Ubuntu 14.04 上で Eclipse CDT 日本語化 + ランチャー登録

http://ubuntu.hatenablog.jp/entry/20140528/1401270897上に加えて以下を行わないと起動しなかった. eclipse.ini コメントアウト #-showsplash #org.eclipse.platform eclipse.ini 末尾に追記 Xverify:none スレッド ・フォーラム:Eclipse-Luna CPPにpleia…

Ubuntu 14.04 + TeXlipse で快適な日本語原稿執筆

求めた条件は以下. 日本語がビューワでもちゃんと表示される SyncTeX がちゃんと動く 結論から言うと,以下を設定すると上手く行った. ビューワには pdf4eclipse ビルダーには pdflatex フォントを全て埋め込む (dvipdfmx に -f ptex-ipa.map) \documentcl…

白い巨塔で学ぶ教授職

ドラマ「白い巨塔」を見ました.前半は主人公である財前助教授が教授選で戦い教授になるまでの物語です.教授という職がいかに素晴らしいものであるか,そして教授になるのがどれほど難しいことかといったことが描かれています.医学部(大学病院)の話では…

ACM Paris Kanellakis Award (Theory and Practice Award)

Paris Kanellakis Theory and Practice Award はコンピュータの世界に重要な実用的インパクトを引き起こした理論的研究成果に対して贈られる賞だそうです.賞金は $10,000.Paris Kanellakis 氏はデータベース分野の研究者でしたが,1995 年に飛行機事故に巻…

Core Decomposition of Uncertain Graphs (KDD'14)

定義 uncertain graph 各辺に対し存在する確率が与えられる リンク予測の出力,影響,protein-interaction (ノイズ) (k, η)-core 極大部分グラフ H, [deg_H(v) ≧ k] ≧ η 計算 小さい方から剥ぎ取る 確率の計算がちょっと入るが簡単な DP 応用実験 影響最大…

ダメな統計学

http://id.fnshr.info/2014/12/17/stats-done-wrong-toc/知っている部分もあったが面白かった (1) はじめに 統計的処理がきちんと行われず誤った結論が導きだされている論文は半数以上かもしれないらしい(医学の話) (2) データ分析入門 「p値」 = どれだ…

高画質動画配信の方法

最近,やはり動画配信の時代だなと思う.どうせなら高画質で配信をしたい.その方法を調べる. 前提:Web カメラは NG Logicool C920(t) は Web カメラとしては評判が良い.これは俺も持っているし,ICPC 放送の時とかはチョクダイもこれを持ってくる.定番…

latex 執筆時に omake -P で快適自動ビルド

博論執筆の現実逃避で自分の latex 執筆環境の改善を少し試みる. omake OMake つかって LaTeX コンパイルしたら簡単すぎて身長が5cm伸びた - 日記を書く [・w・] はやみずさん omake -P 快適! OMakefile LaTeX用のOMakefile - Qiita だいたいこれをベース…

発表中に画面にニコ動風にコメントを流したい

2つソフトが見つかった.どっちもすぐにマトモに動作した. n2witter twitterをニコニコ風にするツール「n2witter」 – uinyan.com Twitter を使う.このご時世なのにアカウントのパスワードを入れないといけない.鍵アカからの投稿が表示されるか等,要検…

Querying K-Truss Community in Large and Dynamic Graph (SIGMOD'14)

問題 グラフ G,クエリ:頂点 v, 整数 k v を含む k-truss community をすべて列挙 k-truss vs. clique percolation clique percolation: コミュニティと呼べない,パラメータが3つも,NP-Hard k-truss: コミュニティの直径が |C|/k,高枝連結度,パラメタ…

Reverse Top-k Search using Random Walk with Restart (VLDB'14)

RWR Bookmark Coloring Algorithm (BCA) 受け取って少し確定して残りを配るタイプのやつ ハブを活用 ハブの頂点は受け取っても配らないことにして,後でまとめて影響を計算 Reverse Top-K RWR Query 頂点 q と k → 頂点 u からのの RWR で q が top-k に入る…

国内学会の全国大会の大まかな日程

後輩が国内イベント(全国大会)に行ってみたいと言っていたので調べてリストアップしてみる.日程は目安として前回のもの. DEIM(データ工学と情報マネジメントに関するフォーラム(日本データベース学会年次大会)) http://db-event.jpn.org/deim2015/ …