iMind Developers Blog

iMind開発者ブログ

機械学習

TensorFlow Liteでモデルのサイズを小さくする(v1.14.0)

概要 TensorFlow(Keras)で作ったモデルをTensorFlow Liteでコンバートする。 バージョン情報 tensorflow==1.14.0 この資料でやること TFLiteConverterには下記の4つのメソッドが用意されている。 from_frozen_graph from_keras_model_file from_saved_mode…

TensorBoardを使ってみる(v1.13.1)

概要 MNIST-fashionを例にTensorBoardで各種metrixを表示したり、画像を表示したり。 Keras利用。 バージョン情報 tensorboard==1.13.1 tensorflow==1.13.1 tf.keras.callbacks.TensorBoardの利用 tf.keras.callbacks.TensorBoard を設定しておくとmetricsの…

Open Image Dataset v5のデータを使って物体検知

概要 Open Image Dataset v5(以下OID)のデータを使って、SSDでObject Detectionする。 全クラスを学習するのは弊社の持っているリソースでは現実的ではない為、リンゴ、オレンジ、苺、バナナの4クラスだけで判定するモデルを作ってみる。 バージョン情報 P…

Tensorflow/modelsのdata augmentationの動きを確認する

概要 Tensorflowのmodelsのresearchのところにいる物体検知(object detection)系のコードで、data augmentation周りの処理がいろいろ用意されていたのでそれぞれの動きを確認しておく。 バージョン情報 Python 3.7.3 tensorflow-gpu==1.13.1 tensorflow/mo…

TFRecordの読み書き

概要 TensorFlowでTFRecordの読み書きをする。 バージョン情報 tensorflow==1.13.1 TFRecordとは 機械学習をする際に学習データがメモリに載せきれるようなサイズでない場合は、ストレージに置いておいて頻繁に読み込む必要がある。 TFRecordはその手の処理…

t-SNEによる高次元データの可視化

概要 t-SNEとPCAでMNISTの手書き文字やファッション画像を2〜3次元に圧縮して可視化してみる。 バージョン情報 scikit-learn==0.21.2 Keras==2.2.4 (fashion_mnistのデータセットで利用) 手書き文字 - t-SNE - 2次元 sklearn.datasetsのdigitsを使って2次元…

scikit-learnのPCAを使う

概要 PCAを使う用事があったのでscikit-learnを利用する。 バージョン情報 scikit-learn==0.21.2 Python 3.7.3 サンプルデータ ランダムにユーザーにアイテムを割り振るサンプルデータを生成してみる。 要件は下記。 ユーザー数は1万 アイテム数は3000 1ユー…

Open Image Dataset V5を使ってみる

概要 Open Image Dataset V5をダウンロードして中身を確認する。 BoxやSegmentationの情報をplotしてみる。 Open Image Dataset V5とは Googleが公開しているアノテーション付きの画像データ 600カテゴリ、1585万のボックス 350カテゴリ、278万のセグメンテ…

MLFlowを使ってみる3 - models

概要 MLFlowの機能をざっと試す第三弾。tracking、projectsと扱ってきたので今回は最後のmodelsについて。 modelsは生成したモデルをsave、load、predictなどの機能を持ち、コマンドラインで指定モデルを使ってpredictが実行できたりもする。 本稿では扱わな…

MLFlowを使ってみる2 - projects

概要 MLFlowの機能をざっと試す第二弾。前回はtrackingを扱ったので今回はprojects。 projectsはdockerやcondaでプロジェクトの管理ができる。本稿ではdockerは扱わずcondaを利用する。 バージョン情報 mlflow==1.0.0 experimentの生成 今回の例で利用するex…

MLFlowを使ってみる1 - tracking

概要 機械学習周りの処理のトラッキングとかモデルの管理をしたかったので比較的手軽に扱えそうなMLFlowを試してみる。 本稿では基本機能の1つであるtrackingを用いて、scikit-learnでパラメータを変えつつ学習を行い、モデルや結果を保存する。 バージョン…

gensimでword2vec

概要 Pythonでword2vecを実行する簡易な例として、gensimでWikipediaのリンク情報を用いて各記事の距離を出すコードを書く。 バージョン情報 Python 3.6.8 gensim==3.6.0 word2vec==0.9.4+2.g8204e5c 導入 必要なものはcondaで入れられる。gensimのword2vec…

Tensorflow2.0 alphaのBEGINNER TUTORIALSを読む - その2

概要 Tensorflow2.0のalpha版が出ていたのでBIGGINER TUTORIALSを読む。 バージョン情報 tensorflow-gpu==2.0.0a0 Python 3.7.3 読んだページ Get started with TensorFlow 2.0 for beginnersのクイックスタート、服の分類問題、回帰、モデルの保存とリスト…

FaceNetを動かしてみる

概要 顔認識システムのFaceNetを使って顔の距離計算をしてみる。 バージョン情報 FaceNet Latest commit 096ed77 on 17 Apr 2018 顔認証の実装について 顔認証が可能な実装として他にOpenFaceがある。アルゴリズムはFaceNetに近い。 FaceNetはTensorflowとPy…

Pythonで簡易な名前からの性別判定器を書く

概要 名前から性別を判定するのって簡単にできるのかな、ということで簡易な判定器を書いて試してみる。 バージョン情報 Python 3.6.8 scikit-learn==0.19.1 xgboost==0.72.1 テストデータ 名前一覧とか名前ランキング的なページをスクレイピングして27,326…