gocha124の日記

ごちゃごちゃ書きます

Java言語で学ぶデザインパターン入門 マルチスレッド編

結城浩Java言語で学ぶデザインパターン入門 マルチスレッド編を読みました。

java.util.concurrentパッケージが追加されたことで増補版がでたものです。

Javaを使用し始めた当時ではjava.util.concurrentパッケージなど無く、java.lang.Threadを使ってゼロからのプログラミングが要求されたけど、現在はパッケージを使うことで、より簡単に実装ができます。

ちょうど最近見ていた案件で、java.util.concurrentを使用したソースコードをメンテすることがあり、Java1.4時代で知識停滞している自分にとってjava.util.concurrent.Future、ExecutorServiceを使っての説明が参考になると思って読みました。

 

 

Java言語で学ぶリファクタリング入門

結城浩Java言語で学ぶリファクタリング入門を読みました。

案件では、じっくりとソースコードをメンテナンスする時間を取れない(取らないといけないのに。定時が終電のような状況では難しい)ので読んだだけ。いつか役立てれるときにもう一度読もう。

 

Java言語で学ぶリファクタリング入門

Java言語で学ぶリファクタリング入門

 

コンピュータビジョン

オライリーのコンピュータビジョンを読みました。

職場でまわりの人たちが画像認識、画像分析をやってるのですが、チンプンカンプンだったので勉強です。

画像からの特徴量抽出、画像分割、物体認識のさわりがぼんやりわかりました。今回読んだだけなのですが、pythonによるサンプルコードが充実しているので、理解の定着には是非手を動かしてみるとよいと思います。が動かせてません。

 

以下内容備忘のキーワードメモ。

 

2.画像の局所記述子
Harrisコーナー検出器
SIFT

 

3.画像間の写像

アフィン変換

 

4.カメラモデルと拡張現実感
カメラキャリブレーション
姿勢推定

 

5.多視点幾何学
エピポーラ線
エピ極
エピポーラ幾何
SVDで最小二乗推定

 

6.画像のクラスタリング
k平均法
階層クラスタリング
スペクトラルクラスタリング
特徴量ベクトルに平均RGB値とPCA係数

 

7.画像検索
SIFT記述子のような局所記述子
ビジュアルワード
bag_of_visual_wordrモデル

 

8.画像認識
k近傍法
密なSIFT特徴量ベクトル
ベイズ分類器
次元削減にPCA
SVM
多クラス問題の例、数独光学文字認識
マスの抽出、枠線
画像の位置合わせ

 

9.画像の領域分割(セグメンテーション)
前景、背景。個々の物体。
グラフカット

 

10.OpenCV
SURF特徴量
オプティカルフローは2枚の連続する画像間での物体の動き。画像上での移動を表す2Dのベクトル場
動画圧縮、動き推定、物体追跡、画像の領域分割に応用
コーナーの特徴点を追いかける

 

以上。

 

 

実践 コンピュータビジョン

実践 コンピュータビジョン

 

 

Javaの性能改善メモ

Javaプログラムの性能を改善したいが、うまく原因調査できておらず、行き当たりバッタリの手当てになっている。

JDKの基本的な情報、調査方法、改善方法を調べた内容をメモしておく。

 

★Setは集合、重複無し。
Listはリスト。
LinkedListとArrayList

Java6:ArrayListは500万件で200数十ms。LinkedListは200万で数十ms。

Java8:ArrayListは2億件で100数十ms。LinkedListは5000万で100数十ms。

ArrayList、LinkedListいずれも拡張forがよい。
LinkedListのget(i)はめちゃくちゃ遅いので単純なfor(ループカウンタ)も遅い。途中の要素追加がある場合に使える。
ArrayListのcontainsはだめ、HashSetを使う。

Mapの要素はkeySetではなくentrySetでまわす。

 

★初期容量の指定
負荷係数を考慮しないような指定(n * 4 / 3 + 1)
http://d.hatena.ne.jp/Kappuccino/touch/20080723/1216787927


1) Map<K,V> map = new HashMap<K,V>();
2) HashMap<K,V> map = new HashMap<K,V>();
JITでないと1は2に比べて2倍以上遅い。
http://developer.android.com/intl/ja/guide/practices/design/performance.html#myths

★オートボクシングによる暗黙のnew
数値が-128〜127はキャッシュだが、これ以外はnewされる。
trove。
hppc。

★スレッドダンプ、ヒープダンプ、GC
jstack、jmap
http://www.techscore.com/blog/2016/02/05/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%83%80%E3%83%B3%E3%83%97%E3%81%A7%E3%83%9C%E3%83%88%E3%83%AB%E3%83%8D%E3%83%83%E3%82%AF%E3%82%92%E8%AA%BF%E6%9F%BB%E3%81%97%E3%82%88%E3%81%86/


★CPU、I/O
uptime
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top

https://yakst.com/ja/posts/3601

告白

湊かなえの告白を読みました。

 

告白 (双葉文庫) (双葉文庫 み 21-1)

告白 (双葉文庫) (双葉文庫 み 21-1)

 

 

ニューラルネットワーク 計算知能

ニューラルネットワーク 計算知能を読みました。

ニューラルネットワークなど機械学習は、数式、理論など自分には未知ばかりです。特にわからないの応用。どういった分野にどのように適用しているか。本書は各章で適用したい事例に対してニューラルネットワークの設計、評価が書かれています。数式は分からないですが少し応用の概要わかりました。

以下キーワード。

 分割攻略アプローチ ファジー、動径基底関数RBFネットワーク、、結合荷重を誤差逆伝搬BPで調整。クレーンを制御するコントローラ。

量子描像ニューラルネットワーク、画像圧縮、倒立振子の振り上げ倒立安定化。

ニューラルカオス、カオスニューロン

PID制御、システムヤコビヤンの符号、遺伝的アルゴリズムで調整。

超音波モーターの制御、PIコントローラー。

自立飛行制御系。

漏洩音検出問題。

強化学習。

 

こちら。

 

ニューラルネットワーク計算知能

ニューラルネットワーク計算知能