TAMALOG

プログラミングがあれば遠いところへ行けます。プログラムと人の共生を記録します。

NGT(高次元ベクトルデータ検索技術)をGolangでごまかして雑なJSON APIにする

類似画像検索システムに組み込むための高次元ベクトルデータ検索技術を探していました。Yahoo! Japanが開発したNGT(高次元ベクトルデータ検索技術)を見つけたので試してみます。 https://www.flickr.com/photos/21001756@N06/2087512650/ 表形式をJSON APIに…

高次元ベクトルデータ検索技術「NGT」の環境をDockerで爆速構築

類似画像検索システムを構築するにあたり、高次元ベクトルデータの検索にNGTを使いました。本稿では、NGTをDockerで使う方法を紹介します。

画像収集基盤の構築ログ10

目的 人の代わりに画像を集めてくれるシステムを構築すること。なお、個人的な趣味でイラスト画像を対象としている。 tamanobi.hatenablog.com 進捗 Dockerのネットワーク絡みの問題を解消 暫定的にローカルに保存していた画像をテーブルに格納した Viewのコ…

画像収集基盤の構築ログ9

目的 人の代わりに画像を集めてくれるシステムを構築すること。なお、個人的な趣味でイラスト画像を対象としている。 tamanobi.hatenablog.com 進捗 コンピュータの調子が悪く再起動したら動かなくなった Docker composeでアプリケーションが動くように整備…

画像収集基盤の構築ログ8

目的 人の代わりに画像を集めてくれるシステムを構築すること。なあ、個人的な趣味でイラスト画像を対象としている。 tamanobi.hatenablog.com 進捗 Jubatusの近似近傍探索を試した illustration2vecを使って1000次元弱の特徴量をJubatusに登録した 登録デー…

画像収集基盤の構築ログ7

目的 目的は、人間の代わりに画像を集めてきてくれるシステムを構築することです。個人的な趣味からイラスト画像を対象としています。 tamanobi.hatenablog.com 進捗 スクレイピングを試せるような管理画面を作成 これまでのCLIをウェブアプリ化 プレビュー(…

Alpine LinuxのRoswell環境をDockerで作った

複数のmacOSでLispプログラムを書くとき、環境を用意することが面倒なので、RoswellのDockerをAlpine Linuxベースで作成しました。デプロイ時にもコンテナがあれば便利ですね! https://hub.docker.com/r/tamanobi/alpine-roswell/ 今度はこのコンテナを使っ…

画像収集基盤の構築ログ6

目的 目的は、人間の代わりに画像を集めてきてくれるシステムを構築することです。個人的な趣味からイラスト画像を対象としています。 進捗 画像ストレージを用意するにあたってオブジェクトストレージを用意した RiakCSかCephを利用しようとしたが、ローカ…

画像収集基盤の構築ログ5

目的は、人間の代わりに画像を集めてきてくれるシステムを構築することです。個人的な趣味からイラスト画像を対象としています。 tamanobi.hatenablog.com 広告配信システムを構築し、十数年間運用してきた人と話す機会がありました。その人が構築したシステ…

画像収集基盤の構築ログ4

目的は、人間の代わりに画像を集めてきてくれるシステムを構築すること。個人的な趣味からイラスト画像を対象としている。 tamanobi.hatenablog.com 進捗 illustration2vecのタグ学習済みモデルの全結合層から特徴ベクトルを抽出 自動クロッピングのAPIを作…

画像収集基盤の構築ログ3

目的は、人間の代わりに画像を集めてきてくれるシステムを構築すること。個人的な趣味からイラスト画像を対象としている。 tamanobi.hatenablog.com まだ良いコードネームは思いつかない。 進捗 自動で画像収集を行い始めた エラーに対応できるようにスクリ…

画像収集基盤の構築ログ2

目的は、人間の代わりに画像を集めてきてくれるシステムを構築すること。個人的な趣味からイラスト画像を対象としている。 tamanobi.hatenablog.com 画像収集基盤という名前だが、何かコードネームが欲しい。 進捗 管理サーバーをインターネットに公開した i…

画像収集基盤の構築ログ1

自動画像収集基盤を作成しています。 収集基盤管理サーバー: Sinatra 動的サムネイル変換: thumbor クローラー+スクレイパー: Rubyスクリプト 画像メタ情報推定サーバー: Flask+illustration2vec DB: MySQL RubyはGemが充実しているので、最短時間が作れる…

A-FrameでWebVRを試した

A-Frameというライブラリを使って、WebVRを試しました。 aframe.io 説明 パブリックドメインの天球画像を使って、カメラ(自分)を取り囲むように画像を配置しています。 デモ パノラマギャラリー コード デモのコードはここから触れます。一部デッドコードが…

コードを書かずにHerokuボタンひとつでデプロイ!LINEチャットボットを試す全手順を公開

GitHubとHerokuを使ってLINE Messaging APIがどういうものか試せるようにしました。 この記事で何ができるようになるの? コードを書かずに、LINE上で動く超簡単なチャットボットが作れます LINEチャットボットの簡単な始め方がわかります この記事の目的 僕…

TensorFlow User Group #3に行ってきました

TensorFlow User Group#3に参加しました。TensorFlowはデータフローグラフを用いた数値演算ライブラリです(2月15日にv1.0が出ました)。機械学習、Deep Learning周りへ応用されています。詳しく知りたい人は、Talk about ML and DL for happy engineer’s life…

イベントレポート「Shibuya.lisp #48」

Shibuya.lisp #48に聴衆として参加しました。Shibuya.lispは、毎月開催されるLispユーザの交流の場です。僕が参加し始めたのは、Lisp Meet Up presented by Shibuya.lisp #38 - connpass からです。 lisp.connpass.com Shibuya.lispの参加者は年齢層が広く、…

イベントレポート「ゼロから始めるCommon Lisp入門」

1月9日に関内で行われた「ゼロから始めるCommon Lisp入門」へ行ってきました。参加を逃してしまった人は、大阪でも開催を予定しているのでぜひともそちらにご参加ください! peatix.com ゼロから始めるCommon Lisp入門(関西) | Peatixpeatix.com 講習会の…

『簡約! λカ娘』で、ラムダ式とチャーチ数がわかった

ラムダ式とチャーチ数、SKIコンビネーターが理解できる同人誌『簡約! λカ娘』を紹介します。先輩から勧められて読みました。先輩は良著と評していましたが、その通りとてもわかりやすかったです。 ラムダ式やチャーチ数、SKIコンビネーターなどの言葉は知っ…

ソフトウェア開発プロセスを学べる小説『デッドライン』を紹介します

会社で働くようになって、10ヶ月が経過しました。 関わったプロジェクト 会社では、以下のプロジェクトを担当し、遂行しました。 どのプロジェクトも、すでに存在するシステム上での構築だったため、既存のコードリーディングから行っています。 ある社内シ…

LINE BOTを触った

LINE BOTを始めとする、ChatBotは新しいインタフェースだと思っています。いろいろ調べたり、試したりしたリンクを貼っておきます。 inside.pixiv.net inside.pixiv.net

PHPのコードを静的解析する記事を『WEB+DB PRESS Vol.95』に執筆しました

縁あって、『WEB+DB PRESS Vol.95』に8ページの記事を書きました。 gihyo.jp プログラミングというのは、各個人がそれぞれ思想をもっていて、その表現(実装)方法は自由です。仕事であろうが、趣味であろうが、それは一緒です。ただし、思想が違うといって…

あなたはあなた

あなたが、感じたものを信じればいい。なぜなら、それ以外にあなたが信じられるものは何もないのだから。あなたは、他人の何がわかるというのだ。他人が見ている世界とあなたが見ている世界は違う。あなたを信じてくれるのは、あなたが唯一なのだ。 だから、…

考えるリンク

Rは分析用? プログラミングであることには変わりない R言語徹底解説を読む (1) ようこそRプログラミング - 僕らはRを愛しすぎてる 記事のタイトルから、R言語特化型かと思ったが、プログラミングの大切なことがさらっと詰まっている。記事中で紹介された、…

段取りをすると会議はすぐ終わる

会議を早く終わらせたいと思ったときに、何をすればいいのか。早口でまくし立てるようにしゃべる? それとも、すぐに多数決する? そうではない。 会議なんてみんな早く終わらせたいと思っている。会議を開いたことがある人はわかると思うが、会議で意見なん…

Common Lispを勉強するリンク集

Common Lispをこのごろ勉強していますが、ネット上に、まとまった情報があまり見当たりません。 ここでリンク集をまとめてみます。 入門記事は少ない割に、超絶技巧系の記事が多いように感じています。初学者が学びづらいのかなと思いますね。 入門できそう…

Common Lispの練習

Common Lisp(SBCL)で簡単なファイルダウンローダを作りました。複数のURLが書かれたファイルを渡すことで、それぞれファイルをダウンロードしてくれます。 https://github.com/tamanobi/uri-downloader 画像を集めるのに便利ですね。 僕はいつも右クリックし…

Macで使える便利なキーボードショートカット

テキスト編集中で使えるショートカットを示しておきます。 これを覚えると小指が痛くなります(笑)が、カーソルキーが遠く感じるようになると思います。カーソルキーは普段右手の仕事ですが、下に示したショートカットを使うと左手(小指)が仕事をするよう…

ノウハウ本の寒さ

年度末の金曜日。学生は大学の学業が一段落しているころですね。 「私は悲しいです。どうしてそう思ったか教えてもらえませんか?」というフレーズに白々しさを感じませんか? このフレーズは、後輩と読んでいた本に載っていたものです。その本は、少し前に…

コミケ(C89)に行きました

サークル参加(出展者)してきました。コミケは3日間あって、29日から31日にかけて開催されました。僕が出展したのは、3日目の31日木曜日です。 コミケに一般参加者として初参加したときに、コミケの虜になりました。僕はコミケが好きです!その魅力は、「自由…