Java で行列の演算 - nd4j, commons-math, la4j, ujmp, jblas, colt

Java で以下のような行列の演算を複数のライブラリで試しました。 (a) 和 (b) 積 (c) 転置 とりあえず今回は、更新日が比較的新しめのライブラリを試してみました。 ND4J 0.6.0 Commons Math 3.6.1 la4j 0.6.0 UJMP 0.3.0 jblas 1.2.4 Colt Blazegraph 版 2.…

Lucene API で Solr と Elasticsearch のインデックスを確認

Groovy で Lucene の API を使用して Solr や Elasticsearch のインデックスの内容を確認してみました。(Lucene 6.2.1 の API を使用) ソースは http://github.com/fits/try_samples/tree/master/blog/20161024/ (a) ドキュメントの内容を出力 まずは、ド…

Deeplearning4J で MNIST を分類

「Deeplearning4J で iris を分類」 に続いて、畳み込みニューラルネットを使った MNIST の分類を試します。 Deeplearning4J 0.6.0 Deeplearning4J のバージョンが上がって、@Grab を使った Groovy 上での実行が上手くいかなかったので、今回は Kotlin で実…

Keras で MNIST を分類

「Keras で iris を分類」 に続き、今回は Keras で畳み込みニューラルネットを使った MNIST の分類を試してみました。 Keras 1.0.8 Python 3.5.2 ソースは http://github.com/fits/try_samples/tree/master/blog/20160920/ 準備 Docker で実行するための Do…

Gradle で ScalaPB を使う

前回と同様の処理を ScalaPB で行ってみました。 ScalaPB であればビルドツールに sbt を使う方が簡単かもしれませんが、引き続き Gradle を使います。 Gradle 3.0 ScalaPB 0.5.40 今回作成したソースは http://github.com/fits/try_samples/tree/master/blo…

Gradle で Protocol Buffers を使う - Java

Gradle を使って Protocol Buffers の protoc で Java ソースコードを生成し、ビルドしてみます。 Gradle 3.0 protoc-jar 3.0.0 protobuf-java 3.0.0 Gradle から protoc コマンドを呼び出す方法もありますが、今回は protoc-jar を使いました。 protoc-jar …

Axon Framework でイベントソーシング

Axon Fraework のイベントソーシング機能を軽く試してみました。 Axon Framework 3.0-M3 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20160815/ はじめに 今回は以下のような Gradle 用ビルド定義を使います。 lombok は必須ではあ…

Groovy の @Grab で Spark Framework を実行

Spark Framework - A tiny Java web framework を Groovy の @Grab を使って実行してみました。 Spark Framework 2.5 Groovy 2.4.7 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20160801/ はじめに 以下のように @Grab を使った Sp…

node-ffi で OpenCL を使う2 - 演算の実行

「node-ffi で OpenCL を使う」 に続き、Node.js を使って OpenCL の演算を実施してみます。 node-ffi サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20160725/ はじめに 演算の実行には ref-array モジュールを使った方が便利なた…

Docker で OpenCL の実行環境を構築 - pocl

前回の 「node-ffi で OpenCL を使う」 では Windows 上で Node.js から OpenCL の API を呼び出してみましたが、これを Linux 上で行うために OpenCL の実行環境を Docker で構築してみました。 OpenCL の実行環境として pocl を使い、Linux は Fedora を使…

node-ffi で OpenCL を使う

Windows 環境で node-ffi (Node.js Foreign Function Interface) を使って OpenCL の API を呼び出してみました。 Node.js v6.2.2 (64bit Windows版) node-ffi サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20160627/ なお、OpenC…

Keras で iris を分類

Theano・TensorFlow 用のディープラーニングライブラリ Keras を使って、階層型ニューラルネットによる iris の分類を試してみました。 Keras 1.0.3 Python 3.5.1 ソースは http://github.com/fits/try_samples/tree/master/blog/20160531/ 準備 今回は Dock…

JMX で Java Flight Recorder (JFR) を実行する

Java Flight Recorder (JFR) は Java Mission Control (jmc) や jcmd コマンドから実行できますが、今回は以下の MBean を使って JMX から実行してみます。 com.sun.management:type=DiagnosticCommand この MBean は以下のような操作を備えており(戻り…

JDI でオブジェクトの世代(Young・Old)を判別する2

前回 の処理を sun.jvm.hotspot.oops.ObjectHeap を使って高速化してみたいと思います。(世代の判別方法などは前回と同じ) 使用した環境は前回と同じです。 Groovy 2.4.6 Java SE 8u92 64bit版 (JDK) ソースは http://github.com/fits/try_samples/tree/…

JDI でオブジェクトの世代(Young・Old)を判別する

前回、オブジェクトの age を取得しましたが、同様の方法で今回はオブジェクトが Young 世代(New 領域)と Old 世代(Old 領域) のどちらに割り当てられているかを判別してみたいと思います。 (ただし、結果の正否は確認できていません) 使用した環境は…

JDI でオブジェクトの年齢(age)を取得

HotSpot VM の世代別 GC において、オブジェクト(インスタンス)には年齢 (age) が設定されており、Minor GC が適用される度にカウントアップされ、長命オブジェクトかどうかの判定に使われるとされています。 そこで今回は、Groovy で JDI (Java Debug …

Deeplearning4J で iris を分類

Deeplearning4J (DL4J) を使って 「ConvNetJS で iris を分類」 と同様に iris を分類してみました。 Deeplearning4J 0.4-rc3.8 今回は Groovy を使って実行します。 ソースは http://github.com/fits/try_samples/tree/master/blog/20160412/ 準備 iris …

ConvNetJS で MNIST を分類2 - 畳み込みニューラルネット

前回 の続きです。 今回は畳み込みニューラルネットを使って MNIST の手書き数字を分類してみます。 Node.js 5.8.0 ConvNetJS 0.3.0 ソースは http://github.com/fits/try_samples/tree/master/blog/20160328/ 準備 誤差・正解率のグラフ化と畳み込みフィル…

ConvNetJS で MNIST を分類1 - 階層型ニューラルネット

Node.js で ConvNetJS を使って MNIST の手書き数字を分類してみます。 今回は階層型ニューラルネット、次回は畳み込みニューラルネットを試す予定です。 Node.js 5.8.0 ConvNetJS 0.3.0 ソースは http://github.com/fits/try_samples/tree/master/blog/2016…

MNIST データセットをパースする

MNIST データセットは、THE MNIST DATABASE of handwritten digits からダウンロード可能な手書き数字のデータです。 機械学習ライブラリ等に標準で用意されてたりしますが、 今回は Node.js と Java でパースしてみました。 ソースは http://github.com/fit…

D3.js による折れ線グラフ SVG の作成と PNG 変換 - Node.js

前回、(ConvNetJS による処理結果を)折れ線グラフ化した方法に関して書いておきます。 D3.js ソースは http://github.com/fits/try_samples/tree/master/blog/20160222/ 準備 Node.js で D3.js を使うには、下記モジュールを npm でインストールします。 d…

ConvNetJS で iris を分類

ニューラルネット用の JavaScript ライブラリ ConvNetJS を使って iris の分類を行ってみました。 ConvNetJS 0.3.0 ConvNetJS は Web ブラウザ上でも実行できますが、今回は Node.js で実行します。 ソースは http://github.com/fits/try_samples/tree/maste…

PureScript で DOM を操作

PureScript の下記ライブラリを使って簡単な DOM 操作を試してみました。 purescript-dom purescript-simple-dom ソースは http://github.com/fits/try_samples/tree/master/blog/20160125/ はじめに PureScript を使って実装するものと同等の処理を JavaScr…

virtual-dom のイベント処理

仮想 DOM を扱うための JavaScript 用ライブラリ virtual-dom では ev-xxx (例. ev-click) でイベント処理を扱えるようになっていますが、実際に機能させるには dom-delegator が必要なようです。 virtual-dom 2.1.1 dom-delegator 13.1.0 virtual-dom は …

pulp を使った PureScript の開発

PureScript 用のビルドツールに pulp があります。 pulp を使えば PureScript v0.7 から多少面倒になったビルドや実行が比較的容易になります。 pulp インストール Node.js の npm で purescript (コンパイラ) と pulp をインストールします。 pulp インス…

Google Cloud Print を Web API で操作 - Unirest 使用

リフレッシュトークンを使って Google Cloud Print を Web API で操作してみます。 Google Cloud Print 以前、「Google アカウントで Google API を利用 - google-api-services-gmail」 では Apache HTTPClient を使いましたが、今回は Unirest を使っていま…

Android エミュレータの hosts ファイルを編集

Android エミュレータの hosts ファイルを編集する方法です。 以下のような方法が考えられます。 (a) shell で hosts へ行を追加 (b) pull と push で hosts を変更 (a) shell で hosts へ行を追加 行を追加するだけなら以下のように shell を使うだけです。…

Swift のビルド環境を Docker で構築

Ubuntu をベースとした Swift のビルド環境を Docker で構築してみました。 Swift 使用したソースは http://github.com/fits/try_samples/tree/master/blog/20151207/ Docker イメージ作成 ubuntu:15.10 のイメージをベースに Swift をセットアップしました…

Objective-C のビルド環境を Docker で構築

CentOS をベースとした Objective-C のビルド環境を Docker で構築してみました。 使用したソースは http://github.com/fits/try_samples/tree/master/blog/20151130/ Docker イメージ作成 今回は clang と GNUstep を使う事にします。 clang GNUstep バージ…

twemproxy + Redis 環境を Docker で構築

twemproxy(別名 nutcracker) + Redis の環境を Docker で構築してみます。 (twemproxy は memcached・Redis 用の軽量なプロキシです) twemproxy 使用した設定ファイル等は http://github.com/fits/try_samples/tree/master/blog/20151124/ Redis の Dock…