ISUCON9 予選敗退した

ISUCON9。今年は縁あって声かけていただき id:Soudai さんと id:kamipo さんと、「失敗から学ぶISUCONの正しい歩き方」というチームで出場した。 練習会 インターネット上でよく知っている人たちとはいえ 実際に一緒に仕事をしたことも無ければチームを組ん…

電子工作 5作目・Claw44

HelixPico、Mint60、ErgoDash、Corne Cherry に続いて、自作キーボード 5作目。 はじめての電子工作: HelixPico - すぎゃーんメモ 電子工作 2作目・Mint60 - すぎゃーんメモ 電子工作 3作目・ErgoDash - すぎゃーんメモ 電子工作 4作目・Corne Cherry - すぎ…

TensorFlow.jsがChromeでWebWorker上でもWebGL backendで動く

tensorflow.js は処理の重さ的に worker で動かしたいのだがまだ WebWorker で動かすと cpu backend に fallback してしまうので、この issue ずっとみてる https://t.co/KYGEQSFwq5— 無糖派層 (@mizchi) July 30, 2019 僕も以前にWebWorker上でTensorFlow.j…

TOKYO IDOL FESTIVAL のタイムテーブル画像化ツール 2019

来月開催のTOKYO IDOL FESTIVAL (#TIF2019)、自分の行きたいところだけ選んで組んだタイムテーブルをこんな感じに1枚絵の画像で生成できるWebアプリを今年も作りました。ご自由にお使いください https://t.co/OvzLbmHXGS #TIF2019_MyTT pic.twitter.com/gxO8…

AtCoder水色

今年の2月くらいから始めたAtCoderで、ようやく水色ランクに到達できた。 苦節4ヶ月半、ようやくAtCoder水色になれた…! pic.twitter.com/pzVb1kZP3L— すぎゃーん (@sugyan) June 22, 2019 水色 (Bランク R1200~1599 上位15%) 水色はかなり優秀です。 AtCode…

Google Code Jam 2019: Qualification Round

Google Code Jamに今年もチャレンジ。 (昨年の: Google Code Jam 2018: Qualification Round - すぎゃーんメモ) 最近少しずつ AtCoder や LeetCode をC++で解く練習をしているので今回のQualification RoundもC++でチャレンジ Foregone Solution 4 を無くせ…

GCPUG in Nara #3 で話をしました #gcpugnara

奈良で開催された「GCPUG in Nara #3 ~ GCPではじめる機械学習 ~」に、縁あってお声がけいただき 30分ほどお話をさせていただきました。 【奈良】GCPUG in Nara #3 ~ GCPではじめる機械学習 ~ - connpass 以前 Mix Leap Study #29 で話したときからあま…

将棋駒画像データセットを公開する

以前から少しずつ、将棋の駒を画像分類するためのデータセット作りをしていて 将棋駒画像の分類器をラクして作る - すぎゃーんメモ 斜めに写った画像をCanvasで矩形に補正する - すぎゃーんメモ 最初は自分のローカル環境でやっていたりしたけど やっぱりWeb…

YAPC::Tokyo 2019 に参加した

yapcjapan.org YAPC::Okinawaへの参加に続いて、今回も参加。 京都からの移動になんとなく夜行バスを使ってみたけど まぁまぁキツかった… #yapcjapan (@ Hulic Hall in 台東区, 東京都) https://t.co/UyYklpQ01h— すぎゃーん (@sugyan) January 26, 2019 ノ…

電子工作 4作目・Corne Cherry

HelixPico、Mint60、ErgoDash に続いて、自作キーボード 4作目。 はじめての電子工作: HelixPico - すぎゃーんメモ 電子工作 2作目・Mint60 - すぎゃーんメモ 電子工作 3作目・ErgoDash - すぎゃーんメモ 今回作ったのは Corne Cherry。 この記事はCorne Che…

Mix Leap Study #29 で話をしてきた #mixleap

大阪で開催された「Mix Leap Study #29 - Step up for TensorFlow」に、縁あってお声がけいただき 20分ほどお話をさせていただきました。 yahoo-osaka.connpass.com TensorFlow関連で、ってことで ここ数年〜最近で取り組んでいる趣味の画像認識について、デ…

ぼくのかんがえたさいきょうのキーマップ への挑戦

せっかく自作キーボードを使い始めてキーレイアウトが今までと変わったんだし、キーマップも変えて色々試してみよう、と思い 挑戦中。 以前までの使い方 今までの自分はMBP持ち歩いているとき以外はキーボードはHHKB(Professional? 英語配列のもの)を外付け…

電子工作 3作目・ErgoDash

HelixPico、Mint60 に続いて、自作キーボード 3作目。 はじめての電子工作: HelixPico - すぎゃーんメモ 電子工作 2作目・Mint60 - すぎゃーんメモ 今回作ったのは ErgoDash。 この記事はErgoDashを使って書いています。 booth.pm 本当はMint60より先に購入…

電子工作 2作目・Mint60

HelixPicoに続いて、自作キーボード 2作目。 memo.sugyan.com 今回作ったのは、ゆかり(id:eucalyn)さんの「Mint60」。 この記事はMint60を使って書いています。 eucalyn.hatenadiary.jp 少しお値段はするけど、必要なものが全部揃ってるスターターキットを購…

はじめての電子工作: HelixPico

HelixPico キーボードキット | 遊舎工房 なんとなく興味は持っていたものの第一歩を踏み込めずにいたのだけど、Twitterに書いたら一気に物事が進んだ。 最近すこしずつ自作キーボード挑戦してみたい気持ちが高まっている…— すぎゃーん (@sugyan) October 11,…

学習済みMobileNetV2モデルによる推論をTensorFlow.jsとWebWorkerを使ってブラウザ上で実行

将棋駒画像分類の話の続き。 memo.sugyan.com 学習させたモデルでの分類結果を実際に試すときに Web上でもインタラクティブに出来ると便利そう、と思ってやってみた。 学習させたMobileNetV2のモデルを使ってTensorFlow.jsでの推論をWebWorker経由で行わせて…

ISUCON8 予選敗退した

ISUCON8。 今年は予選日程の両日に奈良で開催のHackathonイベントのお手伝いをする用事が入ってしまい、参加不可能だな〜という雰囲気だったのだけど、 イベントの初日は午後からで最初はチームビルディングとかの時間で出番無いはずだし多少は動けるかも…?…

Hammerspoonを使ってキーボードショートカットでTwitter LiteにFocusする

Mac

Sierra以降、KeyRemapとLauncherを兼ねて Hammerspoon を使っている。 memo.sugyan.com local function launcher(mods, key, appname) hs.hotkey.bind(mods, key, function() hs.application.launchOrFocus('/Applications/' .. appname .. '.app') end) end…

斜めに写った画像をCanvasで矩形に補正する

将棋駒画像分類の話の続きのような、あんまり関係もないような。 memo.sugyan.com memo.sugyan.com 結局、素材を組み合わせて自動で生成しただけの駒画像ではやはりデータが足りていないようで、「やはりもっと様々な画像から人力でラベル付けしてデータセッ…

TOKYO IDOL FESTIVAL のタイムテーブル画像化ツール 2018

TOKYO IDOL FESTIVAL (#TIF2018)、自分の行きたいところだけ選んで組んだタイムテーブルをこんな感じに1枚絵の画像で生成できるWebアプリを今年も作りました。ご自由にお使いくださいhttps://t.co/YKIw7BRq5P pic.twitter.com/onxE9CIm2B— すぎゃーん (@sugy…

将棋駒画像分類をMobileNetV2で最初から学習させる

前回の将棋駒画像分類の話の続き。 memo.sugyan.com TensorFlow Hubの学習済みモデルを利用して 最終層にあたる部分だけ(?)を再学習させることで簡単に特定ドメインの画像分類のモデルを作成した。 …が、結果としてあまり精度が良くなくて、特に未学習の画…

interface要素を持つstructへのJSON Unmarshal

Go

ちょっとやり方が分からなくて調べたのでメモ。 例題 type hoge struct { Foo int `json:"foo"` Bar baz `json:"bar"` } type baz interface { hoge() } type fuga struct { Fuga string `json:"fuga"` } func (*fuga) hoge() {} という感じで "foo" は int …

Google Code Jam 2018: Round 1C

Google Code Jam の第1ラウンド。 ・予選のときの記事はこちら memo.sugyan.com Round 1は時間制限が2時間半、3回行われてどこか1つで上位1,500人に入れば次に進める、というもの。 多分毎回ここで脱落していた 1Aは土曜日の早朝で起きられなくて断念、1Bは…

将棋駒画像の分類器をラクして作る

ちょっと将棋関連の画像認識をやってみたいな、と思って。 理想的には、将棋の盤面の写真や盤面図の画像から認識を行い 盤面の状態をデータとして取得できるようにしたい。 となると、 入力画像から盤面の部分を検出し、切り出す 切り出した盤面をさらに、9x…

Google Code Jam 2018: Qualification Round

Google Code Jamに今年もチャレンジ。 (昨年の: Google Code Jam 2017: Qualification Round - すぎゃーんメモ) 今年もRubyで、と思って最初の問題を解いてコード提出してみたのだけど、Runtime Errorになって上手くいかなくて、なんで??と思ってPython3に…

YAPC::Okinawa 2018 に参加した

yapcjapan.org 一昨年のHokkaido、昨年のKansai、Fukuokaと参加できていなかったので YAPC::Japanのイベントは今回が初参加。 沖縄こそは行きたい! と思っていたので、ついに参加することができて嬉しいです。 もうPerlは全然書かなくなってしまったけど、…

df-pnアルゴリズムを用いた詰将棋Solverによる最善解・余詰の導出

以前書いた、詰将棋問題生成の続き。 memo.sugyan.com 逆算による詰将棋の問題生成の方法自体は悪くないとして (バグによって有り得ない局面が出来上がったりしてしまったりもしたけど)、正しく詰将棋問題として成立するものが出来上がっているかどうかを検…

ISUCON7 勝てなかった

ISUCON7に id:kazeburo さんと id:gfx さんと、チーム「スギャブロエックス」で出場して、入賞もならず、最終結果5位で終わりました。 うーん 悔しい。 お題 WebSocketで通信しつつ各ルームで複数のユーザが操作するので同期をとりながら値を更新していく、…

逆算方式による詰将棋の問題生成プログラム

将棋を始めた ので、詰将棋を毎日のように解いているのだけど、せっかくなら詰将棋の問題を自動生成してみたい、と思って試してみた。 前提知識 詰将棋とはどんなものか 攻め方(先手)が玉方(後手)の玉を詰ますのが目的。 攻め方は必ず王手をかける(玉方…

ISUCON7 予選通過した

ISUCON7に id:kazeburo さんと id:gfx さんと、チーム「スギャブロエックス」で出場して、2日目の上位3チーム枠の2位で予選通過しました。 isucon.net スコアの遷移は以下の通り、最終スコアは 522,461。 時刻 スコア 2017-10-22T13:06:44 6012 2017-10-22T1…