人工知能と競プロやってくブログ

深層学習・機械学習・AI・atcoder・競技プログラミングについて調べてやってみたことをまとめるブログです

KerasデータセットのCIFAR-100画像とクラス名を表示する簡単サンプル

f:id:uchidamax:20180116114500p:plain CIFAR-10画像の表示を作ったついでに、CIFAR-100画像の表示も作っておこうかと作りました。

CIFAR-100とは

一般物体認識のベンチマークとしてよく使われている画像データセット

特徴

  • 画像サイズは32ピクセルx32ピクセル
  • 全部で60000枚
  • 50000枚(各クラス5000枚)の訓練画像と10000枚(各クラス1000枚)のテスト画像に分割されている
  • クラスラベルは100クラスあり、それぞれ600枚づつ画像がある。
  • クラスラベルはスーパークラス20個とクラス100個。 詳細は下記。
スーパークラス クラス
海洋哺乳類 ビーバー, イルカ, カワウソ, アザラシ, 鯨
魚類 観賞魚, カレイ, エイ, サメ, マス
ラン, ひなげし, バラ, ヒマワリ, チューリップ
食品容器 ボトル, ボウル, カン, カップ, プレート
果物と野菜 リンゴ, キノコ, オレンジ, ナシ, ピーマン
家庭用電気機器 時計, コンピュータ・キーボード, ランプ, 電話, テレビ
家庭用家具 ベッド, 椅子, ソファー, テーブル, タンス
昆虫 蜂, カブトムシ, 蝶, 蝶等の幼虫, ゴキブリ
大きな肉食獣 クマ, ヒョウ, ライオン, 虎, 狼
大きな人造の屋外物 橋, 城, 家, 道, 超高層ビル
大きな自然野外シーン 雲, 森, 山, 平野, 海
大きな雑食動物と草食動物 ラクダ, 牛, チンパンジー, 象, カンガルー
中位の哺乳類 キツネ, ヤマアラシ, オポッサム, アライグマ, スカンク
昆虫でない無脊椎動物 カニ, ロブスター, カタツムリ, クモ, ワーム
人々 赤ちゃん, 少年, 少女, 男性, 女性
爬虫類 ワニ, 恐竜, トカゲ, ヘビ, 亀
小哺乳類 ハムスター, マウス, ウサギ, トガリネズミ, リス
カエデ, オーク, ヤシ, 松, 柳
乗り物 1 自転車, バス, オートバイ, ピックアップトラック, 電車
乗り物 2 芝刈り機, ロケット, 市街電車, タンク, トラク

CIFAR-100の画像とクラス名を表示するソースコード

jupyter notebook 

でjupyter notebookを起動してから使ってください。

参考

次のサイトを参考にさせていただきました。
感謝!!

tensorflow.classcat.com
CIFAR-100のクラス分類が一通り日本語でのってる!

corochann.com CIFAR-100の100個のクラス名の配列がのってて素晴らしい!

データセット - Keras Documentation

KerasデータセットのFashion-MNIST(ファッションMNIST)を表示する簡単サンプル

https://gyazo.com/89d86d31ed5558897ecb1caef98ba156

「お、こんなデータセットあるんだ!?」
とKerasのドキュメント読んでて知ったファッションMNIST。

知らなかったんで表示するコードをpythonで書いてみました。

Fashion-MNISTとは

ファッションの白黒画像を集めたデータセットで、MNISTのファッション版。
Zalandoの靴、服、鞄の画像データセットである。

特徴

  • 画像サイズは28ピクセルx28ピクセル
  • グレースケール画像
  • 訓練用画像60000枚、テスト用画像10000枚
  • クラスラベルは次の10クラス
    • [0] T-shirt/top(Tシャツ/トップス)
    • [1] Trouser(ズボン)
    • [2] Pullover(プルオーバー)
    • [3] Dress(ドレス)
    • [4] Coat(コート)
    • [5] Sandal(サンダル)
    • [6] Shirt(シャツ)
    • [7] Sneaker(スニーカー)
    • [8] Bag(バッグ)
    • [9] Ankle boot(アンクルブーツ)

Fashion-MNISTの画像とラベルを表示するソースコード

jupyter notebook 

でjupyter notebookを起動してから使ってください。

参考

次のサイトを参考にさせていただきました!
多謝!

http://tensorflow.classcat.com/category/fashion-mnist/

データセット - Keras Documentation

qiita.com 15位にFashion-MNISTが選ばれている。

jobs.zalando.com Fashion-MNISTの作成元。

CIFAR-10画像のラベル予測を一つ一つ表示する簡単サンプル

https://gyazo.com/b209037ac23ee815069ca28214db0669

画像ラベル予測をまとめて実行した結果の成績は良くサンプルコードで目にしますが、一つ一つの結果とどれを間違ったのかがよくわからないので作ってみました。
認識を間違った部分が赤文字で表示され、左にハズレの予測ラベル、右に正解のラベルが表示されます。

主要部分のソースコード

jupyter notebookを使っていますので

jupyter notebook 

を実行してから使ってください。

GitHubリポジトリ

github.com 予測に使用しているモデルファイルは、こちらに含まれています。

KerasデータセットのCIFAR-10画像とラベルを表示する簡単コード

https://gyazo.com/3678ceb0abf74ba91f34e8bb37233513

CIFAR-10サンプルの学習は回して見ても、データの中身はちゃんと見てなかったので作って見ました。
jupyter notebookを使用して作りました。

CIFAR-10とは

一般物体認識のベンチマークとしてよく使われている画像データセット

特徴

  • 画像サイズは32ピクセルx32ピクセル
  • 全部で60000枚
  • 50000枚(各クラス5000枚)の訓練画像と10000枚(各クラス1000枚)のテスト画像に分割されている
  • 80 million tiny imagesのサブセット
  • クラスラベルは次の10クラス
    • [0] airplane (飛行機)
    • [1] automobile (自動車)
    • [2] bird (鳥)
    • [3] cat (猫)
    • [4] deer (鹿)
    • [5] dog (犬)
    • [6] frog (カエル)
    • [7] horse (馬)
    • [8] ship (船)
    • [9] truck (トラック)

CIFAR-10の画像とラベルを表示する

jupyter notebook 

でjupyter notebookを起動してから使ってね。

kerasではCIFAR-10のラベル名を取得する方法がないっぽい

keras作者のfchollet氏も「CIFAR-10のサイト見ろよ」って言ってるから、そういうことっぽい。 github.com

参考

次のサイトを参考にさせていただきました。
感謝!!

aidiary.hatenablog.com "CIFAR-10とは"と"特徴"の部分を引用させてもらいました。

qiita.com

CIFAR-10 and CIFAR-100 datasets

ブラウザに手書きした数字をMNISTから深層学習したモデルで判定する簡単コード

https://gyazo.com/502c143ca80a90c6f00dec88d4c6ce3a
自分で書いた数字を、畳み込みニューラルネットワークでMNISTを学習したモデルで認識してみたかったんで作ってみましたよ。
Jupyter notebookでやってます。
Python 3以降。
深層学習ライブラリは、いつもどおりKeras。

ソースコード

GitHub

github.com 学習済みのバイナリも簡単に入手できた方が良いだろうなと思ったので、リポジトリ作りました。

参考

blog.sky-net.pw このコードを大変参考にさせていただきました!
ありがとうございます!

KerasでMNISTを学習したモデルを保存し、それを読み出して使う簡単サンプル

f:id:uchidamax:20171228213952p:plain

「まぁ出来るだろうなぁ……」とは思ってましたが、めんどうくさがって作ってなかったんで作ってみました。

MNISTをCNNで学習したモデルを保存する

kerasのexamplesに入ってるkeras_cnn.pyをちょっとだけ改造。
一番最後にmodel.save関数を追加して、学習したモデルをファイルとして保存します。
このコードを実行して学習が終わると"model_mnist_cnn.h5"というファイルが作成されます。

学習したモデルを読み込んでMNIST画像を認識させる

Jupyter notebookで動くコードが下記のもの。
先ほどの学習で作成された"model_mnist_cnn.h5"を読み込んで、MNISTの数値画像を判定させている。
In [3]:の部分を実行しなおすと結果が変わります。

参考

次のサイトを参考にさせてもらいました!
感謝!

github.com

github.com

FAQ - Keras Documentation

KerasのMNISTをJupyter Notebookで表示する簡単コード

もろもろ、お手軽実験にはJupyter Notebookが便利なんで、簡単サンプルを作りました。

matlabを使ってMNISTをJupyter Notebookに表示

表示するMNISTの手書きデータをランダムでとってきてるので、実行するたびに表示が変わります。
このコード貼るのにgistはじめて使ってみたけど、こりゃ便利ですね。
こういうのがあったのかー。

参考

次のサイトを参考にさせてもらいました。
感謝!

qiita.com

mashiroyuya.hatenablog.com