TensFlow.jsのサンプルは、「tensorflow/tfjs-examples」ページで公開されています。以下はWindows上でTensFlow.jsサンプルを実行するまでの基本的な手順です。 [サンプルファイ […]
続きを読む月: 2018年10月
10_4 Node.jsのJavaScriptコードの記述と実行
Node.jsで実行するJavaScriptコードを記述します。 // Node.js用flickrapiモジュール const Flickr = require("flickrapi"); // N […]
続きを読む10_3 Webアプリ用のFlickr API KeyとSecretの入手
Node.jsアプリからFlickサイトにアクセス、ネコと犬の写真をダウンロードするので、Flickrで提供されているWeb APIを利用します。 そのためには、Flickrにアカウントを作る必要があります。この「Fli […]
続きを読む10_2 Node.js環境の作成
flickrサイトからネコと犬の画像をダウンロードし、適切なサイズに縮小して、フォルダ別に保存するという作業は、Webブラウザの環境でも行えないことはないでしょうが、それよりもNode.jsといううってつけのJavaSc […]
続きを読む10_1 Kerasモデルを訓練し、TensorFlow.jsモデルに変換して、サーバーに配置する
ネコと犬を区別するKerasモデルをインターネット上で探すと、「ardamavi/Dog-Cat-Classifier」というページが見つかったので、これを使わせてもらうことにします。ページ右端にある[Clone or […]
続きを読む10 flickrからテスト用データを入手する
訓練用データは品質の高いものを使う必要があります。しかし、訓練したモデルをテストしたい場合には、テスト用データの入手先としてflickrサイトを利用する手っ取り早い方法があります。 以降では、ネコと犬を判別するKeras […]
続きを読む9_2_3 Keras由来のモデルの使用
Webサーバーに置いたKeras由来のモデル(「oarriaga/face_classification」のモデルをtensorflowjs converterで変換したモデル)は、次のようなコードで読み込み、「fer2 […]
続きを読む9_2_2 表情認識用データの準備
Keras由来のモデルが手に入ったので、次はそのモデルを試すデータを入手します。 そのためには、「fer2013」のデータページにアクセスします。データのダウンロードにはユーザー登録が必要になります。ページ下部、左側に[ […]
続きを読む9_2_1 HDF5モデルの入手と配置
HDF5形式のモデルの入手先として、「oarriaga/face_classification」ページを利用することにします。ページ上部の右端に[Clone or download]ボタンがあるので、これをクリックし、Z […]
続きを読む9_2 Kerasモデルの利用
tensorflowjs converterを使用すると、Pythonで書かれたKerasモデルがTensorFlow.jsのモデルとして利用できるようになります。訓練済みで優秀なKerasモデルが利用できると、Tens […]
続きを読む9_1 tensorflowjs converterを使えるようにする
tensorflowjs converterを使えるようにするには、Pythonコードが実行できる環境が必要になります。 Anacondaのダウンロードとインストール Anaconda 3というPythonディストリビュ […]
続きを読む9 tensorflowjs converter
tensorflowjs converterを使用すると、Pythonコードで書かれたKerasモデルを、TensorFlow.jsに読み込めるモデルに変換して、TensorFlow.jsで使用することができます。 ただ […]
続きを読む8_3_2 姿勢検出(複数)
複数の姿勢検出には、posenetのestimateMultiplePoses()を使用します。判定する数の最大数はデフォルトで5なので、5を超える数の姿勢検出を行いたいときには、maxPoseDetectionsパラメ […]
続きを読む8_3_1 姿勢検出(1人)
手順としては、前のcoco-ssdと同様、[ファイルを選択]ボタンのクリックで画像ファイルを選択し、それをJavaScriptのイメージデータに変換します。そしてそれをposenetに渡します。 // PoseNetを読 […]
続きを読む8_3 posenet
「posenet」には、人間の姿勢が検出できるPoseNet Modelがあります。このモデルには、イメージやビデオ内の1人の人間の姿勢を検出するバージョンと、複数の姿勢を検出するバージョンがあります。 posenetを […]
続きを読む8_2_1 coco-ssd 物体検出アプリ
ブラウザ画面のボタンをクリックして写真を指定し、物体検出を行うアプリの作例です。 HTML: <input type="file" id="input-file"> & […]
続きを読む8_2 coco-ssd
COCOという名前のデータセットがあり、これは、物体の検出と切り出し(オブジェクトセグメンテーション)、説明付き(キャプショニング)の機械学習に利用できます。 TensorFlow.jsのcoco-ssdでは、このデータ […]
続きを読む8_1_3 画像認識モバイルアプリ
TensorFlow.jsのmobilenetを使って、何の画像かを認識するモバイルアプリを作成します。これは、具体的に言うと、mobilenetが利用するMobileNetsのV1モデルに、モバイルデバイスがHTMLの […]
続きを読む8_1_2 mobilenetのテスト
「mobilenet」にあるサンプルの簡単なテストです。 HTML <div class="photos"> <img src="images/1.jpg" id […]
続きを読む8-1 mobilenet
MobileNetsは、Googleがモバイル向けに作成した、画像処理アプリ用の畳み込みニューラルネットワークで、サイズが小さく、電池をあまり消費せず、そこそこ性能が良いという特長があります。 MobileNetsを使用 […]
続きを読む8 訓練済みモデルの利用
「tensorflow/tfjs-models」ページには、TensorFlow.jsで使用できる訓練済みモデルが掲載されています。 本記事執筆時点では、その中の「mobilenet」と「coco-ssd」、「posen […]
続きを読む7-7 手書き数字認識アプリ(UI考慮なし版)
最後に、手書き数字認識アプリの全コードを紹介しておきます。ただしUIを考慮していないバージョンです。 まず画面左上の[ファイル選択ボタン]でtrain-images.idx3-ubyteとtrain-labels.idx […]
続きを読む7-6 モデルの推測結果の表示
前回までで、モデルはテスト用データに対し97%ほどの精度で正解することが分かりました。以下では、テスト用データの画像と、モデルの出した答えを視覚的に比較します。 下図は実行結果の例です。データは100個表示しており、不正 […]
続きを読む7-5 モデルの構築と訓練
MNISTの訓練用とテスト用の画像データとラベルデータを表すtf.Tensorオブジェクト4つが作成できたので、次はモデルの構築と訓練です。 手書き数字の認識にどんなモデルが適しているのか、考えてもしかたないので、Ten […]
続きを読む7-4 MNISTデータをtf.Tensorオブジェクトに変換する
MNISTの画像とラベルデータの読み取りと取得ができたので、次はMNISTの4つのファイルを開いて必要なデータを取得し、それらをtf.Tensorオブジェクトに変換するまでを見ていきます。 4つのファイルの読み取りは1つ […]
続きを読む7-3 MNISTラベルデータを開いて中身を得る
いささかテクニカルではありますが、ラベルデータのtrain-labels.idx1-ubyteも同様の方法で開き、中身を得ることができます。「THE MNIST DATABASE of handwritten digit […]
続きを読む7-2 MNIST画像データを開いて中身を得る
「THE MNIST DATABASE of handwritten digits」ページからダウンロードし、Windowsなら7-Zipアプリなどで展開して現れたt10k-images.idx3-ubyte、t10k- […]
続きを読む7-1 MNISTデータセットとは?
MNISTデータセットには、 訓練用画像データ それに対応した訓練用ラベルデータ テスト用画像データ それに対応したテスト用ラベルデータ の4つのファイルがあり、「THE MNIST DATABASE of handwr […]
続きを読む7 MNISTデータと手書き数字認識アプリ
自分で描いた数字をアプリが何の数字か予測する手書き数字認識アプリは、機械学習を学習する上で、意欲の湧きそうなテーマです。 手書き数字認識アプリを作成するには、手で数字を書いたような画像データが必要になりますが、MNIST […]
続きを読む