ホーム » TensorFlow » TensorFlow : Tutorials : MNIST データ・ダウンロード

TensorFlow : Tutorials : MNIST データ・ダウンロード

TensorFlow : Tutorials : MNIST データダウンロード (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 02/15/2016

* 本ページは、TensorFlow の本家サイトの Tutorials – MNIST Data Download を翻訳した上で
適宜、補足説明したものです:
https://www.tensorflow.org/versions/master/tutorials/mnist/download/index.html
* サンプルコードの動作確認はしておりますが、適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 
前書き

Code: tensorflow/examples/tutorials/mnist/

このチュートリアルのゴールは(古典的な)MNIST データセットを使った手書き数字分類に必要なデータセット・ファイルをどのようにダウンロードするかを示すことです。

 

チュートリアル・ファイル

このチュートリアルは次のファイルを参照します :
(ファイル : 目的)
input_data.py : 訓練し評価するための MNIST データセットをダウンロードするコード

データの準備

MNIST は機械学習の古典的な問題です。問題は、0 から 9 までの全ての数字について、手書き数字のグレースケール 28×28 ピクセル画像を見て画像がどの数字を表しているかを決定するものです。

MNIST Digits

より詳細な情報は、Yann LeCun’s MNIST page または Chris Olah’s visualizations of MNIST を参照してください。

ダウンロード

Yann LeCun’s MNIST page はまたダウンロードのための訓練とテスト・データをホストしています。

(ファイル : 目的)

  • train-images-idx3-ubyte.gz : 訓練セット画像 – 55000 訓練画像、5000 検証画像
  • train-labels-idx1-ubyte.gz : 画像にマッチする訓練セット・ラベル
  • t10k-images-idx3-ubyte.gz : テストセット画像 – 10000 画像
  • t10k-labels-idx1-ubyte.gz : 画像にマッチするテストセット・ラベル

input_data.py ファイルにおいて、maybe_download() 関数がこれらのファイルが訓練のためにローカル・データ・フォルダにダウンロードされたことを保証します。

フォルダ名は fully_connected_feed.py の冒頭の flag 変数で指定され必要に応じて変更してかまいません。

Unpack と Reshape

ファイルそれら自身は標準画像フォーマットにあるわけではなく input_data.py の extract_images()extract_labels() 関数により(website で得られる指示に従ったコーディングという意味で)手作業で unpack されます。

画像データは 2d テンソル: [画像インデックス, ピクセル・インデックス] (そこでは各エントリは特定の画像の特定のピクセルの強度 (intensity) 値で、[0, 255] から [-0.5, 0.5] にスケール変更されています。(訳注 : コードでは [0.0, 1.0] に変換されているように見えます。))に抽出されます。”画像インデックス” はデータセットの画像に該当し、0 からデータセットのサイズまで数えられます。そして “ピクセル・インデックス” はその画像の特定のピクセルに相当し、0 から画像のピクセル数までの範囲があります。

そして train-* ファイルの 60000 サンプルは訓練用の 55000 サンプルと検証用の 5000 サンプルに分割されます。データセットの 28×28 ピクセル・グレースケール画像全てについて画像サイズは 784 でそして訓練セット画像のための出力テンソルは [55000, 784] の shape です。

ラベル・データは各サンプルのための値としてのクラス識別子とともに 1d テンソル: [画像インデックス] に抽出されます。訓練セット・ラベルについては、これは従って shape [55000] になります。

データセット・オブジェクト

基本的なコードは次のデータセットのために画像とラベルをダウンロードし、unpack し、そして reshape します :

(データセット : 目的)
data_sets.train : 55000 画像とラベル、主要な訓練のため。
data_sets.validation : 5000 画像とラベル、訓練の正確性の繰り返し検証のため。
data_sets.test : 10000 画像とラベル、訓練された正確性の最終テストのため。

read_data_sets() 関数はこれらの3つのデータセットのそれぞれための DataSet インスタンスとともに辞書を返します。DataSet.next_batch()メソッドは、実行中の TensorFlow セッションに供給される画像とラベルの batch_size リストからなるタプルを取得するために使用できます。

images_feed, labels_feed = data_set.next_batch(FLAGS.batch_size)
 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com