Search Result: とき

「[改訂新版]Emacs実践入門」を読んだ

….ne.jp 前回のときに献本いただいた縁もあり、今回もまたいただいてしまいました。ありがとうございます!!! memo.sugyan.com あれから5年、僕も色々な変化があり 昨年末くらいからはVSCodeをメインで使うようになり この記事を書くにあたり久々にEmacsを立ち上げるか…と思ったら新しいマシンにはインストールすらしていなくてビックリした! ていうくらい離れてしまっている状態ではありますが、色々と思い出しながら読ませていただきました。 上記以外の初版からの大き…

KarabinerからHammerspoonへ

Mac

…スがAquaSKKのときに;が押されたらフラグを立てる。それ以外のときは普通にそのまま;のkeyStrokeをemitするだけ。 keyDownイベントを監視し、stickyShiftフラグが立っていて かつtargetのkeyCode(母音と主な子音だけで良いのだけど とりあえず全アルファベットを対象にしている)だったら、setFlagsを使ってshiftが押されている状態にイベントを書き換える。stickyShiftフラグは継続させる必要ないので強制的にfalseに戻す。…

Google Code Jam 2017: Qualification Round

…選択によって分割したときの右と左ができるだけ長い列になるよう埋めていく、という法則に従ってK人が使用したときの最大値と最小値を求める、ということになる sample input: 5 4 2 5 2 6 2 1000 1000 1000 1 sample output: Case #1: 1 0 Case #2: 1 0 Case #3: 1 1 Case #4: 0 0 Case #5: 500 499 1000だったら1人目によって500と499に分割され、次は2人目によ…

TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 その2

…いうところ。 前回のときより僅かに下がったか…? lossに使っているcross entropyはある程度まで確実に減少している。 まぁ重複精査したのもあるし、1人あたりの学習件数はそんなに変わらないのに3倍の分類数になっても同程度の精度は出ている、ってことで。 学習時の入力画像distortion再考 今のモデルは、CIFAR-10用のモデルを参考に 入力画像は96x96のサイズだがデータセットは一回り大きく112x112のサイズで用意しており、そこからtf.random_…

アイドル顔識別のLINE BOTを作りました

…ゃーんメモ あたりのときから作っていて、TensorFlowで学習したパラメータをtf.train.Saverでcheckpointファイルとして出力しておき、それを使って復元したモデルで入力画像に対する識別結果を返すだけのJSON APIをFlaskで用意して使っている。 学習をするわけでなく結果を使って計算するだけならHerokuでもこれくらいは動かせる。 tf-face-recognizer/web.py at master · sugyan/tf-face-recog…

TensorFlowによるDCGANでアイドルの顔画像生成 その後の実験など

…ータの画像を入力したとき)で取得し、各mini batchごとの平均値の差分が少なくなるよう 適当な倍率を掛けてGeneratorのloss値として加えた。 def build(self, input_images, learning_rate=0.0002, beta1=0.5, feature_matching=0.0): """build model, generate losses, train op""" generated_images = self.g(self…

"Write Code Every Day" 1年

…記 この記事を読んだときは「へー」くらいにしか感じていなかったのだけど、 1年前の10月5日のjava-ja.OSSでのid:t-wadaさんの発表を聴いて、実際に身近な知っている人たちが実践しているのを知って、「よし自分もやってみよう」と始めたのがきっかけ。 OSS についてあれこれ from Takuto Wada www.slideshare.net 元記事で ブログ記事を書いたりすることは、コードを書いた上でのプラスアルファでなければならない(まずコードを書き、余裕が…

ISUCON6 予選敗退で終わってしまった

…yが追加・削除されたときだけ(実際にはベンチマークで削除操作は無かったっぽい?)作り直せばいいじゃないか、ということでPOST時に作ってRedisに正規表現文字列を持たせるよう変更。encode_utf8とかdecode_utf8を挟まないとRedisに入らない、とかでハマってPerlムズい、ってなったりしたけど、そんなに無駄にハマり続けたりすることもなく完了 (12:40頃) これもしっかり効果が出て、追いついてきていた2位チームを一気に引き離して 40,321点に。 いま…

TensorFlowで顔識別モデルに最適化した入力画像を生成する

…力に変数を使っているときにReluがあると傾きを計算できないの…?TensorFlowのバグなんだろうか、、 tf.image.per_image_whiteningがやっているのは画像の各画素値から平均値とか分散とか求めて引いたり割ったりしているだけなので、そのあたりのソースを参考にtf.nn.reluを使っているところだけ除外して # image = tf.image.per_image_whitening(image) mean, variance = tf.nn.mo…

EC2 Spot Instanceの価格変動をターミナルでモニタリングする

…per Hour のときがあり、最大7〜8割お得になる計算。 ただこのスポット価格は刻一刻と変化しており、いつどのAvailability Zoneがどんな価格に変化するか分からないし、予測できない(これをDeep Learningで予測する、とかも課題としては面白いかもしれないw けどどんな要素が絡んでいるかもよく分からないしなぁ…)。 スポット価格が自分の入札価格を上回ってしまうとその時点でインスタンスは強制中断されてしまうので 中断されるのがイヤな場合はできるだけ高額の…

TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験

…を高めたい、となったときにまた改善方法を検討したい。 実験 現状のモデルがこれくらいの精度だということが分かったので、ここで入力やモデルを色々と変えて正答率がどう変化するか、などを試してみる。 上述のCross Validationでデータセットの偏りは無い、と判断したので(資源の都合もあり)ここから先はCase #0のみで試した。 1. パラメータを減らす 以前の記事で作った分類モデルは、その後ちょっとパラメータ数を変えて 96 * 96 * 3 → 48 * 48 * 3…

はてなダイアリーからはてなブログに移行した

移行すると彼女できて結婚できて腰痛もコミュ障も治って年収が2桁増えて人生なんでも上手くいくようになる、ときいて。 @sugyan はてブロに移行したら彼女できて結婚できたって話をよく聞くけどな— 福利厚生 (@ryopeko) June 8, 2016

TensorFlowによるDCGANでアイドルの顔画像生成

…必要がある。こういうときはtf.variable_scopeでreuse=Trueを指定すると2回目以降で同じ変数が重複定義されないようになるらしい。いちおう、初回の呼び出しか否かを使う側が意識する必要がないようPython3のnonlocalを使ってクロージャ的な感じで書いてみた。ということでこんなコード。 def __discriminator(self, depth1=64, depth2=128, depth3=256, depth4=512): reuse = Fa…

TensorFlowでのDeep Learningによるアイドルの顔識別 のためのデータ作成

…ータセットを作成したときと同様で、管理用のWebアプリを自作している。 https://github.com/sugyan/face-collector 以前はこれをHerokuで運用していたのだけど、今回はあっという間に顔画像が10000件を超えて 無料枠で利用できる範囲をオーバーしてしまったので、以前から持っていたのにほぼ使っていなかったさくらVPSのサーバに移行した。 https://idol-face.sugyan.com/ ひたすら目視でラベル付け こんな感じで、様…

続・TensorFlowでのDeep Learningによるアイドルの顔識別

…を作成できる。 使うときはtf.TFRecordReaderでTFRecord fileを読んでFeatureを取り出せばあとはJPEGのバイナリデータからtf.image.decode_jpegで画像に復元できる。 (tf.parse_single_exampleあたりはtensorflow-0.6.0と最新コードでは引数などインタフェースが異なるので注意。最新masterのドキュメント読みながらコード書いてたら動かなくてハマった) Distortion 読み込んでdeco…

TensorFlowによるディープラーニングで、アイドルの顔を識別する

… すぎゃーんメモ のときと同様に、学習済みのデータを使って画像を受け取り判定結果を返すJSON APIを用意し、それを使って判定結果を描画する。 任意の画像をDrag and Dropで受け取るので、まずはそこから判定するための顔領域だけを切り出す必要があり、自作の顔検出器では遅すぎるので ここではLIMITED PREVIEW版の Cloud Vision API を使ってみている。 色んな画像を上げて試してみてください。https://momoclo-face-recog…

AOJはじめました

…うイベントに参加したときにオンラインジャッジに関する解説などがあり 実際に数問やってみる、ということでユーザ登録して挑戦してみたので、その後も継続して挑戦してみることにした。 べつに競技プログラミングで強くなりたい、とかではなく 主に「思考力・実装力を鍛える」という目的で、特に早解きやコードゴルフ的なことは意識しないことにした。 方針としては まずはC++で頑張って自力で解く。 グローバル変数はできるだけ使わず、関数の入出力で回答を生成できるように。 どうにも上手くいかないと…

Heroku + OpenCVで簡易顔検出API

…た」と見なして、そのときの顔の中心、目の中心の座標を取り 回転行列の逆変換をかけてやれば、元画像における顔や目の中心座標が取得できる。複数の回転角度で取得されて重複している場合は 検出した両目がより水平に近い(つまりatan2(y, x)が最も0に近い)ものを選択する、などするとより良い結果を得られるかな、ということでそうしてみた。のが今のコード。 https://github.com/sugyan/face-detector/blob/cc22fd576416f79f291…

Docker Image of Python with OpenCV 3.0 for Heroku

…もreleaseするときにslugに含まれないらしい)、あと実際のheroku環境には入っていないライブラリなどもありOFFにしないとダメなようだったり、で 幾つかcmakeのビルドオプションを弄った。 -cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INST…

自動mention系Twitter botを復活させる

Go

…llowersが多いときに使えるのがGET followers/idsとGET users/lookup。followers/idsではfollowersの「IDだけ」を1回で最大5,000件取得できる。ので数万followersいても数回のリクエストですべて取得できる。そしてusers/lookupにはそのIDをカンマ連結したパラメータでリクエストすることで最大100件のuser情報を得ることができる。 ということで、これらを使えば「全followersのIDを取得し、それ…

#isucon 2015で優勝しました

…加しました。第1回のときの出場メンバー(@fujiwaraさん、@songmuさん)での「fujiwara組」。 #isucon 2015予選に参加した - すぎゃーんメモ ISUCON5 本選リアルタイムフォトレポート【更新終了】 : ISUCON公式Blog 結果はなんと、昨年に引き続き優勝!! ISUCON5 本選結果 : ISUCON公式Blog 自分はアプリケーション側の担当ということで コード書いていこうと思っていましたが、今回あまり出来ることが無く、並行で作業も…

#isucon 2015予選に参加した

…ところに 第1回 のときのメンバー(@fujiwaraさん、@songmuさん)で再結成しよう、という話が上がったので有り難く乗っからせていただきました。fujiwara on Twitter: "初代fujiwara組を再結成しよう"予選は第1日目で参戦し、結果は1位通過!やったー!ISUCON5 本選出場者決定のお知らせ : ISUCON公式Blog 忘れないうちに、何をやったか振り返っておこうと思います。 〜前日 以前一緒に働いていたとは言え、4年近く経過しているので一…

ctagsでjsx(ES6 class)の定義にジャンプできるようにする

…rlやRubyを書くときはctags -eでTAGSを作っておいて、Emacs内ではM-x heml-etags-select(helm-command-prefix-key + e にbindされている)を使ってメソッド定義に飛んでいるのだけど、そういえばJSX用にそれが使えてない、というのに気付いた。適当にググったら https://github.com/jsx/jsx.vim/blob/master/ctags/jsx.conf っていうのが見つかって、まぁこれは違うJ…

Java Day Tokyo 2015に行ってきた

…いただいたので困ったときに参照しようと思う。 Java 8 Date and Time API の実践的なチートシートできたよ~ - tokuhirom's blog Date and Time APIが面倒に思える方への処方箋 - Programming Studio アプリケーションサーバの運用とかチューニングの話はまぁしっかりログ取得して可視化したりしましょうねっていう聞いたことのあるような話もあったりしつつ、jstatやらJMCやらJVMのモニタリングツールについては…

#perlcasual に参加してLTしてきた

…げに5年前の第1回のときから参加しているし縁のあるイベント。@yusukebe氏に感謝! 8月のYAPC::Asiaでは何も話せなかったけど、自分の開発環境についてアウトプットすることが全然なかったなーと思って、せっかくLTの機会をいただいたので自分のEmacs環境について話してきた。 EmacsでPerl - PerlCasual #06 たいして需要は無かったかもしれないけど とりあえずreveal.jsを使ってプレゼンを作ってみたいと思っていたのが実現したのと、デモ用の…

projectileをcache有効にして高速化

…カスタム変数があって、これをtrueにすれば~/.emacs.d/projectile.cacheというファイルにキャッシュを作成しそれを使ってファイル一覧を得るようになるらしい。 ただそのキャッシュファイルの更新はprojectile-modeに関連するhookで行っているようなので、globalでprojectile-modeをtrueにしておくべき、っぽい。 こうしておくと、新たにファイルを追加したり削除したりしたときも自動的にキャッシュを更新してくれるのが確認できた。

ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った

Go

…定してキャプチャしたときに非RetinaもRetinaなdpiが入ってしまうバグぽい動作があったりします。URL2014-07-14 14:46:38 via TweetDeck to @sugyan Linux というかX Window Systemでは、xwdというコマンドで指定したWINDOWIDの画面をダンプできる、ということなのでそれを使うことにした。 ただこれはxwdフォーマットという独自のビットマップ形式で保存されるので、それを読み取って画像データとして得るため…

pipeline and cancellation並行性パターンの勉強

Go

…unate1が起きたときにはcがcloseすることもなく走ってる処理が続くし、errUnfortunate2のときにも走ってるもの待ってからcloseすることになってしまったり、まだ正しく中断できているとは言えない。 並行化して走っている処理たちに中断されたことを知らせるために、もう一つchannelを用意してそれを使って判定するようにする。 func getDataChannel(done <-chan struct{}) (<-chan result, <-chan er…

はじめて、の次のGo

Go

…クロスコンパイルするときの障壁になるようなので避けることにした。 https://github.com/peco/peco/issues/102 https://code.google.com/p/go/issues/detail?id=6376 Stream API 普通にOAuth認証でのリクエストまでは問題ないとして、Stream APIに接続したときのレスポンスを継続して受け続けるために。 https://github.com/garyburd/twitterstre…

percolを使ってターミナル操作を早く、便利に。

…window数が多いときにpercolならインクリメンタルに絞り込みができるのと、tmux split-windowを使うことで現在のwindowが隠れることなく選択操作ができるようになるのが利点だと思う。 ちなみに、tmux list-windowsで表示される情報はwindow nameやpane情報だったりするのだけど、percolで絞り込むときなどは特に「そのwindowはどのディレクトリで作業しているものか」などもあった方が嬉しいので、 tmux list-wind…