のどあめ

ググってもなかなか出てこなかった情報を垂れ流すブログ。

TransformerとSentencepieceでなんJスレタイ生成器を構築する(3回目)

なんJスレタイを生成するシリーズ3回目です。 おさらい なんJスレタイ生成とは ニューラルネットの文書生成を利用して、なんJのスレッドタイトルのような文書を生成します。 過去のシリーズ KerasとgensimでなんJスレタイ生成器を構築する(1回目) - のど…

(最終版)Karabiner-Elementsで「EISUU to Escape(入力ソースが日本語以外の場合のみ)」を実現する

以前に紹介したKarabinerの設定「EISUU to Escape(入力ソースが日本語以外の場合のみ)」をKarabiner-Elementsを使って実現する方法について、最終版と思える設定を実現できたため紹介します。 KarabinerのEISUU to Escape 以前の記事ではComplex Modificat…

【Swift】WKWebViewを使ってパワーポイントをPDFに変換する

以前開発したPDF Margin Adjusterについて、パワーポイントのファイルを直接読み込めるようにしてほしいという要望を頂きました。 なんとかそれらしいものを実装できましたが、意外と手こずったのでハマった部分などをまとめました。 前回の記事:PDFの余白…

AlphaZeroで最強のターン制ぷよぷよAIを作る!

最近こちらの本を読みました。 丁寧にAlphaZeroの解説が載っているので、AlphaZeroに興味ある方にはおすすめです。 www.borndigital.co.jp この本を読んでゲームAI作りたい欲が湧いてきたので、 今回はAlphaZeroでターン制ぷよぷよ(細かいルールは後述)の…

Tensorflow 2.0でなんJスレタイ生成器を構築する(2回目)

前回なんJスレタイ生成器を作る記事を書きましたが、 これには以下の問題がありました。 当時は train_on_batch の存在を知らずにゴリ押しでモデル学習をしていた 生成されるサンプルに多様性がなかった 今回Tensorflow 2.0を勉強するついでになんJスレタイ…

PDFの余白を調整するだけのアプリを作りました

最近論文を読むときはiPad + Apple Pencil + GoodNotes 4を使ってPDFにメモを書き込みながら読んでいます。 以前は紙に印刷して直接書き込んでいたのですが、この方法だと論文とメモをデジタルで残しておけるので非常に便利です。 しかし、1点だけ不満を思…

ReactNative + Expo.io で素早く画像認識アプリを作る

最近、顔の美しさをアノテーションしたデータセットSCUT-FBP5500-Databaseを知り、これでイケメン度・美女度判定アプリをつくったらウケるのでは?と考えたりしています。 これに限らず、ポケモン図鑑的な(写真をとったら何か結果を返してくれる)アプリは…

(続)macOS SierraでKarabinerの「EISUU to Escape(入力ソースが日本語以外の場合のみ)」を実現する

Deprecated もっと良い方法を見つけましたので、こちらを利用して下さい。 ykicisk.hatenablog.com 以下、元記事です。 以前の記事で、HammerspoonとKarabiner-Elementsを使って、 擬似的にKarabinerの「EISUU to Escape(入力ソースが日本語以外の場合のみ…

KerasとgensimでなんJスレタイ生成器を構築する(1回目)

最近リベンジしました ykicisk.hatenablog.com 初めて買ったGPU(GeForce GTX 1050 Ti)を試用するために、 Kerasとgensimを使ってなんJスレタイ生成器をつくってみました。 生成サンプルは以下のとおりです。似たようなものが多いですが、なんJ感がでていて…

macOS SierraでKarabinerの「EISUU to Escape(入力ソースが日本語以外の場合のみ)」を実現する

Deprecated もっと良い方法を見つけましたので、こちらを利用して下さい。 ykicisk.hatenablog.com 以下、元記事です。 macOS SierraからKarabinerが使えなくなりました。 公式サイトでは、Karabiner-Elementsへの移行を呼びかけていますが、 2017/09/16現在…

【Rust×WebAssembly】木構造グラフの描画でWebAssemblyの処理速度を検証

概要 力学的モデルを使った木構造グラフの描画を対象に JavaScriptとWebAssembly(WASM)の処理速度比較をした ノード数が大きいグラフの描画ではWebAssemblyのほうが1.7倍くらい早かった。 やりたいこと 過去に何人かの方がWebAssemblyとJavaScriptの処理速度…

【Rust×WebAssembly】Rust JavaScript間でデータをやり取りする

概要 WebAssemblyを使ってJavaScriptからRustの関数を使うときの話 JavaScript<->Rustのデータのやり取りをする方法をまとめました。 数値、String、Arrayで書き方が違うみたいです。 github.com 参考にしたページ https://sbfl.net/blog/2017/03/13/rust-wa…

【Tensorflow】TFRecordファイルでshuffle_batchしたときの偏り調査

Tensorflowでは色々な形式のデータのRead/Writeに対応しています。 これらの入力形式の中で最もスタンダードなのがTFRecord形式です。(とドキュメントに書いてました) TFRecord形式のファイルには、1つのファイルに複数のデータを格納できるので、 毎日大量…

開発合宿で作ったアプリをリリース && 地名から緯度経度を取得するAPIの比較

5月の連休中に、友人と温泉旅館でswift開発合宿をしました。 そこで作ったアプリを少しずつ肉付けして、本日ようやくAppleの審査を通過してリリースできました。 作ったアプリ: どこでも展望台 どこでも展望台Yohei Isekiナビゲーション無料 アプリ説明用画…

MessagePackでgolang-python間でデータ受け渡しする

データをバイナリファイルとして保存すると読み込みが早くて良いですが、 OSや言語が変わると読み込むことができません。 研究室時代には、この問題に対処するためにJSONとバイナリを保存しておいて、 バイナリファイルの読み込みに失敗したらJSONを読み込む…

golang + anacondaでTwitter Streamimg APIを使う

goのTwitter APIライブラリの一つとして、anacondaがあります。 最近まで(?)Streaming APIには対応されていなかったようですが、 ソースを見る限りすでにStreaming APIに対応するための実装があるようです。 GoDocを見ながら適当に実装してみたらちゃんと…

OpenCV 3.0で人物追跡したい!

最近社内でライトニングトークなるものがありました。 そのうち画像を使う機会がありそうで復習したかった半分、 OpenCV3.0使ってみたかった半分で単カメラの人物追跡をテーマに軽く解説をしてきました。 研究室時代ではいろんな論文の実装を組み込んで何と…

Web画像検索で画像を収集する

沢山の画像を利用して何やらしたい時があります. たいていはImageNetやFlickrで収集すれば良いのですが, 時には普通のWebで画像検索した結果を利用したいこともあります. 以前に,Web画像検索した結果を収集したい時の最適解はなんだろうと検討したことが…

OpenCV 3.0 で cvSegmentFGMask

OpenCV 3.0.0 では,IplImage,legacy関数などの1.x系のサポートがなくなっています. つまりcvHogehogeみたいな関数は使えません. たいていの機能はcv::Hogehogeみたいな関数が実装されているのですが,一部の関数は代替関数がなくて残念なことになる場合…

VisualStudioの理不尽な問題(の一部)に対処する

私は普段のプログラミング(C++)でVisual Studioを良く使っています. なんだかんだ言ってもIntelliSenseや高機能なデバッガは非常に便利です.今後Visual Studioがオープンソース化するということなので,楽しみであります. 参考:Microsoft takes .NET o…

OpenCV 3.0.0 beta で Dense samplingする

さて,先日の記事OpenCV 3.0.0 alpha で Dense samplingする - のどあめを書いたと思ったら,すぐにOpenCV 3.0.0 betaが出てしまいました. (リリース予定くらいは確認すべきでした)もちろん,研究室のうちのグループ(の私だけ)は,早速OpenCV 3.0.0 bet…

Boost.Pythonを使ってC++からSparse Codingする.

人生のうちで,1度や2度,C++のプログラムでSparseCodingしたいときがあると思います.しかし,昨今機械学習の分野で優遇されているのはPythonばかりです.Sparse CodingについてはPythonではscikit learnを使えば簡単に使えます. sklearn.decomposition.…

OpenCV 3.0.0 alpha で Dense samplingする

さて,OpenCV 3.0.0 alphaがリリースされて結構たちましたね. 研究室のうちのグループでは調子に乗って一足先にグループ内ライブラリにOpenCV 3.0.0-alphaを取り入れましたが,あれがないこれがない,などと色々と困ったことになったりしました.さて,その…

cv::SVMのsampleIdxの使い方

先日OpenCVのcv::SVMを使っていた時に、引数のsampleIdx(とvarIdx)の使い方がリファレンスに載っていなかったので、メモついでに記事にしました。 SVMとは (略) cv::SVMのコンストラクタもといtrainの引数について リファレンスによると、 cv::SVM::trai…

MinGWのg++でコンパイルしたstd::coutを含むプログラムが強制終了する問題について

MinGW + gVim + QuickRunでテストプログラムを動かす環境を整えてみたら、 何故かMinGWでコンパイルした一部のプログラムが強制終了することに気づきました。 #include <iostream> int main(){ std::cout << "a" << std::endl; return 0; } これが強制終了します(コン</iostream>…

VisualStudio 2012のデバッグ中にOpenCVのcv::Matの中身を確認する方法

私はVisualStudioの拡張機能であるImageWatchを使っています。 ImageWatchはOpenCVで読み込んだ画像などをデバッグ中に可視化する事ができます。 ImageWatchはとても便利なのですが、大きなCV_64Fの二次元のcv::Mat型などの中身を見るのには不便です。以下の…

Ubuntu 12.04(64bit)にjperlを導入する方法

ちょっと前にjperlなるものを使わざるを得ませんでした。 その時に導入に一晩くらいかかってしまったので、その詳細を書いておきます。 そもそも つまり、負の遺産というわけですね・・・ 今回の感想:perlは一生使わないと決めました。今回参考にしたWebペ…

挨拶

私がプログラミング等でつまずいたところをメモするブログです。 同じ問題で苦しんでいる人の助けになれば幸いです・・・が、私自身はいろいろと力不足なので突っ込んだ質問などには答えられないかもしれません。 動けばそれで良いのです。 もし、誤り等あれ…