学習対象のデータ構造
と保存ファイル(データセット)の構造
の2つに分けて説明したいと思います。
学習対象のデータ構造
とは、機械学習の処理対象のデータ構造です。
MNISTでは「サイズ28*28で白黒256階調」の画像です。
また、1つの画像と1つのラベル(その画像が何を表しているか)は1対1で対応します。
たとえば「1っぽい画像」のラベル値は1
になります。
この「画像」と「ラベル値」の対応付けは、一般的には人間が行う必要があります。
この画像とラベルの組が複数まとまったものがデータセット
になります。
また、ここでのデータ構造(画像形式)は、全データセットで共通である必要があります。
もし異なるサイズなどの画像を用いたい場合は、あらかじめ28*28のサイズなりに正規化しておく必要があります。
ちなみにTensorFlow : Get Started : ML 初心者向けの MNIST
では、縦横2次元画像を、28*28=784個の要素数の1次元データ(=入力ノード)として扱っています。
次に保存ファイル(データセット)の構造
とは、データセットをファイルなどの外部に保存するためのデータ構造です。
これは、データセットの提供者が自由に決めることができます。
たとえば、以下のようなテキストCSVファイルでもよいです。
# 画像データ=28*28=784個の1byte16進値, ラベル10進値
00,01,0F,...,E0,1 # 1画像+ラベルデータ
00,05,08,...,F1,2
:
また、MNINST,CIFAR-10の具体的なデータ(ファイル)構造については以下が参考になります。
MNINST :MNISTにおける入力データの詳細
CIFAR-10:TensorFlowでデータの読み込み ― 画像を分類するCIFAR-10の基礎
たとえばMNISTでは画像とラベルを別ファイルに持たせており、画像とラベルは順序位置で対応しています。
以上より、あなた専用のデータセットの読み書き処理を用意すれば、MNISTと同じように扱うことができることが理解いただけるかと思います。
どのようなコードを書けばよいかは、実際のコードtensorflow/tensorflow/contrib/learn/python/learn/datasets/mnist.pyなどが参考になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/10 04:14
2017/05/10 04:31 編集
2017/05/11 03:11
2017/05/11 03:48
2017/05/11 13:56