Qt 5 の未来は明るいブログ

Qt Quick から Jubatus を使う

Published: 2013-06-09 / Last modified: 2013-06-09

Jubatus Casual Talks #1 に参加して以来こつこつと作っていた Jubatus Classifier の Qt 用のラッパが最低限の形になったので、 リポジトリを公開 してみました。

準備

あらかじめ Jubatus をインストール しておいてください。

ソースの取得

$ git clone git://git.qtquick.me/qmlplugins/jubatus.git

シャドウビルド〜インストール

$ mkdir build
$ cd build
$ qmake ../jubatus/
$ make
$ make install

サンプルのビルドと実行

$ make sub-examples
$ jubaclassifier -f ../jubatus/examples/cpp/classifier/gender/gender.json & 
$ ./examples/cpp/classifier/gender/jubatus-gender-widget

Qt Quick のサンプルの実行

$ ./examples/qml/classifier/gender/jubatus-gender-quick

Qt/C++ の API

QString や QList を Jubatus が使用している std::string や std::vector に変換しています。詳細は サンプルのソース をご覧ください。

Qt Quick の API

import QtJubatus 1.0 で Classifier エレメントが使用可能になります。

classifier.train('male', {"hair": "short", ...})
var results = classifier.classify({"hair": "short", ...})
for (var i in results) {
console.debug('%1(%2)'.arg(results[i].label).arg(results[i].score)) }

のようにシンプルに使えるようになっています。詳細は サンプルのソース をご覧ください。