CIFAR-10 データセット(Python を使用)

CIFAR-10 データセットを紹介する. 利用条件は利用者で確認すること.

目次

  1. 前準備
  2. CIFAR-10 データセットのロード
  3. CIFAR-10 データセットの確認

* CIFAR-10 データセット

CIFAR-10 データセット(Canadian Institute for Advanced Research, 10 classes)は,公開されているデータセット(オープンデータ)である.

CIFAR-10 データセット(Canadian Institute for Advanced Research, 10 classes) は,クラス数 10 の カラー画像と,各画像に付いたのラベルから構成されるデータセットである. 機械学習での画像分類の学習や検証に利用できる.

文献

Alex Krizhevsky, Vinod Nair, and Geoffrey Hinton. 'Learning multiple layers of features from tiny images', Alex Krizhevsky, 2009.

サイト内の関連ページ

関連する外部ページ

1. 前準備

Python の準備(Windows,Ubuntu 上)

サイト内の関連ページ

関連する外部ページPython の公式ページ: https://www.python.org/

TensorFlow, TensorFlow データセット, Keras, numpy, matplotlib のインストール

Windows の場合

Windows では,コマンドプロンプトを管理者として実行し, 次のコマンドを実行する.

Windowspip を実行するときは,コマンドプロンプト管理者として開き,それを使って pip を実行することにする.

python -m pip install -U tensorflow-gpu tensorflow_datasets keras numpy matplotlib

Windows での TensorFlow のインストールの詳細: 別ページ »で説明

(このページで,Build Tools for Visual Studio 2022,NVIDIA ドライバ, NVIDIA CUDA ツールキットNVIDIA cuDNNのインストールも説明している.)

Ubuntu の場合

Ubuntu では,次のコマンドを実行.

sudo apt -y update
sudo apt -y install python3-numpy python3-matplotlib
sudo pip3 install -U tensorflow-gpu tensorflow_datasets keras

Ubuntu での TensorFlow のインストールの詳細: 別ページ »で説明

(このページで,NVIDIA ドライバ, NVIDIA CUDA ツールキットNVIDIA cuDNNのインストールも説明している.)

2. CIFAR-10 データセットのロード

【Python の利用】

Python は,次のコマンドで起動できる.

Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.

Python のまとめ: 別ページ »にまとめ

  1. Windows で,コマンドプロンプトを実行.
  2. jupyter qtconsole の起動

    これ以降の操作は,jupyter qtconsole で行う.

    jupyter qtconsole
    

    Python 開発環境として,Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder のインストール

    Windows で,コマンドプロンプト管理者として実行し,次のコマンドを実行する.

    次のコマンドを実行することにより,pipとsetuptoolsを更新する,Jupyter Notebook,PyQt5、Spyderなどの主要なPython環境がインストールされる.

    python -m pip install -U pip setuptools requests notebook==6.5.7 jupyterlab jupyter jupyter-console jupytext PyQt5 nteract_on_jupyter spyder
    
  3. パッケージのインポート,TensorFlow のバージョン確認など
    import tensorflow as tf
    import numpy as np
    import tensorflow_datasets as tfds
    
    %matplotlib inline
    import matplotlib.pyplot as plt
    import warnings
    warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
    
  4. TensorFlow データセット から CIFAR-10 データセット をロード
    • x_train: サイズ 32 × 32 の50000枚のカラー画像
    • y_train: 50000枚のカラー画像それぞれの,種類番号(0 から 9 のどれか)
    • x_test: サイズ 32 × 32 の 10000枚のカラー画像
    • y_test: 10000枚のカラー画像それぞれの,種類番号(0 から 9 のどれか)

    結果は,TensorFlow の Tensor である.

    type は型,shape はサイズ,np.max と np.mi は最大値と最小値.

    tensorflow_datasets の loadで, 「batch_size = -1」を指定して,一括読み込みを行っている.

    cifar10, cifar10_metadata = tfds.load('cifar10', with_info = True, shuffle_files=True, as_supervised=True, batch_size = -1)
    x_train, y_train, x_test, y_test = cifar10['train'][0], cifar10['train'][1], cifar10['test'][0], cifar10['test'][1]
    print(cifar10_metadata)
    

3. CIFAR-10 データセットの確認