こんにちは!今回は前回のcifar-datasetsで作った識別器を使って、画像の分類をしていきます。
前回の記事は以下から参照してください。
「Juliaで学ぶ画像処理〜cifar-datasetsでニューラルネットワーク〜」
また今回の記事ではプログラミング言語、Juliaを用いて進めていきます。Juliaについては以下の記事をご覧いただけたらと思います。
「プログラミング言語Juliaで学ぶ画像処理〜インストール、サンプル実行〜」
前回の記事は以下から参照してください。
「Juliaで学ぶ画像処理〜cifar-datasetsでニューラルネットワーク〜」
また今回の記事ではプログラミング言語、Juliaを用いて進めていきます。Juliaについては以下の記事をご覧いただけたらと思います。
「プログラミング言語Juliaで学ぶ画像処理〜インストール、サンプル実行〜」
1. 前回の復習
前回はcifar10と呼ばれるデータセットを用いてこれらを分類する識別器を学習により作りました。
今回はこれの識別がうまくできているかをテストデータを用いてチェックしたいと思います。
2. データの可視化
これが一番てこずりました。テストデータを写真で読み出すためにはtest.hdf5ファイルの中身からRGBの値を読みとり、それを目に見える形で出力する必要があります。
このtest.hdf5のデータの中身を少しみてみましょう。
hdf5のデータの中身を見るには"HDFView"をダウンロードして使います。HDFViewを起動し、test.hdf5を開いてみます。
このtest.hdf5のデータの中身を少しみてみましょう。
hdf5のデータの中身を見るには"HDFView"をダウンロードして使います。HDFViewを起動し、test.hdf5を開いてみます。
このようにピクセルごとにRGBで分けられたものがデータの数だけ縦に並んでおり、それに対応してラベルが当てられています。
それではこれを読みだしてみましょう。
それではこれを読みだしてみましょう。
これで209番目の画像が見えるはずです。しかしこれを実行しても何がなんだかわかりませんでした。
どうやら画素値をそのまま読みだしてもうまくいかないみたいです。なぜでしょう。
答えをいうと、JuliaでImageを出力する際は正規化をしなければいけないようです。つまり、画素値の大きさを0-1に設定する必要があるようです。いま、test.hdf5で読み込んだ値は0-255のスケールであったので、255でわって出力させてみます。
答えをいうと、JuliaでImageを出力する際は正規化をしなければいけないようです。つまり、画素値の大きさを0-1に設定する必要があるようです。いま、test.hdf5で読み込んだ値は0-255のスケールであったので、255でわって出力させてみます。