cifar10_eval.py で、自分で作った画像を使って評価するプログラム例が出ていたので、
試してみました。
参考にさせてもらったのは、こちらのページの
自前の画像で予測してみる ですが
http://blog.suprsonicjetboy.com/entry/2017/04/30/204951
実際に試してみると、saver = tf.train.Saver(variables_to_restore) エラーになりました。
なにか、Restore した形式と、合致していない云々...のエラーのような?
仕方が無いので、自分で色々トライ・アンド・エラーで試して、何分、TensorFlow の勉強を始めて、1ヶ月そこそこなので、何もわからず、しまいには、力仕事になりましたが、
どうにか実行できるようになりました。
結論を先に言ってしまえば、評価したい画像を tf.read_file()で読み込んで、
tf.image.decode_jpeg 等で加工するまでは良いのですが、
cifar10.inference() で渡す際には、128個のバッチ形式 にしないとエラーになるようです。
おんちゃんが CIFAR-10 のサンプルをダウンロードしたのが、2017/12/29 だったのですが、
どうやら、参考にしたサイトの CIFAR-10版 とおんちゃんがダウンロードした版とで処理内容が
変わっているようです。
それに対応したコードは、こちらです。
序に、具体的関数は、こちらです。
その後、cifar10.py で指定しているのが判かりました。
FLAGS.batch_size=128
cifar10_train.py を実行した時に、指定した値に合わせるみたいです。
H29年の暮れから、H30年の正月3ヶ日は、これで潰れました。
やれやれです。おんちゃんのH30年の正月もやっと迎えれます。
by おんちゃん 2018.1.3
後書き 1)
実際に試してみると、saver = tf.train.Saver(variables_to_restore) エラーになりました。
なにか、Restore した形式と、合致していない云々...のエラーのような?
後でこのログをよくよく見てみると、
local3/weights
とあるので、これは、
cifar10.py の inference() の中の、local3 の定義だと何と無く、見て取れます。
結局、該当箇所を、下記の様に変更すれば、1個の画像でもOKとなりました。
そうすると、結局、tf.expand_dims() で先頭に1次元追加の、擬似バッチで、OKになりした。