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

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

AndroidのOreoまでと、かんたん機械学習の話を聞いてきた!

2017-10-09 18:44:54 | Weblog
10月9日
GDG DevFest Japan 2017
に行ってきた!まずは、午前中(お昼のLTまで。オープニングは遅刻してみなかった)
をメモメモ!




■Android1.5~8.0
・前半OSフレームワーク
・後半アプリ

Android oreo
ターゲットSDK26にする必要あり
Doze,Upstanby:使っていない時のバッテリー消費
バックグラウンドのデザイン原則
  Reduce
  Deffer
  coalesce

Bg.Activity Limitations
 Doze 50%
  PJ.svelte18%

・2009 OS 1.5 API LV3 CUPCAKE
 2009 OS 1.6 API LV4 DONUT 複数解像度、バッテリー
 2009 OS2.0/2.1 5~7 エクレア
   2.0 通知アイコン必須
       タスクキラーアプリ
   8.0 5秒以内にフォアグラウンドに(原則禁止)
 2010 2.2 FROYO
 2010 2.3 GINGERBREAD
パフォーマンス
 2.2 Dalvik
 2.3 ConcurrentGC
 5.0 ART
 7.0 ART + JITコンパイラ

 2011 3.x HONEYCOMB
 2011 4.0 ICE CREAM SANDWICH
 2012 4.1~4.3 JELLY BEAN
Unicode:絵文字
 4.3 Unicode6絵文字
 5.0 nonhuman
 6.0 Unicode7&8,ZWJ
 7.0 Unicode9 Human Shape & Skin tones
→キャリアで違う

 2013 4.4 KITKAT
  アラーム
   4.4 setWindow(),setExact()
   6.0 遅延、
 2014 5.0 LOLLIPOP UX変更64ビット
 WebView
 4.4 Chromium
 7.0 Chrome APK
 8.0 マルチプロセスモード
 
 2015 マシュマロ
  DOZE
  6.0 省電力機能
  7.0 ポケットにスマホいれても

 2016 NOUGAST
   AppIcon
 4.3 ミッドマップ
 7.1 ラウンドアイコン
 8.0 あ

 そして 8.0 OREO

 アプリの最適化

・後半 APIの進化
・自己紹介
・古いAPIからの振り返り
 ライフサイクル:1.5~あまり変わっていない
 アクティビティは絶えず状態が遷移する
  画面遷移
  端末の状態変化
  ほかのアプリの状態変化
 →少ないメモリ空間を効率的に使う
 端末の設定や状態の変化に追随しやすくなる仕組み

 アプリの固有な状態

 非同期処理:別スレッドで
 カップケーキから非同期処理(AsyncTask)
 AsyncTask
  アクティビティと密結合になりやすかった→Interface
  コールバックを弱参照で保持
 カップケーキのもうひとつの非同期処理IntentService
  UIと関係ない

・NetworkI/O
  Apache HttpClient
  Http(s)URLConnection

・DiskIO
 ファイルAPI
 SQLite
SharedPrefarence

・パフォーマンスモニタリング StrictMode

・AcyncTask:結果の戻し方
  →Loader:死んでいたらキャッシュする
  Lodercallback
  Loader
  Loadfinish

・Fragment
 目的
  使いまわすことのできるUIのまとまり
  UI使わない:SetRetainInstance(true)
 おさほうあ
 Supportライブラリ

・ろりぽっぷから変わる
  バックグラウンド処理→実行タイミングをよしなにはかる
  アラームマネージャー、ジョブスケジューラー、

・Dozeエンハンスメント
 バックグラウンド制限
  位置情報の制限
  インテントサービスも影響

・旧来のAPIの抽象化
  RecyclerView

・ライフサイクル抽象化
  アーキテクチャーコンポーネント
  AppCompatActivity

まとめ
・ベースはほぼおなじ
 画面や非同期処理のライフサイクルはほぼ変わっていない

・APIの複雑さ:抽象化

■GCPではじめるかんたん機械学習
・自己紹介
・機械学習ってなんだっけ
 機械学習とは:ただの関数です
 関数:
 機械学習でやりたいこと
  入力 X0,X1,
  出力 Y
 →既知の入力と出力
  出力結果が未知
  →入力があったとき、未知の出力を知りたい
   推論をする
 関数の中のパラメータ調整

 機械学習
  学習フェーズ
  推論フェーズ

 機械学習は何のパラメータを変えているの?
  既知のデータから境界線のパラメータを変えている

 機械学習VSルールベースアルゴリズム
  ルールベース:計算
  機械学習:既知データから自動で判別式を算出
 →現実のデータは、そんな簡単にルールがわからない

 ニューラルネットワーク
  境界線を引くのは同じ
  ニューロン:直線しかひけない→組み合わさると曲線が引ける
  やりすぎが起きてしまう

 精度の高い結果を得るには
  学習するデータ数
  モデルの設計
  演算能力
 結構大変!→そこでGCP

・GCPと機械学習
  APIが準備されている
  サーバーレス機械学習

 環境の使い分け
  使うだけ(学習不要・モデル不要)

  学習必要
   Scikit Learn
   TensorFlow
  →クラウドマシーンラーニング;

・GCPのML系のAPI
 Cloud Vision API
   ランドマークでぃてくション
   ラベルディテクション
   不適切画像検知
   OCR
   顔認識
   ロゴ認識

 ラベル検出
   VisionAPIでもできる マニアックさ

 自然言語処理
  感情分析:文章がポジティブか、ネガティブか?

 デモ bit.ly/nl-bubble


・ML API X GAE X Firebase
 デモアプリのアーキテクチャ
 GAEからFirebaseDBへインサート

 Firebase簡単

・Datalab X Big Query
 Jupyter Notebookのクラウド版
 →リアルタイムで結果を見える
 pandasからBigQueryクエリ実行

・GAEXMLエンジン
 GAE:あっぷえんじん
 Cloud MachineLearningEngin
  TensorFlowのフルマネージドサービス
  学習・推論のジョブが流せる
  APIでほかのシステムと連携できる

 pix2pix:Variableが200MBあって重い
 重いモデルをどうやって使う
  モバイルアプリに積むのはつらい
  GAEはTensorFlow動かない
  そうだMLエンジン

 GAEからOnlinePredictionAPIを使う

 MLエンジン
 https://qiita.com/hayatoy
 GCPと機械学習の良い本 11月

■LT
・OpenSUSEにのせる あとは調布
・Adaptive Iconについて
・Vector Drawable モーふぃんぐとかできるけど、むいていないものも
・Android Instant Apps 、Progressive Web Apps
・法律の話
・Polymer:Webコンポーネント:11月4日にPolymer Japanのイベント
この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« DockerとかImpara+kuduとか... | トップ | deeplearn.jsとか、今更聞け... »
最新の画像もっと見る

Weblog」カテゴリの最新記事