ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

CDIについて聞いてきた

2017-05-18 15:58:07 | Weblog
5月17日、Java Day Tokyo2017に行ってきた!のさらなるつづき



■CDI 2.0 (JSR-365)

CDI
・ルーズカップリング
・DI
・EL式の統合
・イベント通知

CDI2,0
・さんしょうじっそう うぇるど
・JavaEE8のプラン
 今回のターゲットCDI2.0
 承認されました

CDI1.0
1.1,1.2で改良
 1.1でイベントの定義曖昧→1.2、2.0で明確に

CDI
  まねーじどびーん→今後はCDI

CDI2.0
 2年前とほぼほぼ同じ
 JavaSEでも使える
 Java8で実装される
→まだGlassFishには統合されていない

仕様が3分割 
・JavaSE JavaEE
    CDICore

・コアがおさえられるとOK
 JAX-RS→JavaSEでも動かせる
 JavaSEもいれてあげる
 APIが実装ごとにちがう
 マイクロプロファイルでも

・JavaSEサポート
 APIも実装依存

・CDIインターフェースのためのハンドル
 SeContainer Interface

・オートディスカバリ・明示的指定できる

・リクエストコンテキストのコントロール
 明示的に有効・無効にすることができる

・Java8
 ラムダ、ストリームAPI使える
 りぴーてぃんぐ クオリファイヤ

デモ

・イベント
 優先度をつける(イベントオーダリング)
  →同期イベントのみ
   デフォルトは2500
 非同期イベント
  イベントを創出した側のコンテキストを受け手でつかうX

・例外処理
 非同期イベントの例外→実行を止められない

・asyncはasyncでうける

・単純な置き換えはハマる→無理にしなくても。。。

・SEモードのとき
 リクエストコンテキストをアクティベートする

・ビルトインアノテーションリテラルとかは省略

・まとめ


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Deep Learning on Javaを聞いてきた!

2017-05-18 12:25:25 | Weblog
5月17日、Java Day Tokyo2017に行ってきた!のさらなるつづき




Deep Learning on Java
・自己紹介

・3をどのように定義するか
 定義が難しい
・犬は何
 尻尾のない犬
 いろいろの形状の犬
  →キツネと間違える
 ルール:例外があり、壊れてしまう
 →学習の仕方を一般化
・音声
 アコースティックなシグナル
 音:組み合わせて定義→認識可能なもの
 専門的な知識

 ソフトインプット:大きな進捗
 音声認識の正確度
 →大きな成果

・なにがおこった
 1、ビッグデータ
 2.早いハードウェア
 3、スマートなアルゴリズム

 トレーニングも進化
 ここ数年が成果

・マシーンラニングとは
 予測
 カテゴリー化
 異常
 パーソナライゼーション

・例
 たぎんぐ、まとめなおし、コンテンツ生成(れこめんでーしょん)
   コラボレートフィルタリング、

 手書き認識
 音声認識
 コンテンツ作成・合成

・人間のための
  Self improvement
  Language learning
  Computer Training

・テンソルとは何?
 テンソルとはn次元の配列

 エンコーディングする→テンソルつねにつかう

 リスト→2次元テンソル→多次元化

・画像:大規模テンソル、多次元ポイント
  ピクセル数1万→単一ポイントにおとしこむ:平均的

・Word2Vec:多次元ポイントにマッピング
  →2次元に落とす

機械学習のタイプ3つ
 教師あり:スーパーバイズド(ラベル+データ)
 教師なし:あんスーパーバイズド(ラベルなし)
 強化型:強化学習-未知の領域

教師あり学習
・回帰:データを合わせていく
・分類:データを分ける

・ウェイトがわかっていれば予測できる
 最後がラベル
 トータルエラーが閾値を超えたら、重み付けをかえる

・問題
 一般化
 線形でないとき
  ユニットを重ねる:ロジスティック回帰

・バックプロぱげーしょん(誤差逆伝搬法)
 1つ前にアップデート
 さいきゅう降下法:勾配が減る方向に

・LSVR:人間がラベルを与えている
  CNN:カーネル(畳み込み積分)
  畳み込みのカーネル
   ケニーエッジディテクター
   ガウシアンフィルター
   とか、そういうの
  それを組み合わせていく
  →特徴の組み合わせ
 →畳み込み積分の応用

 プーリング:ダウンサンプリング
  ドロップアウトさせ、過学習を避ける

・インセプションモデル
 学習済みモデル:一定のレベルまでいったものをつかう

・DeepLearning for Java
すかいまいんど
 ニューラルネットが作れる
 APIが提供されている
  ランダムシードで初期化
  学習:傾斜をたどる形で
 ハイパーパラメーター:えむねすと
URLは最後に紹介

・データサイエンス
 データ選択
 データ処理
  フォーマッティング。クリーニング
  サンプリング
 データトランスフォーメーション


 次元削減が大切

 グループわーけする
  テストセット:機械に見せない

・一般化と過学習
 この予測はどこまでの正確さが必要か

・適合性と再現率
 リコールの数:多い→どの患者もガンといえば、リコール率は高くなる
 プレシジョン:

・トレーニングの要件
 GPU→ROIの回収・クラウドいい?

・データの準備
 80%、90%の時間がかかる

・妥当性
 測定したいものを測定しているか(Testバリデーション)
 トレーニングデータの正確性とバイアスはないか(内部妥当性)
 一般化ができているか(外部妥当性)
 
・資料
 Andrew Ng's Machine Learning classおすすめ

・さんきゅー


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JavaEEでのWebアプリケーション開発を聞いてきた!

2017-05-18 09:02:56 | Weblog
5月17日、Java Day Tokyo2017に行ってきた!のさらなるつづき




■JavaEEで始めるWebアプリケーション開発
・自己紹介
 Oracleユニバーシティ
・本日話したいこと
 JavaEEとは
 Webアプリケーション
  開発手順
  つくる

・JavaEEとは
  JavaといってもSEとかEEとかある
  JavaEE:企業向けシステム提供、SEをもと
  SE:コアを提供ーきほんたりないところ
  コンポーネントとサービスアクセスしよう2つで定義
   →ながくつかってもらえるしくみ

・JavaEE7仕様群
  早く起動できる:プロファイル
    Webプロファイル
    フルプロファイル

 アプリケーションサーバー:環境を提供
  Tomcat,GlassFish
  ユーザーとのやり取り:Webアプリケーション
  作り方;コンポーネント
  リソース制御:お約束きめる:サービスアクセスAPI
 →プログラムをどうかくかを気にすればよい

・プログラムかく
  IDEいる
  JSF(Spring使ってもいいけど、今回の話と違う)
 動かすため
  アプリケーションサーバー:GlassFish,商用製品


・JSF
 Webアプリケーションの標準フレームワーク
 土台の部分の提供

・開発環境
 eclipse以外でも、今日はNetBeans
 NetBeansはGlassFishついている
 EclipseはOracle enterprise package for Eclipseを使う(英語)
  アプリケーションサーバー追加

・プロジェクトの作り方
 Mavenインストール

・JSFで開発するもの
  Facelet:画面定義(xhtml)
  管理Bean:遷移

・Faceletとは
 画面:
 タグ→Javaのクラスが作られている
 JSFページをFaceletで書いてみよう
  専用のタグを書く
 ネームスペースに書くものによって何を使えるかが指定される
 フォームの作成
 画面の遷移
   Actionに遷移先のページ名をかく
 リンク
   indexに戻る

・管理Bean
  JSFのマネージドBeanと
  CDIの管理Bean→こっちつかう(共通だから)
    スコープの指定
    制御
  スコープ;カンバセーション→区画内。特殊な期間を作れる
 2つのあのてーしょん
  @named:かんりびーんです
  @request-scope:スコープ

 引数なしのコンストラクタを必ず書く
 あくせさー用意する
 getMassage()

・EL式:JSFでは画面から管理Beanにアクセスするとき
 リターンで遷移先を書いておく

・デプロイ
  IDEでビルド、実行
・動かしてみよう

・MVCでコントローラーはいらない
  管理Beanはモデル

・JSFのライフサイクル
  アプリケーションサーバーで、エンコーディング指定

・かきかた
  複数チェック
  ふぁせっと
  みためをそろえる→テンプレート
  index.xhtmlにテンプレートを適用する

・JSF2.2ではHTML5サポート

・まとめ



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Java9と、そのあとの話を聞いてきた!

2017-05-18 02:51:17 | Weblog
5月17日、Java Day Tokyo2017に行ってきた!のつづき



■Java9 and Beyond:
Java Ranaissance in the Cloud

・Javaの技術:いえおんなところに
・Javaの問題点改善
  メモリ、静的リンク
 優先度:重要なのはセキュリティ
  サービス:数週間という要求→導入期間数週間
 ユーティリティコンピューティング
  信頼性、堅牢性
 コンテナの軽さ、マイクロサービス
 予見性
  メモリ管理、GC
 開発者へ影響度の少ないもの
 クラウドの拡張性
 アプリケーションのパフォーマンス

・Java9
 メインリリース
 モジュラー化:モジュールをカスタマイズした形で
 ぜひフィードバックください

・モジュラー化jigsaw
  パブリックAPIとプライベートAPI
 上位互換性担保するのが難しくなってきている
 Java9:カプセル化
  互換性重要

  セキュリティ
   モジュールシステム:アプリケーションが必要なものだけを

   →RMI:悪意のアタッカーがアタックしようとしても、RMIがなければできない

 Jりんく
  ツール
  コンパクトなイメージ作れる
  カスタム化が可能(アプリ必要なものだけ)
   ユニークなコンフィグレーション

・Java9 JVM
  プロファイリング
  カットパス
  JITコンパイル
 
 AOT
  静的なこんぱいる
  スタティックとダイナミックの統合

・JShell
 Javaですくりぷてぃんぐ

・G1ガベージコレクター
 拡張できる
 巨大なオブジェクトの場合

・JavaSEAdvanced
 ミッションクリティカル
 2つの機能
  Javaフライトレコーダー:最小限のオーバーレイ
  アドバンスド マネジメント コンソール

・サポート
 皆さんと一緒に考えていく

・フライトレコーダー
 情報収集
 時間短縮
 サービスはうまくいっているけど、クラッシュ→フライトレコーダー
 洗練されたコンソール
 どこでもんだいがおきているか、わかる
 なおして

・アドバンスドマネージメントコンソール
 サーバーとエージェント
 サーバーでエージェントの情報を統合

 デプロイメントルールセット
  特定のアプリケーションが、このランタイムをつかっていいという指定
  →セキュリティレベルが低いJavaに依存している場合

・9の先
 ユニフォームモデル:さまざまなタイプ
 メモリー:コンパクト
 相互互換性
 コンパチブル
 パフォーマンス

・ばるはら
 最適化している
 X Y2つのフィールド:Javaの領域いっぱいとってしまう
  →キャッシュ
  コンパクトなものを探している
  Cみたいに

・ぱなま
 GPU実装

・まとめ
 9すばらしいよ、9

・Q&A:スケーラビリティについて
 Java:ヒープのオブジェクト管理にかかわってくる
  →G1
   並行で実行できるようになる
 GPUのパフォーマンス改善も考えている
 密度化:メモリ
 →やることいっぱい。認識はしている

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする